[INFO] cloning repository https://github.com/johnmdonahue/drft-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/johnmdonahue/drft-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnmdonahue%2Fdrft-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnmdonahue%2Fdrft-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 40b71e34c25c0a8364433f4fc4bc561e7180cdd0
[INFO] testing johnmdonahue/drft-cli against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnmdonahue%2Fdrft-cli" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/johnmdonahue/drft-cli
[INFO] finished tweaking git repo https://github.com/johnmdonahue/drft-cli
[INFO] tweaked toml for git repo https://github.com/johnmdonahue/drft-cli written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/johnmdonahue/drft-cli on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/johnmdonahue/drft-cli already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f56f9b11980992bfd6a3cb36ef6f8859c41c9b1555264f9eb11c445474765afc
[INFO] running `Command { std: "docker" "start" "-a" "f56f9b11980992bfd6a3cb36ef6f8859c41c9b1555264f9eb11c445474765afc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f56f9b11980992bfd6a3cb36ef6f8859c41c9b1555264f9eb11c445474765afc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f56f9b11980992bfd6a3cb36ef6f8859c41c9b1555264f9eb11c445474765afc", kill_on_drop: false }`
[INFO] [stdout] f56f9b11980992bfd6a3cb36ef6f8859c41c9b1555264f9eb11c445474765afc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] afffd272896439414b0ce5c17c3b62c214db903e6d6de51617ac4e65aa1c8de9
[INFO] running `Command { std: "docker" "start" "-a" "afffd272896439414b0ce5c17c3b62c214db903e6d6de51617ac4e65aa1c8de9", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling serde_yml v0.0.12
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling pulldown-cmark v0.12.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling libyml v0.0.5
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.11.0
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling arrayref v0.3.9
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling blake3 v1.8.3
[INFO] [stderr]    Compiling notify-debouncer-mini v0.5.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling drft-cli v0.7.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.31s
[INFO] running `Command { std: "docker" "inspect" "afffd272896439414b0ce5c17c3b62c214db903e6d6de51617ac4e65aa1c8de9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "afffd272896439414b0ce5c17c3b62c214db903e6d6de51617ac4e65aa1c8de9", kill_on_drop: false }`
[INFO] [stdout] afffd272896439414b0ce5c17c3b62c214db903e6d6de51617ac4e65aa1c8de9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e2807d2723aba7679b72ed745d9fcfd0cf663fbaafcaafb158f920ed5c8ac4d9
[INFO] running `Command { std: "docker" "start" "-a" "e2807d2723aba7679b72ed745d9fcfd0cf663fbaafcaafb158f920ed5c8ac4d9", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling notify-debouncer-mini v0.5.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_yml v0.0.12
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling drft-cli v0.7.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 35.18s
[INFO] running `Command { std: "docker" "inspect" "e2807d2723aba7679b72ed745d9fcfd0cf663fbaafcaafb158f920ed5c8ac4d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2807d2723aba7679b72ed745d9fcfd0cf663fbaafcaafb158f920ed5c8ac4d9", kill_on_drop: false }`
[INFO] [stdout] e2807d2723aba7679b72ed745d9fcfd0cf663fbaafcaafb158f920ed5c8ac4d9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b64ba44829e7de012ba05165817216659a16471457e52e16c985d2eef552bfda
[INFO] running `Command { std: "docker" "start" "-a" "b64ba44829e7de012ba05165817216659a16471457e52e16c985d2eef552bfda", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/drft-c61ab75a083aa999)
[INFO] [stdout] 
[INFO] [stdout] running 173 tests
[INFO] [stdout] test analyses::betweenness::tests::empty_graph ... ok
[INFO] [stdout] test analyses::bridges::tests::single_node ... ok
[INFO] [stdout] test analyses::bridges::tests::linear_chain ... ok
[INFO] [stdout] test analyses::bridges::tests::star_graph ... ok
[INFO] [stdout] test analyses::betweenness::tests::hub_node ... ok
[INFO] [stdout] test analyses::connected_components::tests::external_edges_excluded ... ok
[INFO] [stdout] test analyses::connected_components::tests::isolated_node ... ok
[INFO] [stdout] test analyses::degree::tests::diamond_graph ... ok
[INFO] [stdout] test analyses::betweenness::tests::linear_chain ... ok
[INFO] [stdout] test analyses::connected_components::tests::two_components ... ok
[INFO] [stdout] test analyses::connected_components::tests::undirected_connectivity ... ok
[INFO] [stdout] test analyses::connected_components::tests::single_component ... ok
[INFO] [stdout] test analyses::betweenness::tests::single_node ... ok
[INFO] [stdout] test analyses::degree::tests::self_loop ... ok
[INFO] [stdout] test analyses::degree::tests::single_node ... ok
[INFO] [stdout] test analyses::degree::tests::counts_edges_to_external_targets ... ok
[INFO] [stdout] test analyses::change_propagation::tests::no_changes_when_unchanged ... ok
[INFO] [stdout] test analyses::change_propagation::tests::detects_deleted_file ... ok
[INFO] [stdout] test analyses::connected_components::tests::empty_graph ... ok
[INFO] [stdout] test analyses::degree::tests::empty_graph ... ok
[INFO] [stdout] test analyses::depth::tests::cycle_gets_depth_and_flag ... ok
[INFO] [stdout] test analyses::graph_stats::tests::empty_graph ... ok
[INFO] [stdout] test analyses::depth::tests::diamond ... ok
[INFO] [stdout] test analyses::depth::tests::empty_graph ... ok
[INFO] [stdout] test analyses::depth::tests::entirely_cyclic ... ok
[INFO] [stdout] test analyses::depth::tests::linear_chain ... ok
[INFO] [stdout] test analyses::bridges::tests::empty_graph ... ok
[INFO] [stdout] test analyses::graph_stats::tests::complete_bidirectional ... ok
[INFO] [stdout] test analyses::graph_stats::tests::cycle_has_diameter ... ok
[INFO] [stdout] test analyses::depth::tests::multiple_roots ... ok
[INFO] [stdout] test analyses::change_propagation::tests::no_lockfile_returns_empty ... ok
[INFO] [stdout] test analyses::bridges::tests::cycle_with_tail ... ok
[INFO] [stdout] test analyses::change_propagation::tests::detects_direct_and_transitive ... ok
[INFO] [stdout] test analyses::connected_components::tests::sorted_by_size_descending ... ok
[INFO] [stdout] test analyses::graph_stats::tests::single_node ... ok
[INFO] [stdout] test analyses::graph_stats::tests::linear_chain ... ok
[INFO] [stdout] test analyses::impact_radius::tests::cycle ... ok
[INFO] [stdout] test analyses::impact_radius::tests::empty_graph ... ok
[INFO] [stdout] test analyses::impact_radius::tests::diamond_graph ... ok
[INFO] [stdout] test analyses::degree::tests::sorted_by_path ... ok
[INFO] [stdout] test analyses::impact_radius::tests::external_edges_dont_create_nodes ... ok
[INFO] [stdout] test analyses::scc::tests::every_node_has_scc_id ... ok
[INFO] [stdout] test analyses::impact_radius::tests::linear_chain ... ok
[INFO] [stdout] test analyses::scc::tests::self_loop_is_nontrivial ... ok
[INFO] [stdout] test analyses::scc::tests::simple_cycle ... ok
[INFO] [stdout] test analyses::pagerank::tests::dangling_node ... ok
[INFO] [stdout] test analyses::scc::tests::empty_graph ... ok
[INFO] [stdout] test analyses::transitive_reduction::tests::no_redundancy ... ok
[INFO] [stdout] test analyses::scc::tests::two_separate_cycles ... ok
[INFO] [stdout] test analyses::transitive_reduction::tests::diamond_redundancy ... ok
[INFO] [stdout] test analyses::pagerank::tests::single_node ... ok
[INFO] [stdout] test analyses::transitive_reduction::tests::edge_to_missing_node_skipped ... ok
[INFO] [stdout] test analyses::scc::tests::dag_has_no_nontrivial_sccs ... ok
[INFO] [stdout] test analyses::pagerank::tests::two_nodes_with_link ... ok
[INFO] [stdout] test analyses::pagerank::tests::scores_sum_to_one ... ok
[INFO] [stdout] test analyses::pagerank::tests::empty_graph ... ok
[INFO] [stdout] test analyses::bridges::tests::cycle_has_no_bridges ... ok
[INFO] [stdout] test analyses::transitive_reduction::tests::disconnected_components ... ok
[INFO] [stdout] test analyses::scc::tests::mixed_cyclic_and_acyclic ... ok
[INFO] [stdout] test analyses::transitive_reduction::tests::self_loop_not_flagged ... ok
[INFO] [stdout] test config::tests::invalid_toml_returns_error ... ok
[INFO] [stdout] test analyses::transitive_reduction::tests::longer_chain ... ok
[INFO] [stdout] test config::tests::ignore_and_exclude_conflicts ... ok
[INFO] [stdout] test config::tests::loads_custom_rule ... ok
[INFO] [stdout] test config::tests::loads_include_exclude ... ok
[INFO] [stdout] test config::tests::loads_parser_shorthand_types_migrates_to_options ... ok
[INFO] [stdout] test config::tests::loads_rule_with_ignore ... ok
[INFO] [stdout] test config::tests::loads_parser_glob_migrates_to_files ... ok
[INFO] [stdout] test config::tests::loads_parser_options ... ok
[INFO] [stdout] test config::tests::loads_parser_table_with_files ... ok
[INFO] [stdout] test config::tests::child_without_config_errors ... ok
[INFO] [stdout] test analyses::transitive_reduction::tests::multiple_redundancies ... ok
[INFO] [stdout] test config::tests::errors_when_no_config ... ok
[INFO] [stdout] test config::tests::loads_rule_with_options ... ok
[INFO] [stdout] test config::tests::loads_parser_shorthand_bool ... ok
[INFO] [stdout] test config::tests::parser_false_disables ... ok
[INFO] [stdout] test diagnostic::tests::json_serialization ... ok
[INFO] [stdout] test diagnostic::tests::text_format_edge_rule ... ok
[INFO] [stdout] test config::tests::loads_rule_severities ... ok
[INFO] [stdout] test graph::tests::filter_by_multiple_parsers ... ok
[INFO] [stdout] test graph::tests::filter_empty_parsers_removes_all_edges ... ok
[INFO] [stdout] test graph::tests::filter_preserves_all_nodes ... ok
[INFO] [stdout] test graph::tests::fragment_edge_resolves_to_node ... ok
[INFO] [stdout] test graph::tests::graph_adjacency ... ok
[INFO] [stdout] test graph::tests::filter_rebuilds_adjacency_maps ... ok
[INFO] [stdout] test graph::tests::is_uri_rejects_bare_schemes ... ok
[INFO] [stdout] test graph::tests::is_uri_detects_schemes ... ok
[INFO] [stdout] test discovery::tests::discovers_through_nested_drft_toml ... ok
[INFO] [stdout] test graph::tests::normalize_dotdot ... ok
[INFO] [stdout] test graph::tests::normalize_deep_escape ... ok
[INFO] [stdout] test graph::tests::normalize_dot ... ok
[INFO] [stdout] test graph::tests::normalize_preserves_leading_dotdot ... ok
[INFO] [stdout] test graph::tests::normalize_drops_anchor_only ... ok
[INFO] [stdout] test config::tests::shorthand_rule_has_no_options ... ok
[INFO] [stdout] test discovery::tests::discovers_files_matching_include ... ok
[INFO] [stdout] test graph::tests::normalize_preserves_mailto ... ok
[INFO] [stdout] test graph::tests::normalize_drops_empty ... ok
[INFO] [stdout] test graph::tests::resolve_parent ... ok
[INFO] [stdout] test graph::tests::normalize_simple ... ok
[INFO] [stdout] test discovery::tests::multiple_include_patterns ... ok
[INFO] [stdout] test discovery::tests::respects_exclude_patterns ... ok
[INFO] [stdout] test discovery::tests::respects_gitignore ... ok
[INFO] [stdout] test graph::tests::normalize_escape_after_descent ... ok
[INFO] [stdout] test graph::tests::normalize_strips_fragment ... ok
[INFO] [stdout] test graph::tests::resolve_same_dir ... ok
[INFO] [stdout] test graph::tests::resolve_subdir ... ok
[INFO] [stdout] test lockfile::tests::deterministic_output ... ok
[INFO] [stdout] test lockfile::tests::no_edges_in_lockfile ... ok
[INFO] [stdout] test lockfile::tests::from_graph_produces_sorted_nodes ... ok
[INFO] [stdout] test lockfile::tests::parses_current_lockfile_version ... ok
[INFO] [stdout] test graph::tests::is_uri_rejects_paths ... ok
[INFO] [stdout] test graph::tests::filter_by_single_parser ... ok
[INFO] [stdout] test graph::tests::normalize_strips_uri_fragment ... ok
[INFO] [stdout] test lockfile::tests::read_missing_returns_none ... ok
[INFO] [stdout] test parsers::frontmatter::tests::frontmatter_skips_code_block_examples ... ok
[INFO] [stdout] test parsers::frontmatter::tests::extracts_frontmatter_links ... ok
[INFO] [stdout] test parsers::frontmatter::tests::no_metadata_without_frontmatter ... ok
[INFO] [stdout] test parsers::frontmatter::tests::parser_name ... ok
[INFO] [stdout] test parsers::frontmatter::tests::extracts_metadata ... ok
[INFO] [stdout] test parsers::frontmatter::tests::frontmatter_skips_non_paths ... ok
[INFO] [stdout] test parsers::frontmatter::tests::file_filter_restricts_matching ... ok
[INFO] [stdout] test parsers::frontmatter::tests::no_filter_matches_everything ... ok
[INFO] [stdout] test parsers::frontmatter::tests::accepts_paths_without_prefix ... ok
[INFO] [stdout] test lockfile::tests::write_and_read ... ok
[INFO] [stdout] test parsers::frontmatter::tests::metadata_handles_nested_yaml ... ok
[INFO] [stdout] test parsers::frontmatter::tests::emits_absolute_paths ... ok
[INFO] [stdout] test parsers::frontmatter::tests::skips_abbreviations_and_versions ... ok
[INFO] [stdout] test parsers::frontmatter::tests::skips_prose_with_spaces ... ok
[INFO] [stdout] test parsers::markdown::tests::emits_external_urls ... ok
[INFO] [stdout] test parsers::markdown::tests::extracts_image_links ... ok
[INFO] [stdout] test parsers::markdown::tests::emits_anchor_only ... ok
[INFO] [stdout] test parsers::markdown::tests::emits_mailto_links ... ok
[INFO] [stdout] test parsers::markdown::tests::extracts_reference_links ... ok
[INFO] [stdout] test parsers::markdown::tests::file_filter_restricts_matching ... ok
[INFO] [stdout] test parsers::frontmatter::tests::yaml_list_values_not_parsed_as_uris ... ok
[INFO] [stdout] test lockfile::tests::roundtrip_toml ... ok
[INFO] [stdout] test parsers::frontmatter::tests::extracts_same_directory_links ... ok
[INFO] [stdout] test parsers::markdown::tests::no_filter_matches_everything ... ok
[INFO] [stdout] test parsers::markdown::tests::extracts_inline_links ... ok
[INFO] [stdout] test parsers::markdown::tests::preserves_fragments ... ok
[INFO] [stdout] test parsers::markdown::tests::skips_email_links ... ok
[INFO] [stdout] test rules::custom::tests::handles_failing_script ... ok
[INFO] [stdout] test rules::custom::tests::runs_custom_script ... ok
[INFO] [stdout] test rules::custom::tests::resolves_command_relative_to_config_dir ... ok
[INFO] [stdout] test rules::fragmentation::tests::no_diagnostic_for_empty_graph ... ok
[INFO] [stdout] test rules::fragmentation::tests::no_diagnostic_when_connected ... ok
[INFO] [stdout] test rules::orphan_node::tests::root_node_is_not_orphan ... ok
[INFO] [stdout] test rules::fragmentation::tests::detects_fragmentation ... ok
[INFO] [stdout] test rules::directed_cycle::tests::no_cycle_in_dag ... ok
[INFO] [stdout] test rules::stale::tests::deleted_file_causes_staleness ... ok
[INFO] [stdout] test config::tests::ignore_migrates_to_exclude ... ok
[INFO] [stdout] test rules::schema_violation::tests::allowed_value_passes ... ok
[INFO] [stdout] test rules::schema_violation::tests::detects_missing_required_field ... ok
[INFO] [stdout] test rules::custom::tests::includes_analyses_in_graph_json ... ok
[INFO] [stdout] test rules::stale::tests::no_staleness_when_unchanged ... ok
[INFO] [stdout] test rules::custom::tests::passes_options_to_script ... ok
[INFO] [stdout] test rules::stale::tests::skips_when_no_lockfile ... ok
[INFO] [stdout] test rules::orphan_node::tests::detects_isolated_node ... ok
[INFO] [stdout] test rules::unresolved_edge::tests::no_diagnostic_for_found_target ... ok
[INFO] [stdout] test rules::stale::tests::detects_direct_and_transitive_staleness ... ok
[INFO] [stdout] test rules::directed_cycle::tests::ignores_broken_link_edges ... ok
[INFO] [stdout] test rules::directed_cycle::tests::detects_simple_cycle ... ok
[INFO] [stdout] test analyses::impact_radius::tests::single_node_no_edges ... ok
[INFO] [stdout] test rules::schema_violation::tests::passes_when_required_field_present ... ok
[INFO] [stdout] test rules::schema_violation::tests::skips_nodes_without_metadata ... ok
[INFO] [stdout] test rules::schema_violation::tests::detects_per_glob_required ... ok
[INFO] [stdout] test parsers::frontmatter::tests::extracts_uris ... ok
[INFO] [stdout] test rules::unresolved_edge::tests::detects_unresolved_edge ... ok
[INFO] [stdout] test rules::schema_violation::tests::no_options_no_diagnostics ... ok
[INFO] [stdout] test rules::unresolved_edge::tests::no_diagnostic_for_external_targets ... ok
[INFO] [stdout] test rules::symlink_edge::tests::detects_symlink_target ... ok
[INFO] [stdout] test rules::symlink_edge::tests::no_diagnostic_for_regular_file ... ok
[INFO] [stdout] test rules::schema_violation::tests::detects_disallowed_value ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 173 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/drft-28788bb2ce0ac4f0)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/check.rs (/opt/rustwide/target/debug/deps/check-ff3533df095d1918)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test no_config_exits_with_error ... ok
[INFO] [stdout] test scenario_4_cycle_detection ... ok
[INFO] [stdout] test scenario_3_broken_link_error_severity ... ok
[INFO] [stdout] test scenario_2_broken_link_json ... ok
[INFO] [stdout] test scenario_29_rule_filtering ... ok
[INFO] [stdout] test scenario_1_zero_setup_clean ... ok
[INFO] [stdout] test rule_parser_scoping ... ok
[INFO] [stdout] test scenario_2_broken_link ... ok
[INFO] [stdout] test rule_flag_overrides_off_to_warn ... ok
[INFO] [stdout] test scenario_7b_orphan_enabled ... ok
[INFO] [stdout] test scenario_23_orphan_warn_by_default ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/config.rs (/opt/rustwide/target/debug/deps/config-4772fa7f6d6f99df)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test config_show_defaults ... ok
[INFO] [stderr]      Running tests/custom_rules.rs (/opt/rustwide/target/debug/deps/custom_rules-46241e359f34758c)
[INFO] [stdout] test config_show_json_format ... ok
[INFO] [stdout] test config_show_with_config ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/graph.rs (/opt/rustwide/target/debug/deps/graph-d7c96d19e6ce9b82)
[INFO] [stdout] test custom_rule_integration ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test graph_unknown_parser_errors ... ok
[INFO] [stdout] test traversal_nested_escape_not_included ... ok
[INFO] [stdout] test traversal_absolute_path_not_included ... ok
[INFO] [stdout] test graph_parser_filter_reduces_edges ... ok
[INFO] [stdout] test graph_json_follows_jgf ... ok
[INFO] [stdout] test traversal_parent_escape_not_included ... ok
[INFO] [stdout] test traversal_symlink_escape_not_hashed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stderr]      Running tests/impact.rs (/opt/rustwide/target/debug/deps/impact-c233a8fbd785a3f9)
[INFO] [stdout] test impact_md_extension_fallback ... ok
[INFO] [stdout] test impact_shows_transitive_dependents ... ok
[INFO] [stdout] test impact_json_format ... ok
[INFO] [stdout] test impact_resolves_file_under_nested_drft_toml ... ok
[INFO] [stdout] test impact_parser_filter ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/init.rs (/opt/rustwide/target/debug/deps/init-768c2b3c00288c40)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test init_creates_config ... ok
[INFO] [stdout] test init_fails_if_exists ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lock.rs (/opt/rustwide/target/debug/deps/lock-27ec0ccc49e769e7)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test scenario_26_lock_check_no_lockfile ... ok
[INFO] [stdout] test scenario_25_lock_check_stale ... ok
[INFO] [stdout] test scenario_24_lock_check_current ... ok
[INFO] [stdout] test scenario_7a_file_removed ... ok
[INFO] [stdout] test scenario_5_first_lock ... ok
[INFO] [stdout] test scenario_6_staleness_after_edit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/output.rs (/opt/rustwide/target/debug/deps/output-2f504311f858e4c1)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test check_json_envelope_clean ... ok
[INFO] [stderr]      Running tests/parsers.rs (/opt/rustwide/target/debug/deps/parsers-52e30388410da01c)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test frontmatter_sources_create_edges ... ok
[INFO] [stdout] test custom_parser_batch_protocol ... ok
[INFO] [stdout] test wikilinks_custom_parser_creates_edges ... ok
[INFO] [stderr]      Running tests/report.rs (/opt/rustwide/target/debug/deps/report-f7af51cfff889376)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test report_filter_metric_only ... ok
[INFO] [stdout] test report_filter_analysis_only ... ok
[INFO] [stdout] test report_all_json_contains_analyses_and_metrics ... ok
[INFO] [stdout] test report_filter_mixed ... ok
[INFO] [stdout] test report_invalid_name_errors ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rules.rs (/opt/rustwide/target/debug/deps/rules-a5baace5aa5a1548)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test lockfile_contains_version ... ok
[INFO] [stdout] test ignore_rules_suppresses_diagnostics ... ok
[INFO] [stdout] test fragmentation_rule_fires ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests drft
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b64ba44829e7de012ba05165817216659a16471457e52e16c985d2eef552bfda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b64ba44829e7de012ba05165817216659a16471457e52e16c985d2eef552bfda", kill_on_drop: false }`
[INFO] [stdout] b64ba44829e7de012ba05165817216659a16471457e52e16c985d2eef552bfda
