[INFO] cloning repository https://github.com/c2j/codeweb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/c2j/codeweb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fc2j%2Fcodeweb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fc2j%2Fcodeweb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 15278912b93feaa66ab3c8c1dcd3486bd5707554
[INFO] testing c2j/codeweb against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fc2j%2Fcodeweb" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/c2j/codeweb
[INFO] finished tweaking git repo https://github.com/c2j/codeweb
[INFO] tweaked toml for git repo https://github.com/c2j/codeweb written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/c2j/codeweb on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/c2j/codeweb 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39
[INFO] running `Command { std: "docker" "start" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling cc v1.3.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling bstr v1.13.0
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling rand v0.8.7
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling arc-swap v1.9.2
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling base62 v2.2.4
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling portable-atomic v1.14.0
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling normpath v1.5.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling regex-automata v0.4.16
[INFO] [stderr]    Compiling tree-sitter v0.24.7
[INFO] [stderr]    Compiling tree-sitter-java v0.23.5
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.2
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling console v0.16.4
[INFO] [stderr]    Compiling quick-xml v0.41.0
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling globset v0.4.19
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling indicatif v0.18.6
[INFO] [stderr]    Compiling ignore v0.4.31
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling globwalk v0.8.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling rust-i18n v3.1.5
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling clap v4.6.4
[INFO] [stderr]    Compiling phf v0.11.3
[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 triomphe v0.1.16
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rust-i18n-support v3.1.5
[INFO] [stderr]    Compiling rust-i18n-macro v3.1.5
[INFO] [stderr]    Compiling ogsql-parser v0.10.0 (https://github.com/c2j/ogsql-parser?tag=v0.10.0#28b5b4ba)
[INFO] [stderr]    Compiling codeweb v0.9.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `node_sub_type_tag` is never used
[INFO] [stdout]    --> src/graph/mod.rs:752:8
[INFO] [stdout]     |
[INFO] [stdout] 752 | pub fn node_sub_type_tag(node: &Node) -> std::borrow::Cow<'static, str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `has_more` and `more_count` are never read
[INFO] [stdout]   --> src/graph/traverse.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct TreeNode {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub has_more: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub more_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 4m 03s
[INFO] running `Command { std: "docker" "inspect" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stdout] warning: function `node_sub_type_tag` is never used
[INFO] [stdout]    --> src/graph/mod.rs:752:8
[INFO] [stdout]     |
[INFO] [stdout] 752 | pub fn node_sub_type_tag(node: &Node) -> std::borrow::Cow<'static, str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `has_more` and `more_count` are never read
[INFO] [stdout]   --> src/graph/traverse.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct TreeNode {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub has_more: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub more_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling minreq v2.14.1
[INFO] [stderr]    Compiling codeweb v0.9.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `func_a`
[INFO] [stdout]     --> src/graph/store.rs:3557:13
[INFO] [stdout]      |
[INFO] [stdout] 3557 |         let func_a = graph.add_node(crate::graph::Node::Function {
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_a`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]     --> src/graph/store.rs:6614:13
[INFO] [stdout]      |
[INFO] [stdout] 6614 |         let loc = crate::graph::SourceLocation { file, line: 1 };
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_loc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `node_sub_type_tag` is never used
[INFO] [stdout]    --> src/graph/mod.rs:752:8
[INFO] [stdout]     |
[INFO] [stdout] 752 | pub fn node_sub_type_tag(node: &Node) -> std::borrow::Cow<'static, str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_view_node` is never used
[INFO] [stdout]     --> src/graph/store.rs:5306:8
[INFO] [stdout]      |
[INFO] [stdout] 5306 |     fn make_view_node(name: &str, schema: Option<&str>) -> crate::graph::Node {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sql_text_matches` is never used
[INFO] [stdout]    --> src/sql_match.rs:677:4
[INFO] [stdout]     |
[INFO] [stdout] 677 | fn sql_text_matches(sql_text: &str, query_lower: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 17s
[INFO] running `Command { std: "docker" "inspect" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: function `node_sub_type_tag` is never used
[INFO] [stderr]    --> src/graph/mod.rs:752:8
[INFO] [stderr]     |
[INFO] [stderr] 752 | pub fn node_sub_type_tag(node: &Node) -> std::borrow::Cow<'static, str> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `has_more` and `more_count` are never read
[INFO] [stderr]   --> src/graph/traverse.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub struct TreeNode {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub has_more: bool,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub more_count: usize,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `codeweb` (bin "codeweb") generated 2 warnings
[INFO] [stderr] warning: unused variable: `func_a`
[INFO] [stderr]     --> src/graph/store.rs:3557:13
[INFO] [stderr]      |
[INFO] [stderr] 3557 |         let func_a = graph.add_node(crate::graph::Node::Function {
[INFO] [stderr]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_a`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `loc`
[INFO] [stderr]     --> src/graph/store.rs:6614:13
[INFO] [stderr]      |
[INFO] [stderr] 6614 |         let loc = crate::graph::SourceLocation { file, line: 1 };
[INFO] [stderr]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_loc`
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_view_node` is never used
[INFO] [stderr]     --> src/graph/store.rs:5306:8
[INFO] [stderr]      |
[INFO] [stderr] 5306 |     fn make_view_node(name: &str, schema: Option<&str>) -> crate::graph::Node {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sql_text_matches` is never used
[INFO] [stderr]    --> src/sql_match.rs:677:4
[INFO] [stderr]     |
[INFO] [stderr] 677 | fn sql_text_matches(sql_text: &str, query_lower: &str) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `codeweb` (bin "codeweb" test) generated 5 warnings (1 duplicate) (run `cargo fix --bin "codeweb" -p codeweb --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.42s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/codeweb/5a4fe238da1f18c7/out/codeweb-5a4fe238da1f18c7)
[INFO] [stdout] 
[INFO] [stdout] running 785 tests
[INFO] [stdout] test export::json::tests::table_access_write_kinds_are_emitted_in_a_stable_order ... ok
[INFO] [stdout] test graph::builder::tests::comment_on_column_with_chinese_characters ... ok
[INFO] [stdout] test graph::builder::tests::builtin_function_captured_from_java_sql ... ok
[INFO] [stdout] test graph::builder::tests::builtin_edge_dedup_within_single_statement ... ok
[INFO] [stdout] test graph::builder::tests::builtin_function_captured_from_mapper_sql ... ok
[INFO] [stdout] test graph::builder::tests::builtin_function_captured_from_jsp_sql ... ok
[INFO] [stdout] test graph::builder::tests::create_sequence_creates_sequence_node ... ok
[INFO] [stdout] test graph::builder::tests::create_synonym_creates_synonym_node_and_aliases_edge ... ok
[INFO] [stdout] test graph::builder::tests::builtin_function_captured_as_node ... ok
[INFO] [stdout] test graph::builder::tests::create_materialized_view_creates_mview_node_and_table_access ... ok
[INFO] [stdout] test graph::builder::tests::create_type_creates_type_node ... ok
[INFO] [stdout] test graph::builder::tests::dbe_xmldom_calls_not_unresolved_in_build ... ok
[INFO] [stdout] test graph::builder::tests::comment_on_column_before_create_table_is_applied ... ok
[INFO] [stdout] test graph::builder::tests::create_table_produces_rich_table_node ... ok
[INFO] [stdout] test graph::builder::tests::create_table_merges_with_implicit_reference ... ok
[INFO] [stdout] test graph::builder::tests::ddl_does_not_promote_other_schema_inferred_sequence ... ok
[INFO] [stdout] test graph::builder::tests::dot_nextval_assignment_without_ddl_creates_inferred_sequence_node ... ok
[INFO] [stdout] test graph::builder::tests::duplicate_ibatis_files_produce_single_mapper_node ... ok
[INFO] [stdout] test graph::builder::tests::create_table_simple_no_partition ... ok
[INFO] [stdout] test graph::builder::tests::builtin_function_not_captured_as_call ... ok
[INFO] [stdout] test graph::builder::tests::function_call_in_expression_creates_edge ... ok
[INFO] [stdout] test graph::builder::tests::create_index_creates_index_node_and_indexes_table_edge ... ok
[INFO] [stdout] test graph::builder::tests::function_call_via_perform_creates_edge ... ok
[INFO] [stdout] test graph::builder::tests::format_survivor_diagnostic_no_s3 ... ok
[INFO] [stdout] test graph::builder::tests::format_survivor_diagnostic_with_s3 ... ok
[INFO] [stdout] test graph::builder::tests::bare_table_merged_into_view_and_schema_qualified_no_panic ... ok
[INFO] [stdout] test graph::builder::tests::duplicate_java_files_produce_single_javasql_node ... ok
[INFO] [stdout] test graph::builder::tests::builtin_node_cross_path_dedup ... ok
[INFO] [stdout] test graph::builder::tests::levenshtein_empty_vs_nonempty ... ok
[INFO] [stdout] test graph::builder::tests::gap_detection_creates_partial_nodes_for_missing_body_items ... ok
[INFO] [stdout] test graph::builder::tests::comment_on_column_populates_column_comment ... ok
[INFO] [stdout] test graph::builder::tests::levenshtein_one_edit ... ok
[INFO] [stdout] test graph::builder::tests::bare_name_table_merged_into_schema_qualified ... ok
[INFO] [stdout] test graph::builder::tests::merge_table_access_edges_leaves_no_duplicate_across_multiple_groups ... ok
[INFO] [stdout] test graph::builder::tests::comment_on_column_with_schema_qualifier ... ok
[INFO] [stdout] test graph::builder::tests::create_event_creates_event_node ... ok
[INFO] [stdout] test graph::builder::tests::levenshtein_identical ... ok
[INFO] [stdout] test graph::builder::tests::levenshtein_case_sensitive ... ok
[INFO] [stdout] test graph::builder::tests::hint_tablescan_creates_builtin_node ... ok
[INFO] [stdout] test graph::builder::tests::inferred_sequence_schema_qualified_ref_resolves ... ok
[INFO] [stdout] test graph::builder::tests::identical_duplicate_edges_are_dropped_but_distinguishable_ones_survive ... ok
[INFO] [stdout] test graph::builder::tests::nearest_routine_candidates_finds_close ... ok
[INFO] [stdout] test graph::builder::tests::nearest_routine_candidates_distant_returns_empty ... ok
[INFO] [stdout] test graph::builder::tests::noise_filter_keeps_user_routines_unfiltered ... ok
[INFO] [stdout] test graph::builder::tests::insert_values_nextval_without_ddl_creates_inferred_sequence_node ... ok
[INFO] [stdout] test graph::builder::tests::merge_table_access_unions_hard_filters_and_joins ... ok
[INFO] [stdout] test graph::builder::tests::noise_filter_preserves_prior_system_package_coverage ... ok
[INFO] [stdout] test graph::builder::tests::duplicate_java_methods_produce_single_method_node ... ok
[INFO] [stdout] test graph::builder::tests::levenshtein_insert_delete ... ok
[INFO] [stdout] test graph::builder::tests::hint_nestloop_creates_builtin_node ... ok
[INFO] [stdout] test graph::builder::tests::multi_hint_use_cplan_indexscan_not_combined ... ok
[INFO] [stdout] test graph::builder::tests::duplicate_java_classes_produce_single_class_node ... ok
[INFO] [stdout] test graph::builder::tests::noise_filter_recognizes_dbe_xmldom_builtins ... ok
[INFO] [stdout] test graph::builder::tests::noise_unresolved_system_function_removed ... ok
[INFO] [stdout] test graph::builder::tests::operator_all_creates_builtin_node ... ok
[INFO] [stdout] test graph::builder::tests::noise_rule_returns_reason_for_each_category ... ok
[INFO] [stdout] test graph::builder::tests::operator_any_creates_builtin_node ... ok
[INFO] [stdout] test graph::builder::tests::noise_unresolved_self_reference_removed ... ok
[INFO] [stdout] test graph::builder::tests::operator_exists_creates_builtin_node ... ok
[INFO] [stdout] test graph::builder::tests::operator_extraction_does_not_break_function_call ... ok
[INFO] [stdout] test graph::builder::tests::building_the_same_input_twice_yields_the_same_edge_order ... ok
[INFO] [stdout] test graph::builder::tests::operator_not_in_creates_builtin_node ... ok
[INFO] [stdout] test graph::builder::tests::operator_some_creates_builtin_node ... ok
[INFO] [stdout] test graph::builder::tests::package_body_procedure_calls_have_correct_caller ... ok
[INFO] [stdout] test graph::builder::tests::plsql_package_type_constructor_not_unresolved ... ok
[INFO] [stdout] test graph::builder::tests::plsql_varray_type_constructor_not_unresolved ... ok
[INFO] [stdout] test graph::builder::tests::operator_in_subquery_creates_builtin_node ... ok
[INFO] [stdout] test graph::builder::tests::package_body_creates_package_and_procedure_nodes ... ok
[INFO] [stdout] test graph::builder::tests::plsql_type_filter_does_not_suppress_real_call ... ok
[INFO] [stdout] test graph::builder::tests::plsql_index_by_type_declaration_no_unresolved ... ok
[INFO] [stdout] test graph::builder::tests::procedure_call_builtin_captured_as_node ... ok
[INFO] [stdout] test graph::builder::tests::procedure_predicates_are_collected_under_routine_node_key ... ok
[INFO] [stdout] test graph::builder::tests::procedure_referencing_type_creates_references_type_edge ... ok
[INFO] [stdout] test graph::builder::tests::procedure_using_dot_nextval_creates_uses_sequence_edge ... ok
[INFO] [stdout] test graph::builder::tests::procedure_using_nextval_creates_uses_sequence_edge ... ok
[INFO] [stdout] test graph::builder::tests::procedure_using_nextval_without_ddl_creates_inferred_sequence_node ... ok
[INFO] [stdout] test graph::builder::tests::qualified_sequence_ref_does_not_collapse_to_other_schemas_sequence ... ok
[INFO] [stdout] test graph::builder::tests::plsql_package_variable_collection_index_not_unresolved ... ok
[INFO] [stdout] test graph::builder::tests::select_dot_nextval_into_from_sys_dummy_creates_edge_with_ddl ... ok
[INFO] [stdout] test graph::builder::tests::qualified_table_into_view_merged_then_bare_into_qualified ... ok
[INFO] [stdout] test graph::builder::tests::plsql_table_of_type_constructor_not_unresolved ... ok
[INFO] [stdout] test graph::builder::tests::should_anchor_package_var_self_named_after_table ... ok
[INFO] [stdout] test graph::builder::tests::raise_statement_does_not_spawn_unresolved ... ok
[INFO] [stdout] test graph::builder::tests::should_not_create_anchor_edge_for_cursor_rowtype ... ok
[INFO] [stdout] test graph::builder::tests::should_skip_package_level_cursor_rowtype ... ok
[INFO] [stdout] test graph::builder::tests::predicates_stored_under_lowercase_node_key ... ok
[INFO] [stdout] test graph::builder::tests::should_anchor_package_level_variable_and_routine_signature ... ok
[INFO] [stdout] test graph::builder::tests::should_keep_table_access_and_anchor_edges_separate ... ok
[INFO] [stdout] test graph::builder::tests::should_skip_signature_anchor_to_package_cursor ... ok
[INFO] [stdout] test graph::builder::tests::should_inherit_spec_names_for_body_anchor_guards ... ok
[INFO] [stdout] test graph::builder::tests::should_create_anchor_edge_from_param_type ... ok
[INFO] [stdout] test graph::builder::tests::should_dedupe_signature_anchors_across_spec_and_body ... ok
[INFO] [stdout] test graph::builder::tests::should_anchor_package_level_nested_type ... ok
[INFO] [stdout] test graph::builder::tests::should_skip_package_var_anchored_to_earlier_package_var ... ok
[INFO] [stdout] test graph::builder::tests::should_create_anchor_edge_from_function_return_type ... ok
[INFO] [stdout] test graph::builder::tests::should_skip_signature_anchor_to_package_type_and_variable ... ok
[INFO] [stdout] test graph::builder::tests::should_still_anchor_param_named_after_table ... ok
[INFO] [stdout] test graph::builder::tests::should_skip_type_anchored_to_package_level_record ... ok
[INFO] [stdout] test graph::builder::tests::should_skip_type_anchored_to_param_name ... ok
[INFO] [stdout] test graph::builder::tests::spec_declared_collection_var_visible_in_body_no_unresolved ... ok
[INFO] [stdout] test graph::builder::tests::table_created_before_view_definition_gets_merged ... ok
[INFO] [stdout] test graph::builder::tests::spec_declared_var_visible_in_body_with_pkg_name_case_mismatch ... ok
[INFO] [stdout] test graph::builder::tests::standalone_call_to_package_routine_resolves ... ok
[INFO] [stdout] test graph::builder::tests::table_name_case_insensitive_dedup ... ok
[INFO] [stdout] test graph::builder::tests::trigger_creates_trigger_node_and_edge ... ok
[INFO] [stdout] test graph::builder::tests::try_resolve_routine_miss_has_correct_trace ... ok
[INFO] [stdout] test graph::builder::tests::try_resolve_routine_resolved_returns_correct_idx ... ok
[INFO] [stdout] test graph::builder::tests::try_resolve_routine_ambiguous_bare_resolves_via_s7 ... ok
[INFO] [stdout] test graph::builder::tests::two_schema_qualified_inferred_sequence_refs_create_distinct_nodes ... ok
[INFO] [stdout] test graph::builder::tests::unresolved_call_to_function_resolved_via_kind_swap ... ok
[INFO] [stdout] test graph::cluster::tests::bench_cnm_large_graph ... ignored
[INFO] [stdout] test graph::cluster::tests::cluster_cnm_force_k_ignores_max_iterations ... ok
[INFO] [stdout] test graph::cluster::tests::auto_partition_with_progress_runs_full_sweep ... ok
[INFO] [stdout] test graph::builder::tests::view_extracts_explicit_column_list ... ok
[INFO] [stdout] test graph::builder::tests::unresolved_creation_suffix_includes_parsed_and_snippet ... ok
[INFO] [stdout] test graph::builder::tests::unresolved_creation_suffix_none_yields_empty ... ok
[INFO] [stdout] test graph::builder::tests::view_extracts_columns_from_select_targets ... ok
[INFO] [stdout] test graph::builder::tests::two_chunk_duplicate_references_share_single_inferred_sequence ... ok
[INFO] [stdout] test graph::builder::tests::view_has_file_location ... ok
[INFO] [stdout] test graph::builder::tests::view_stores_ddl_source ... ok
[INFO] [stdout] test graph::builder::tests::two_chunk_reference_then_ddl_promotes_inferred_sequence ... ok
[INFO] [stdout] test graph::builder::tests::unresolved_call_case_insensitive_resolved ... ok
[INFO] [stdout] test graph::builder::tests::unresolved_creation_suffix_only_snippet_when_no_parsed ... ok
[INFO] [stdout] test graph::builder::tests::view_and_table_reference_dedup_case_insensitive ... ok
[INFO] [stdout] test graph::builder::tests::view_creates_view_node_and_table_refs ... ok
[INFO] [stdout] test graph::builder::tests::view_select_star_has_empty_columns ... ok
[INFO] [stdout] test graph::cluster::tests::cluster_cnm_respects_max_iterations_in_natural_mode ... ok
[INFO] [stdout] test graph::cluster::tests::adaptive_k_sweep_skips_aggressive_values_on_large_graphs ... ok
[INFO] [stdout] test graph::cluster::tests::cluster_cnm_min_delta_q_prunes_negligible_merges ... ok
[INFO] [stdout] test graph::cluster::tests::cluster_config_supports_early_termination_options ... ok
[INFO] [stdout] test graph::cluster::tests::cnm_empty_graph ... ok
[INFO] [stdout] test graph::cluster::tests::cnm_disconnected_graph_respects_components ... ok
[INFO] [stdout] test graph::cluster::tests::cnm_fully_connected_merges_to_k ... ok
[INFO] [stdout] test graph::cluster::tests::condensed_graph_sums_weights ... ok
[INFO] [stdout] test graph::cluster::tests::cnm_two_communities_obvious_split ... ok
[INFO] [stdout] test graph::cluster::tests::min_component_size_clusters_only_gcc ... ok
[INFO] [stdout] test graph::cluster::tests::node_kind_from_node_variants ... ok
[INFO] [stdout] test graph::cluster::tests::partition_report_includes_topology ... ok
[INFO] [stdout] test graph::cluster::tests::tfidf_downweights_generic_tables ... ok
[INFO] [stdout] test graph::cluster::tests::three_domain_cross_cluster_coupling_minority ... ok
[INFO] [stdout] test graph::cluster::tests::scc_condensation_excludes_non_participants ... ok
[INFO] [stdout] test graph::cluster::tests::default_participant_kinds_excludes_structural ... ok
[INFO] [stdout] test graph::cluster::tests::tfidf_cosine_groups_similar_procs ... ok
[INFO] [stdout] test graph::cluster::tests::edge_weight_returns_correct_values ... ok
[INFO] [stdout] test graph::cluster::tests::three_domain_dot_export_has_clusters ... ok
[INFO] [stdout] test graph::cluster::tests::inter_cluster_coupling_detected ... ok
[INFO] [stdout] test graph::cluster::tests::partition_report_stats_correct ... ok
[INFO] [stdout] test graph::cluster::tests::proc_table_matrix_captures_accesses ... ok
[INFO] [stdout] test graph::cluster::tests::wcc_topology_counts_components_correctly ... ok
[INFO] [stdout] test graph::cluster::tests::three_domain_recovery_at_k3 ... ok
[INFO] [stdout] test graph::cluster::tests::wcc_topology_excludes_non_participants ... ok
[INFO] [stdout] test graph::cluster::tests::scc_condensation_merges_cycle ... ok
[INFO] [stdout] test graph::cluster::tests::min_component_size_filters_isolates ... ok
[INFO] [stdout] test graph::cluster::tests::partition_excludes_non_participant_nodes ... ok
[INFO] [stdout] test graph::cluster::tests::proc_table_matrix_excludes_non_participants ... ok
[INFO] [stdout] test graph::columns::tests::non_routine_node_returns_none ... ok
[INFO] [stdout] test graph::cluster::tests::table_projection_bridges_isolated_procs ... ok
[INFO] [stdout] test graph::conflict::tests::conflicts_among_ors_modes_per_proc_table ... ok
[INFO] [stdout] test graph::conflict::tests::conflicts_among_truncate_vs_select_is_high ... ok
[INFO] [stdout] test graph::conflict::tests::vacuum_l4_self_conflicts_medium ... ok
[INFO] [stdout] test graph::columns::tests::dedups_identical_hard_filter_across_two_edges ... ok
[INFO] [stdout] test graph::conflict::tests::conflicts_among_skips_same_proc ... ok
[INFO] [stdout] test graph::inspect::tests::bidirectional_finds_both_directions ... ok
[INFO] [stdout] test graph::conflict::tests::two_selects_do_not_conflict ... ok
[INFO] [stdout] test graph::inspect::tests::deduplicates_identical_paths ... ok
[INFO] [stdout] test graph::conflict::tests::l7_conflicts_with_l2_but_l6_does_not ... ok
[INFO] [stdout] test graph::conflict::tests::conflicts_among_two_inserts_empty ... ok
[INFO] [stdout] test graph::conflict::tests::l8_conflicts_with_everything_including_l1 ... ok
[INFO] [stdout] test graph::conflict::tests::create_index_l5_vs_insert_l3_is_medium ... ok
[INFO] [stdout] test graph::conflict::tests::mixed_bits_use_any_pair ... ok
[INFO] [stdout] test graph::conflict::tests::two_inserts_do_not_conflict ... ok
[INFO] [stdout] test graph::inspect::tests::disconnected_nodes_produce_zero_paths_no_fabrication ... ok
[INFO] [stdout] test graph::inspect::tests::forked_dag_targets_include_convergence_finds_paths ... ok
[INFO] [stdout] test graph::inspect::tests::forked_dag_targets_only_leaves_zero_paths ... ok
[INFO] [stdout] test graph::inspect::tests::format_inspect_result_multi_target_tree ... ok
[INFO] [stdout] test graph::inspect::tests::format_reverse_tree_forked_dag ... ok
[INFO] [stdout] test graph::inspect::tests::inspect_summary_shows_direction_explicitly ... ok
[INFO] [stdout] test graph::inspect::tests::find_path_between_two_nodes ... ok
[INFO] [stdout] test graph::inspect::tests::format_inspect_result_hides_unreachable_by_default ... ok
[INFO] [stdout] test graph::inspect::tests::reverse_tree_edge_labels_present_for_cross_package ... ok
[INFO] [stdout] test graph::inspect::tests::find_path_with_intermediate_node ... ok
[INFO] [stdout] test graph::key::tests::should_detect_type_prefix_case_insensitively ... ok
[INFO] [stdout] test graph::key::tests::should_reject_unknown_or_empty_prefix ... ok
[INFO] [stdout] test graph::cluster::tests::tfidf_cosine_respects_threshold ... ok
[INFO] [stdout] test graph::lineage::tests::classify_missing_ddl_columns_is_unknown ... ok
[INFO] [stdout] test graph::inspect::tests::unreachable_nodes_yield_zero_paths ... ok
[INFO] [stdout] test graph::inspect::tests::format_inspect_result_tree_paths_uses_box_drawing ... ok
[INFO] [stdout] test graph::lineage::tests::classify_downstream_uses_written_child_as_denominator ... ok
[INFO] [stdout] test graph::inspect::tests::format_reverse_tree_cyclic_graph_does_not_overflow ... ok
[INFO] [stdout] test graph::inspect::tests::multiple_target_nodes ... ok
[INFO] [stdout] test graph::key::tests::should_detect_every_display_tag_roundtrip ... ok
[INFO] [stdout] test graph::key::tests::should_detect_known_type_prefix ... ok
[INFO] [stdout] test graph::lineage::tests::ddl_write_kinds_do_not_produce_columns ... ok
[INFO] [stdout] test graph::inspect::tests::reverse_tree_child_is_always_caller_of_parent ... ok
[INFO] [stdout] test graph::lineage::tests::parse_lineage_target_ambiguous_table_errors ... ok
[INFO] [stdout] test graph::inspect::tests::format_inspect_result_output ... ok
[INFO] [stdout] test graph::lineage::tests::classify_zero_mappings_reports_no_column_data ... ok
[INFO] [stdout] test graph::query::spec::tests::collect_paths_mode ... ok
[INFO] [stdout] test graph::query::spec::tests::deserialize_query_spec ... ok
[INFO] [stdout] test graph::lineage::tests::classify_wide_target_flow_and_reference ... ok
[INFO] [stdout] test graph::query::filter::tests::node_filter_with_type_matches ... ok
[INFO] [stdout] test graph::inspect::tests::format_reverse_tree_no_paths_empty ... ok
[INFO] [stdout] test graph::lineage::tests::parse_lineage_target_trailing_dot_errors ... ok
[INFO] [stdout] test graph::inspect::tests::reverse_tree_root_is_destination_not_caller ... ok
[INFO] [stdout] test graph::query::spec::tests::execute_returns_empty_for_no_matches ... ok
[INFO] [stdout] test graph::inspect::tests::tree_mode_vs_paths_mode_direction_consistency ... ok
[INFO] [stdout] test graph::inspect::tests::format_reverse_tree_shared_intermediate_merged ... ok
[INFO] [stdout] test graph::inspect::tests::max_depth_limits_paths ... ok
[INFO] [stdout] test graph::lineage::tests::classify_narrow_target_reaches_flow ... ok
[INFO] [stdout] test graph::query::traversal::tests::data_flow_reaches_tables ... ok
[INFO] [stdout] test graph::lineage::tests::classify_threshold_boundary ... ok
[INFO] [stdout] test graph::query::spec::tests::execute_finds_nodes_by_type_and_name ... ok
[INFO] [stdout] test graph::query::traversal::tests::max_paths_caps_collect_paths_to_target ... ok
[INFO] [stdout] test graph::query::traversal::tests::node_filter_restricts_results ... ok
[INFO] [stdout] test graph::store::tests::dedup_prefers_non_partial ... ok
[INFO] [stdout] test graph::lineage::tests::parse_lineage_target_missing_table_reinterprets_whole_string_as_table ... ok
[INFO] [stdout] test graph::lineage::tests::parse_lineage_target_node_key_is_table ... ok
[INFO] [stdout] test graph::store::tests::dead_routines_finds_unreferenced_procs ... ok
[INFO] [stdout] test graph::lineage::tests::parse_lineage_target_table_dot_column_when_table_exists_is_column ... ok
[INFO] [stdout] test graph::query::filter::tests::edge_filter_calls_only ... ok
[INFO] [stdout] test graph::store::tests::dedup_clean_graph_noop ... ok
[INFO] [stdout] test graph::lineage::tests::parse_lineage_target_bare_table_is_table ... ok
[INFO] [stdout] test graph::store::tests::dedup_deduplicates_edges ... ok
[INFO] [stdout] test graph::query::spec::tests::execute_traversal_with_steps ... ok
[INFO] [stdout] test graph::query::traversal::tests::collect_paths_returns_root_to_leaf ... ok
[INFO] [stdout] test graph::store::tests::dedup_merges_table_nodes ... ok
[INFO] [stdout] test graph::query::traversal::tests::outgoing_calls_from_procedure ... ok
[INFO] [stdout] test graph::store::tests::ensure_consistency_rebuilds_stale_indexes ... ok
[INFO] [stdout] test graph::store::tests::dedup_removes_duplicate_procedures ... ok
[INFO] [stdout] test graph::store::tests::dedup_report_counts ... ok
[INFO] [stdout] test graph::store::tests::dedup_unresolved_nodes_deduped_by_key ... ok
[INFO] [stdout] test graph::store::tests::edge_category_index_groups_correctly ... ok
[INFO] [stdout] test graph::store::tests::impact_traces_backward ... ok
[INFO] [stdout] test graph::store::tests::load_bincode_rejects_pre_issue_159_version ... ok
[INFO] [stdout] test graph::query::traversal::tests::incoming_finds_callers ... ok
[INFO] [stdout] test graph::store::tests::ensure_consistency_noop_when_consistent ... ok
[INFO] [stdout] test graph::store::tests::lock_clause_index_contains_mapper_with_for_update ... ok
[INFO] [stdout] test graph::store::tests::load_bincode_rejects_previous_layout_version ... ok
[INFO] [stdout] test graph::store::tests::json_file_is_current_true_for_current_version_document ... ok
[INFO] [stdout] test graph::store::tests::merge_keeps_an_empty_declaration ... ok
[INFO] [stdout] test graph::store::tests::merge_keeps_the_first_routine_signature_whole ... ok
[INFO] [stdout] test graph::store::tests::load_bincode_rejects_wrong_magic_with_friendly_error ... ok
[INFO] [stdout] test graph::store::tests::load_bincode_falls_back_for_legacy_headerless_file ... ok
[INFO] [stdout] test graph::store::tests::merge_different_procedures_stay_separate ... ok
[INFO] [stdout] test graph::store::tests::find_cycles_detects_mutual_calls ... ok
[INFO] [stdout] test graph::store::tests::merge_no_schema_matches_schema_qualified ... ok
[INFO] [stdout] test graph::store::tests::merge_populates_node_summaries ... ok
[INFO] [stdout] test graph::store::tests::load_bincode_round_trips_with_header ... ok
[INFO] [stdout] test graph::store::tests::merge_does_not_backfill_a_signature_from_a_later_store ... ok
[INFO] [stdout] test graph::store::tests::json_file_is_current_false_for_stale_version ... ok
[INFO] [stdout] test graph::store::tests::name_index_is_sorted_and_complete ... ok
[INFO] [stdout] test graph::store::tests::pick_richer_node_prefers_located_sequence ... ok
[INFO] [stdout] test graph::store::tests::merge_relaxed_match_schema_vs_no_schema ... ok
[INFO] [stdout] test graph::store::tests::merge_case_insensitive_procedure_keys ... ok
[INFO] [stdout] test graph::store::tests::procedure_predicates_survive_bincode_round_trip ... ok
[INFO] [stdout] test graph::store::tests::merge_leaves_no_duplicate_table_access_across_stores ... ok
[INFO] [stdout] test graph::store::tests::json_file_is_current_false_for_corrupt_or_missing_file ... ok
[INFO] [stdout] test graph::store::tests::peek_version_none_for_legacy_headerless_file ... ok
[INFO] [stdout] test graph::query::traversal::tests::max_depth_limits_traversal ... ok
[INFO] [stdout] test graph::store::tests::lock_clause_index_for_share_separate_from_for_update ... ok
[INFO] [stdout] test graph::store::tests::resolve_single_node_returns_single_on_unique_match ... ok
[INFO] [stdout] test graph::store::tests::load_bincode_rejects_header_version_mismatch_with_friendly_error ... ok
[INFO] [stdout] test graph::query::traversal::tests::max_paths_caps_collect_paths ... ok
[INFO] [stdout] test graph::store::tests::resolve_single_node_returns_empty_on_no_match ... ok
[INFO] [stdout] test graph::store::tests::lock_clause_index_empty_for_regular_select ... ok
[INFO] [stdout] test graph::store::tests::routine_parameters_survive_bincode_round_trip ... ok
[INFO] [stdout] test graph::store::tests::peek_version_none_for_missing_file ... ok
[INFO] [stdout] test graph::store::tests::resolve_single_node_all_matches_returns_multiple ... ok
[INFO] [stdout] test graph::store::tests::resolve_single_node_fail_on_multiple_returns_ambiguous ... ok
[INFO] [stdout] test graph::store::tests::save_bincode_writes_magic_version_header ... ok
[INFO] [stdout] test graph::store::tests::peek_version_returns_header_version ... ok
[INFO] [stdout] test graph::store::tests::schema_index_groups_by_schema ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_case_insensitive ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_different_set_column_rejected ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_crlf_normalized ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_different_concrete_table_rejected ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_dynamic_table_accepts_any_concrete ... ok
[INFO] [stdout] test graph::store::tests::lock_clause_index_roundtrip_through_bincode ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_finds_javasql_node ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_case_insensitive ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_matches_nowait_variant ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_matches_procedure_body_sql ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_not_matched_without_clause ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_uses_lock_clause_fast_path ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_in_string_literal_ignored ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_in_comment_ignored ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_matches_javasql ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_matches_mapper ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_nowait_full_phrase ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_extra_whitespace_in_sql ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_not_confused_by_update_dml ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_finds_mapper_with_exact_sql ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_finds_mapper_with_substring ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_for_update_skip_then_wait_clause ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_multiline_normalized ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_fully_dynamic_sql_rejected ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_merge_matches_merge ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_multiple_matches ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_select_different_table_rejected ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_skips_nodes_without_sql ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_finds_exact_match ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_finds_substring_match ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_rejects_insert_vs_delete ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_xml_param_placeholder_matches_wildcard_query ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_returns_empty_for_no_match ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_prefers_higher_degree_on_same_rank ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_operator_spacing_normalized ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_select_compatible_with_with ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_paren_and_comma_spacing ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_query_wildcard_matches_concrete_sql ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_rejects_select_vs_update ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_query_extra_condition_with_two_wildcards_matches ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_xml_raw_with_type_hint ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_case_insensitive ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_returns_empty_for_no_match ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_exact_match_returns_correct_node ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_limit_respects_limit ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_package_substring_matches_package_procedures ... ok
[INFO] [stdout] test graph::store::tests::search_by_sql_xml_raw_placeholder_matches_concrete ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_returns_empty_for_no_match_regress ... ok
[INFO] [stdout] test graph::store::tests::should_dedupe_identical_anchor_edge_across_stores ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_case2_full_scenario ... ok
[INFO] [stdout] test graph::store::tests::should_union_table_access_modes_across_stores_on_merge ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_returns_prefix_and_substring_matches_together ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_with_mode_exact_only_returns_exact_key_match ... ok
[INFO] [stdout] test graph::store::tests::should_roundtrip_anchors_on_edge_through_bincode_store ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_carriage_return ... ok
[INFO] [stdout] test graph::store::tests::should_dedupe_anchor_edges_case_insensitively_by_column ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_comma_list_spacing ... ok
[INFO] [stdout] test graph::store::tests::search_nodes_multi_word_match_returns_all ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_exact_no_change ... ok
[INFO] [stdout] test graph::store::tests::should_reject_store_with_stale_version ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_insert_vs_update_same_table ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_merge_to_merge ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_operator_spacing ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_nested_paren_spacing ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_different_columns_rejected ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_multiline ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_no_false_positive ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_dynamic_from_template_accepts_concrete ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_query_with_wildcard_subset_ok ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_multiline_with_wildcard ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_query_extra_condition_rejected ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_query_no_wildcard_value_in_tail_ok ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_select_unrelated_table_rejected ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_query_with_extra_condition_rejected ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_select_vs_delete_same_table ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_single_placeholder_segment ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_tabs_and_spaces ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_unrelated_sql_rejected ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_query_with_multiple_extra_conditions_rejected ... ok
[INFO] [stdout] test graph::store::tests::should_keep_distinct_anchor_edges_through_dedup ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_select_two_placeholders ... ok
[INFO] [stdout] test graph::store::tests::should_keep_distinct_anchor_edges_through_merge ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_select_vs_update_different_table ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_select_different_concrete_view_rejected ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_select_three_placeholders ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_same_concrete_table_different_first_set_col_rejected ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_update_template_to_concrete ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_values_placeholders ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_xml_raw_concrete_value_in_query ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_dynamic_table_template_accepts_concrete ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_paren_spacing ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_update_different_concrete_table_rejected ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_update_query_rejects_select_dynamic ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_with_cte_select_body ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_fully_dynamic_sql_is_excluded ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_with_cte_vs_update_rejected ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_update_template_partial ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_xml_param_chain ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_xml_raw_concrete_without_query_wildcard ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_update_query_rejects_select_sql ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_xml_raw_generic_pattern_matches_concrete ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_update_query_rejects_select_sql_short ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_fully_dynamic_sql_no_match_without_query_wildcard ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_greater_than_operator ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_operator_no_space_query ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_xml_raw_placeholder_as_wildcard ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_xml_raw_with_query_wildcard ... ok
[INFO] [stdout] test graph::store::tests::sql_text_matches_xml_raw_with_type_hint ... ok
[INFO] [stdout] test graph::store::tests::subgraph_filter_by_name_reduces_node_count ... ok
[INFO] [stdout] test graph::store::tests::test_bincode_roundtrip_via_file ... ok
[INFO] [stdout] test graph::tests::access_exclusive_u8_roundtrip_preserves_high_bits ... ok
[INFO] [stdout] test graph::store::tests::type_tag_index_returns_correct_nodes ... ok
[INFO] [stdout] test graph::tests::access_mode_bitflags_or ... ok
[INFO] [stdout] test graph::store::tests::test_bincode_roundtrip_table_with_partition_and_distribute ... ok
[INFO] [stdout] test graph::tests::access_mode_eight_lock_levels_are_distinct ... ok
[INFO] [stdout] test graph::tests::access_mode_label_mixed_dml_ddl_highest_only ... ok
[INFO] [stdout] test graph::store::tests::test_old_cache_version_rejected ... ok
[INFO] [stdout] test graph::tests::access_mode_empty_is_invalid ... ok
[INFO] [stdout] test graph::store::tests::stale_store_error_names_versions_path_and_repair_command ... ok
[INFO] [stdout] test graph::tests::access_mode_label_emits_l8_and_d_for_truncate ... ok
[INFO] [stdout] test graph::store::tests::stale_store_message_never_emits_an_empty_p_value ... ok
[INFO] [stdout] test graph::tests::access_mode_label_keeps_rw_hides_l1_l2_l3 ... ok
[INFO] [stdout] test graph::store::tests::stale_store_message_quotes_the_project_root ... ok
[INFO] [stdout] test graph::store::tests::stale_json_store_error_names_versions_path_and_repair_command ... ok
[INFO] [stdout] test graph::store::tests::test_bincode_roundtrip_with_non_utf8_path ... ok
[INFO] [stdout] test graph::store::tests::store_project_root_prefers_the_nearest_codeweb_toml ... ok
[INFO] [stdout] test graph::tests::access_mode_label_lock_table_l6_has_no_d ... ok
[INFO] [stdout] test graph::store::tests::summarize_tables_aggregates_child_proc_table_access ... ok
[INFO] [stdout] test graph::tests::new_edge_variants_construct ... ok
[INFO] [stdout] test graph::tests::new_node_variants_file ... ok
[INFO] [stdout] test graph::tests::node_enum_size_below_200_bytes ... ok
[INFO] [stdout] test graph::tests::column_summary_serialization_roundtrip ... ok
[INFO] [stdout] test graph::tests::ddl_write_kind_predicate ... ok
[INFO] [stdout] test graph::tests::distribute_info_serialization_roundtrip ... ok
[INFO] [stdout] test graph::tests::highest_lock_level_prefers_l8_over_l1 ... ok
[INFO] [stdout] test graph::tests::node_type_tag_short_names ... ok
[INFO] [stdout] test graph::tests::partition_info_serialization_roundtrip ... ok
[INFO] [stdout] test graph::store::tests::test_bincode_roundtrip_edge_only ... ok
[INFO] [stdout] test graph::tests::routine_id_equality ... ok
[INFO] [stdout] test graph::tests::routine_id_package_member_display ... ok
[INFO] [stdout] test graph::tests::remove_edges_descending_keeps_every_pending_index_valid ... ok
[INFO] [stdout] test graph::tests::node_type_tag_all_variants_non_empty ... ok
[INFO] [stdout] test graph::tests::node_type_tag_inferred_sequence_is_seq_star ... ok
[INFO] [stdout] test graph::store::tests::test_bincode_roundtrip_with_custom_node ... ok
[INFO] [stdout] test graph::tests::routine_id_standalone ... ok
[INFO] [stdout] test graph::tests::routine_id_schema_qualified ... ok
[INFO] [stdout] test graph::tests::table_node_serde_backward_compat ... ok
[INFO] [stdout] test graph::tests::routine_id_equality_includes_kind ... ok
[INFO] [stdout] test graph::tests::table_node_with_location_and_columns ... ok
[INFO] [stdout] test graph::traverse::tests::collect_chain_files_related_ddl_does_not_pull_dependent_views ... ok
[INFO] [stdout] test graph::tests::routine_id_function_display ... ok
[INFO] [stdout] test graph::tests::write_kind_label_covers_ddl_and_ops ... ok
[INFO] [stdout] test graph::tests::routine_id_schema_package_member_display ... ok
[INFO] [stdout] test graph::tests::write_kind_serialization_roundtrip ... ok
[INFO] [stdout] test graph::tests::routine_id_hash_in_hashmap ... ok
[INFO] [stdout] test graph::tests::routine_id_with_kind ... ok
[INFO] [stdout] test graph::tests::table_node_minimal_implicit ... ok
[INFO] [stdout] test graph::tests::write_kinds_serialize_in_a_stable_order ... ok
[INFO] [stdout] test graph::traverse::tests::collect_chain_files_related_ddl_includes_synonym_and_trigger_files ... ok
[INFO] [stdout] test graph::traverse::tests::collect_chain_files_related_ddl_on_table_target_includes_indexes ... ok
[INFO] [stdout] test graph::traverse::tests::cycle_neighbors_do_not_false_positive ... ok
[INFO] [stdout] test graph::traverse::tests::depth_boundary_marks_has_more ... ok
[INFO] [stdout] test graph::traverse::tests::collect_chain_files_related_ddl_same_file_adds_index_label_not_path ... ok
[INFO] [stdout] test graph::traverse::tests::edge_label_direct_call_external_has_label ... ok
[INFO] [stdout] test graph::traverse::tests::edge_label_direct_call_cross_package ... ok
[INFO] [stdout] test graph::traverse::tests::match_rank_schema_qualified_is_exact ... ok
[INFO] [stdout] test graph::traverse::tests::match_rank_word_boundary_beats_substring ... ok
[INFO] [stdout] test graph::traverse::tests::should_aggregate_parallel_edge_labels_into_one_bracket ... ok
[INFO] [stdout] test graph::traverse::tests::should_dedupe_and_keep_first_seen_order ... ok
[INFO] [stdout] test graph::traverse::tests::edge_label_calls_procedure_has_label ... ok
[INFO] [stdout] test graph::traverse::tests::collect_chain_files_related_ddl_depth_zero_proc_has_no_table_satellites ... ok
[INFO] [stdout] test graph::traverse::tests::collect_chain_files_omits_separate_index_file_by_default ... ok
[INFO] [stdout] test graph::traverse::tests::edge_label_direct_call_intra_package ... ok
[INFO] [stdout] test graph::traverse::tests::edge_label_none_for_unlabeled_edge_types ... ok
[INFO] [stdout] test graph::traverse::tests::collect_chain_files_includes_separate_index_file_with_related_ddl ... ok
[INFO] [stdout] test graph::traverse::tests::edge_label_dynamic_call ... ok
[INFO] [stdout] test graph::traverse::tests::edge_label_uses_builtin_function ... ok
[INFO] [stdout] test graph::traverse::tests::sibling_truncation_marks_parent_has_more ... ok
[INFO] [stdout] test graph::traverse::tests::match_rank_bare_name_is_exact ... ok
[INFO] [stdout] test graph::traverse::tests::trace_chain_hides_builtins_when_skip ... ok
[INFO] [stdout] test graph::traverse::tests::trace_chain_shows_builtins_when_not_skip ... ok
[INFO] [stdout] test graph::traverse::tests::trace_chain_from_builtin_shows_callers ... ok
[INFO] [stdout] test graph::traverse::tests::skip_builtins_respected_in_more_count ... ok
[INFO] [stdout] test graph::traverse::tests::true_leaf_has_no_more ... ok
[INFO] [stdout] test graph::traverse::tests::should_aggregate_three_parallel_edge_kinds ... ok
[INFO] [stdout] test graph::traverse::tests::should_keep_single_edge_label_unchanged ... ok
[INFO] [stdout] test graph::traverse::tests::match_rank_exact_beats_word_boundary ... ok
[INFO] [stdout] test import::format::tests::test_full_cgef_deserialize ... ok
[INFO] [stdout] test import::format::tests::test_minimal_cgef_deserialize ... ok
[INFO] [stdout] test import::parser::tests::test_parse_custom_node ... ok
[INFO] [stdout] test import::path_mapper::tests::test_trailing_slash_prefix ... ok
[INFO] [stdout] test import::path_mapper::tests::test_strip_dot_slash ... ok
[INFO] [stdout] test import::parser::tests::test_parse_all_standard_node_types ... ok
[INFO] [stdout] test import::path_mapper::tests::test_no_prefix_with_dot_slash ... ok
[INFO] [stdout] test import::parser::tests::test_parse_table_access_edge ... ok
[INFO] [stdout] test import::parser::tests::test_path_mapping_applied ... ok
[INFO] [stdout] test import::path_mapper::tests::test_deeply_nested_path ... ok
[INFO] [stdout] test import::format::tests::test_missing_format_version_fails ... ok
[INFO] [stdout] test import::path_mapper::tests::test_without_prefix ... ok
[INFO] [stdout] test import::path_mapper::tests::test_empty_path ... ok
[INFO] [stdout] test graph::traverse::tests::truncated_by_budget_marks_has_more_with_exact_count ... ok
[INFO] [stdout] test import::parser::tests::test_parse_all_standard_edge_types ... ok
[INFO] [stdout] test import::path_mapper::tests::test_with_prefix ... ok
[INFO] [stdout] test import::schema::tests::test_missing_schema_returns_none ... ok
[INFO] [stdout] test import::parser::tests::test_parse_custom_edge ... ok
[INFO] [stdout] test import::schema::tests::test_validate_keys_ok ... ok
[INFO] [stdout] test import::validator::tests::test_declared_custom_types_pass ... ok
[INFO] [stdout] test import::validator::tests::test_duplicate_node_id ... ok
[INFO] [stdout] test import::validator::tests::test_empty_document_warning ... ok
[INFO] [stdout] test import::schema::tests::test_get_node_schema ... ok
[INFO] [stdout] test import::schema::tests::test_validate_keys_missing_field ... ok
[INFO] [stdout] test import::parser::tests::test_parse_dangling_edge_error ... ok
[INFO] [stdout] test import::parser::tests::test_parse_procedure ... ok
[INFO] [stdout] test import::parser::tests::test_parse_missing_key_field_error ... ok
[INFO] [stdout] test import::validator::tests::test_undeclared_custom_node_type ... ok
[INFO] [stdout] test import::validator::tests::test_unsupported_version ... ok
[INFO] [stdout] test mark::tests::test_contains_routine_call_call ... ok
[INFO] [stdout] test mark::tests::test_contains_table_name_case_insensitive ... ok
[INFO] [stdout] test mark::tests::test_contains_routine_call_no_false_positive_table ... ok
[INFO] [stdout] test mark::tests::test_contains_routine_call_select_func ... ok
[INFO] [stdout] test mark::tests::test_contains_routine_call_call_no_parens ... ok
[INFO] [stdout] test mark::tests::test_contains_table_name_exact_match ... ok
[INFO] [stdout] test import::validator::tests::test_standard_type_checks ... ok
[INFO] [stdout] test import::validator::tests::test_undeclared_custom_edge_type ... ok
[INFO] [stdout] test import::validator::tests::test_valid_document_passes ... ok
[INFO] [stdout] test mark::tests::test_contains_routine_call_exec ... ok
[INFO] [stdout] test mark::tests::test_contains_table_name_in_insert ... ok
[INFO] [stdout] test mark::tests::test_contains_routine_call_execute ... ok
[INFO] [stdout] test mark::tests::test_fingerprint_matches_select_into ... ok
[INFO] [stdout] test mark::tests::test_strip_select_into_basic ... ok
[INFO] [stdout] test mark::tests::test_contains_table_name_no_substring_false_positive ... ok
[INFO] [stdout] test mark::tests::test_strip_select_into_multi_var ... ok
[INFO] [stdout] test mark::tests::test_fingerprint_no_match_different_table ... ok
[INFO] [stdout] test mark::tests::test_strip_select_into_no_from ... ok
[INFO] [stdout] test mark::tests::test_strip_select_into_noop ... ok
[INFO] [stdout] test mark::tests::test_strip_select_into_strict ... ok
[INFO] [stdout] test parser::extractor::column_tests::count_distinct_records_the_distinct_flag ... ok
[INFO] [stdout] test parser::extractor::column_tests::aggregate_is_labelled_with_its_function ... ok
[INFO] [stdout] test mark::tests::test_contains_routine_call_case_insensitive ... ok
[INFO] [stdout] test import::validator::tests::test_invalid_edge_reference ... ok
[INFO] [stdout] test import::validator::tests::test_multiple_errors_collected ... ok
[INFO] [stdout] test mark::tests::test_contains_routine_call_perform ... ok
[INFO] [stdout] test parser::extractor::column_tests::arithmetic_over_two_columns_is_derived_from_both ... ok
[INFO] [stdout] test mark::tests::test_strip_select_into_with_where ... ok
[INFO] [stdout] test parser::extractor::column_tests::a_constant_column_records_the_literal ... ok
[INFO] [stdout] test parser::extractor::column_tests::insert_select_resolves_source_table_through_alias ... ok
[INFO] [stdout] test parser::extractor::column_tests::plain_filter_json_has_no_transform_key_but_transformed_filter_does ... ok
[INFO] [stdout] test parser::extractor::column_tests::declared_view_columns_win_over_branch_aliases ... ok
[INFO] [stdout] test parser::extractor::column_tests::insert_values_maps_literals_and_columns ... ok
[INFO] [stdout] test parser::extractor::column_tests::plain_on_equi_join_unchanged ... ok
[INFO] [stdout] test parser::extractor::column_tests::decode_records_its_input_column_but_not_its_branch_literals ... ok
[INFO] [stdout] test parser::extractor::column_tests::every_union_branch_contributes_to_the_same_target ... ok
[INFO] [stdout] test parser::extractor::column_tests::record_field_in_scalar_subquery_resolves_to_column ... ok
[INFO] [stdout] test parser::extractor::column_tests::fetch_rebinds_rowtype_record_to_the_fetching_cursor ... ok
[INFO] [stdout] test parser::extractor::column_tests::literal_only_scalar_subquery_classifies_direct ... ok
[INFO] [stdout] test parser::extractor::column_tests::non_whitelisted_or_double_sided_function_is_excluded ... ok
[INFO] [stdout] test parser::extractor::column_tests::record_field_in_where_resolves_to_cross_table_join ... ok
[INFO] [stdout] test parser::extractor::column_tests::in_subquery_left_operand_in_join_condition_is_collected ... ok
[INFO] [stdout] test parser::extractor::column_tests::multi_column_set_subquery_aligns_by_position ... ok
[INFO] [stdout] test parser::extractor::column_tests::record_field_join_works_in_both_orientations ... ok
[INFO] [stdout] test parser::extractor::column_tests::insert_select_maps_columns_by_position ... ok
[INFO] [stdout] test parser::extractor::column_tests::record_vs_param_or_unregistered_produces_no_join ... ok
[INFO] [stdout] test parser::extractor::column_tests::scalar_sublink_left_operand_column_is_collected ... ok
[INFO] [stdout] test parser::extractor::column_tests::scalar_subquery_join_does_not_leak_into_parent_analysis ... ok
[INFO] [stdout] test parser::extractor::column_tests::scalar_subquery_in_insert_values_resolves ... ok
[INFO] [stdout] test parser::extractor::column_tests::scalar_subquery_target_resolves_its_first_column ... ok
[INFO] [stdout] test parser::extractor::column_tests::nvl_transform_includes_default_arg ... ok
[INFO] [stdout] test parser::extractor::column_tests::select_star_yields_no_mappings_rather_than_shifted_ones ... ok
[INFO] [stdout] test parser::extractor::column_tests::star_cursor_catch_all_resolves_in_where ... ok
[INFO] [stdout] test parser::extractor::column_tests::star_cursor_rowtype_record_field_attributes_to_cursor_table ... ok
[INFO] [stdout] test parser::extractor::column_tests::step3_cursor_mixed_filters_all_captured ... ok
[INFO] [stdout] test parser::extractor::column_tests::substr_wrapped_column_literal_becomes_hard_filter_with_transform ... ok
[INFO] [stdout] test parser::extractor::column_tests::table_anchored_rowtype_resolves_in_where ... ok
[INFO] [stdout] test parser::extractor::column_tests::substr_keyword_syntax_produces_transform ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_comparison_operators ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_between_hard_filter ... ok
[INFO] [stdout] test parser::extractor::column_tests::table_rowtype_record_field_resolves_to_table_column ... ok
[INFO] [stdout] test parser::extractor::column_tests::substr_with_variable_length_arg_is_excluded ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_case_enum_extraction ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_decode_enum_extraction ... ok
[INFO] [stdout] test parser::extractor::column_tests::scalar_subquery_with_transformed_first_expr_is_derived ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_insert_columns ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_dedup_column_refs ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_join_with_alias_and_hard_filter ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_implicit_join_from_where ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_same_table_different_aliases ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_in_list_hard_filter ... ok
[INFO] [stdout] test parser::extractor::column_tests::union_view_aligns_renamed_branches_by_position ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_insert_select_columns ... ok
[INFO] [stdout] test parser::extractor::column_tests::update_set_maps_each_assignment ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_is_null_hard_filter ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_delete_from_procedure_body ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::cursor_declaration_sql_extracted ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_no_filter_on_col_eq_col ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::execute_immediate_sql_extracted ... ok
[INFO] [stdout] test parser::extractor::column_tests::whole_record_insert_from_star_cursor_yields_no_guessed_mappings ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::cursor_declaration_kind_is_select ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_from_plpgsql_dollar_quoted ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_insert_from_procedure_body ... ok
[INFO] [stdout] test parser::extractor::column_tests::unqualified_column_over_a_join_leaves_the_owner_unresolved ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_sql_from_exception_handler ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_multiple_sql_statements_from_body ... ok
[INFO] [stdout] test parser::extractor::column_tests::whole_record_insert_expands_cursor_rowtype_fields ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_sql_from_function_body ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_simple_select_no_where ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_update_set_columns ... ok
[INFO] [stdout] test parser::extractor::column_tests::test_pl_variable_not_hard_filter ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::execute_immediate_with_parsed_query_kind ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_select_from_procedure_body ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::hint_nestloop_extracted_as_builtin ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::operator_exists_extracted_as_builtin ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::hint_tablescan_extracted_as_builtin ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::operator_in_subquery_extracted_as_builtin ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::operator_some_kept_separate_from_any ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::operator_any_extracted_as_builtin ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_sql_from_if_block ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_from_as_begin_end_procedure ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::perform_function_call_extracted ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_from_is_begin_end_procedure ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::operator_not_in_extracted_as_builtin ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_sql_from_loop ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_sql_from_nested_blocks ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::perform_query_extracted ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_update_from_procedure_body ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::sql_text_is_searchable_raw_text ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::procedure_with_no_body_produces_no_sql ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::operator_all_extracted_as_builtin ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_alter_table_rename_is_l8 ... ok
[INFO] [stdout] test parser::extractor::tests::cursor_query_subquery_reads ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::procedure_with_declare_block ... ok
[INFO] [stdout] test parser::extractor::procedure_sql_extraction::extract_sql_from_package_body_procedure ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_drop_index_is_ignored ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_drop_table_is_l8 ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_create_index_concurrently_is_l4 ... ok
[INFO] [stdout] test parser::extractor::tests::dynamic_sql_is_marked ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_create_index_is_l5 ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_vacuum_full_is_l8_vacuum_is_l4 ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_analyze_is_l4 ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_cluster_and_reindex_table_are_l8 ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_lock_table_default_is_l8 ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_lock_table_share_row_exclusive_is_l6 ... ok
[INFO] [stdout] test parser::extractor::tests::ddl_lock_truncate_uses_access_exclusive_bit ... ok
[INFO] [stdout] test parser::extractor::tests::delete_using_reads_writes ... ok
[INFO] [stdout] test parser::extractor::tests::delete_writes ... ok
[INFO] [stdout] test parser::extractor::tests::function_in_select_from ... ok
[INFO] [stdout] test parser::extractor::tests::insert_all_multi_target ... ok
[INFO] [stdout] test parser::extractor::tests::insert_select_where_not_exists_subquery_reads ... ok
[INFO] [stdout] test parser::extractor::tests::select_target_scalar_subquery_reads ... ok
[INFO] [stdout] test parser::extractor::tests::schema_qualified_call ... ok
[INFO] [stdout] test parser::extractor::tests::select_for_update_locks ... ok
[INFO] [stdout] test parser::extractor::tests::insert_values_scalar_subquery_reads ... ok
[INFO] [stdout] test parser::extractor::tests::insert_select_read_write ... ok
[INFO] [stdout] test parser::extractor::tests::insert_values_writes ... ok
[INFO] [stdout] test parser::extractor::tests::select_where_in_subquery_reads ... ok
[INFO] [stdout] test parser::extractor::tests::merge_all_writes ... ok
[INFO] [stdout] test parser::extractor::tests::select_where_not_exists_subquery_reads ... ok
[INFO] [stdout] test parser::extractor::tests::same_table_read_write_merge ... ok
[INFO] [stdout] test parser::extractor::tests::sequence_ref_via_currval_function_call ... ok
[INFO] [stdout] test parser::extractor::tests::select_into_table ... ok
[INFO] [stdout] test parser::extractor::tests::sequence_ref_via_dot_nextval_field_access ... ok
[INFO] [stdout] test parser::extractor::tests::nested_subquery_inside_binary_op_reads ... ok
[INFO] [stdout] test parser::extractor::tests::sequence_ref_via_nextval_function_call ... ok
[INFO] [stdout] test parser::extractor::tests::should_anchor_variable_self_named_after_table ... ok
[INFO] [stdout] test parser::extractor::tests::should_collect_nested_table_of_percent_type ... ok
[INFO] [stdout] test parser::extractor::tests::should_collect_variable_percent_type_anchor ... ok
[INFO] [stdout] test parser::extractor::tests::should_collect_record_field_percent_type ... ok
[INFO] [stdout] test parser::extractor::tests::should_collect_variable_table_rowtype_anchor ... ok
[INFO] [stdout] test parser::extractor::tests::should_collect_varray_of_percent_type ... ok
[INFO] [stdout] test parser::extractor::tests::should_reject_empty_column_percent_type_from_ast ... ok
[INFO] [stdout] test parser::extractor::tests::multiple_calls_in_one_procedure ... ok
[INFO] [stdout] test parser::extractor::tests::select_from_reads ... ok
[INFO] [stdout] test parser::extractor::tests::should_parse_flat_param_string_percent_rowtype ... ok
[INFO] [stdout] test parser::extractor::tests::should_return_none_for_plain_type_names ... ok
[INFO] [stdout] test parser::extractor::tests::package_body_procedure_calls_have_caller_context ... ok
[INFO] [stdout] test parser::extractor::tests::should_parse_flat_return_string_percent_type ... ok
[INFO] [stdout] test parser::extractor::tests::should_keep_table_rowtype_when_cursor_exists_elsewhere ... ok
[INFO] [stdout] test parser::extractor::tests::should_skip_nested_body_anchor_using_outer_cursor ... ok
[INFO] [stdout] test parser::extractor::tests::select_having_subquery_reads ... ok
[INFO] [stdout] test parser::extractor::tests::should_parse_unicode_ident_percent_type ... ok
[INFO] [stdout] test parser::extractor::tests::should_not_leak_nested_routine_locals_into_outer_scope ... ok
[INFO] [stdout] test parser::extractor::tests::should_parse_three_part_schema_percent_type ... ok
[INFO] [stdout] test parser::extractor::tests::should_parse_rowtype_not_mistaken_for_percent_type ... ok
[INFO] [stdout] test parser::extractor::tests::should_skip_nested_function_body_anchor_using_outer_param ... ok
[INFO] [stdout] test parser::extractor::tests::top_level_call_statement ... ok
[INFO] [stdout] test parser::extractor::tests::should_skip_type_anchored_to_plain_record_variable ... ok
[INFO] [stdout] test parser::extractor::tests::should_skip_var_anchored_type_to_local_variable ... ok
[INFO] [stdout] test parser::extractor::tests::standalone_procedure_call ... ok
[INFO] [stdout] test parser::extractor::tests::should_skip_type_anchored_to_nested_proc_param ... ok
[INFO] [stdout] test parser::extractor::tests::truncate_table ... ok
[INFO] [stdout] test parser::extractor::tests::subquery_referencing_cte_is_filtered ... ok
[INFO] [stdout] test parser::extractor::tests::should_skip_rowtype_anchored_to_cursor ... ok
[INFO] [stdout] test parser::extractor::tests::update_writes ... ok
[INFO] [stdout] test parser::java_loader::tests::extraction_method_label_correct ... ok
[INFO] [stdout] test parser::extractor::tests::type_ref_from_pl_variable_declaration ... ok
[INFO] [stdout] test parser::extractor::tests::type_ref_from_typecast_custom_datatype ... ok
[INFO] [stdout] test parser::extractor::tests::unknown_type_is_ignored ... ok
[INFO] [stdout] test parser::java_loader::tests::load_java_file_annotation_extraction ... ok
[INFO] [stdout] test parser::extractor::tests::update_from_reads_writes ... ok
[INFO] [stdout] test parser::ibatis_loader::tests::load_ibatis_structured_file_preserves_tree ... ok
[INFO] [stdout] test parser::ibatis_loader::tests::statement_kind_label_correct ... ok
[INFO] [stdout] test parser::java_loader::tests::load_java_file_jdbc_extraction ... ok
[INFO] [stdout] test parser::ibatis_loader::tests::load_ibatis_file_valid_mapper ... ok
[INFO] [stdout] test parser::java_loader::tests::parse_java_combined_both_results ... ok
[INFO] [stdout] test parser::extractor::tests::should_skip_type_anchored_to_local_type_declaration ... ok
[INFO] [stdout] test parser::ibatis_loader::tests::load_ibatis_file_empty_file_returns_no_statements ... ok
[INFO] [stdout] test parser::ibatis_loader::tests::load_ibatis_file_non_mapper_xml_returns_no_statements ... ok
[INFO] [stdout] test parser::ibatis_loader::tests::load_ibatis_file_nonexistent_path ... ok
[INFO] [stdout] test parser::java_method::tests::test_extract_di_field_with_annotation ... ok
[INFO] [stdout] test parser::java_method::tests::test_extract_di_field_without_annotation_ignored ... ok
[INFO] [stdout] test parser::java_method::tests::test_extract_di_inject_annotation ... ok
[INFO] [stdout] test parser::java_method::tests::test_extract_di_resource_annotation ... ok
[INFO] [stdout] test parser::ibatis_loader::tests::load_ibatis_file_call_in_mapper_has_parse_result ... ok
[INFO] [stdout] test parser::java_method::tests::test_extract_imports ... ok
[INFO] [stdout] test parser::java_method::tests::test_extract_package ... ok
[INFO] [stdout] test parser::jsp_loader::tests::extract_declaration_constant_sql ... ok
[INFO] [stdout] test parser::java_method::tests::test_extract_sqlsession_call ... ok
[INFO] [stdout] test parser::java_loader::tests::load_java_file_jdbc_sql_has_parse_result ... ok
[INFO] [stdout] test parser::java_loader::tests::load_java_file_no_sql ... ok
[INFO] [stdout] test parser::jsp_loader::tests::extract_skips_html_only_jsp ... ok
[INFO] [stdout] test parser::jsp_preprocessor::synthesize_tests::synthesize_expression_becomes_out_print ... ok
[INFO] [stdout] test parser::jsp_preprocessor::synthesize_tests::synthesize_produces_valid_class_skeleton ... ok
[INFO] [stdout] test parser::jsp_preprocessor::synthesize_tests::synthesize_split_scriptlets_preserve_order ... ok
[INFO] [stdout] test parser::jsp_preprocessor::tests::lex_comment_skipped_from_content ... ok
[INFO] [stdout] test parser::jsp_loader::tests::extract_stored_procedure_call ... ok
[INFO] [stdout] test parser::jsp_preprocessor::synthesize_tests::synthesize_produces_parseable_java ... ok
[INFO] [stdout] test parser::jsp_loader::tests::extract_does_not_panic_on_invalid_java ... ok
[INFO] [stdout] test parser::jsp_preprocessor::tests::lex_directive_page ... ok
[INFO] [stdout] test parser::jsp_preprocessor::tests::lex_expression ... ok
[INFO] [stdout] test parser::jsp_loader::tests::extract_string_concatenation_sql ... ok
[INFO] [stdout] test parser::jsp_preprocessor::tests::lex_mixed_html_and_scriptlets ... ok
[INFO] [stdout] test parser::jsp_preprocessor::synthesize_tests::synthesize_declaration_goes_to_class_level ... ok
[INFO] [stdout] test parser::jsp_preprocessor::tests::lex_plain_html_only_text ... ok
[INFO] [stdout] test parser::jsp_loader::tests::extract_handles_jdbc_call_escape_syntax_without_panic ... ok
[INFO] [stdout] test parser::jsp_preprocessor::synthesize_tests::synthesize_el_expression_replaced ... ok
[INFO] [stdout] test parser::jsp_preprocessor::tests::lex_unterminated_scriptlet_falls_back_gracefully ... ok
[INFO] [stdout] test parser::jsp_loader::tests::infer_kind_returns_declaration_for_constants ... ok
[INFO] [stdout] test parser::jsp_types::tests::jsp_segment_kind_eq ... ok
[INFO] [stdout] test parser::java_method::tests::test_extract_class_with_extends ... ok
[INFO] [stdout] test parser::loader::tests::decode_gbk_chinese ... ok
[INFO] [stdout] test parser::jsp_loader::tests::extract_jdbc_prepare_statement_from_scriptlet ... ok
[INFO] [stdout] test parser::jsp_preprocessor::tests::lex_multiline_tracks_line_numbers ... ok
[INFO] [stdout] test parser::jsp_preprocessor::tests::lex_split_statement_across_blocks ... ok
[INFO] [stdout] test parser::java_loader::tests::load_java_file_nonexistent_path ... ok
[INFO] [stdout] test parser::jsp_preprocessor::tests::lex_scriptlet_basic ... ok
[INFO] [stdout] test parser::jsp_preprocessor::tests::lex_declaration ... ok
[INFO] [stdout] test parser::java_method::tests::test_extract_di_constructor_param ... ok
[INFO] [stdout] test parser::loader::tests::decode_lossy_fallback ... ok
[INFO] [stdout] test parser::loader::tests::decode_utf8_chinese ... ok
[INFO] [stdout] test parser::loader::tests::decode_utf8_sql ... ok
[INFO] [stdout] test parser::loader::tests::parse_file_call_statement ... ok
[INFO] [stdout] test parser::loader::tests::parse_file_multiple_statements ... ok
[INFO] [stdout] test parser::loader::tests::parse_file_create_procedure ... ok
[INFO] [stdout] test parser::loader::tests::parse_file_invalid_encoding_no_panic ... ok
[INFO] [stdout] test parser::loader::tests::parse_sql_files_skips_unparseable ... ok
[INFO] [stdout] test parser::loader::tests::parse_sql_files_batch ... ok
[INFO] [stdout] test parser::jsp_types::tests::jsp_sql_kind_as_str_roundtrip ... ok
[INFO] [stdout] test parser::java_method::tests::test_extract_method_with_call ... ok
[INFO] [stdout] test parser::predicates::tests::case_when_yields_predicates ... ok
[INFO] [stdout] test parser::predicates::tests::cursor_where_hard_filters_not_in_predicates ... ok
[INFO] [stdout] test parser::predicates::tests::function_condition_degrades_confidence ... ok
[INFO] [stdout] test parser::predicates::tests::select_into_main_table_var_yields_medium ... ok
[INFO] [stdout] test parser::predicates::tests::simple_case_synthesizes_expression_comparison ... ok
[INFO] [stdout] test parser::predicates::tests::select_into_var_substr_resolves_via_var_source ... ok
[INFO] [stdout] test parser::predicates::tests::select_into_var_condition_yields_param_table_hint ... ok
[INFO] [stdout] test parser::predicates::tests::star_market_if_resolves_high_confidence ... ok
[INFO] [stdout] test parser::routine::tests::from_ast_keeps_name_mode_type_and_default ... ok
[INFO] [stdout] test parser::predicates::tests::transformed_condition_clause_carries_transform ... ok
[INFO] [stdout] test parser::predicates::tests::naked_column_substr_resolves_via_sole_table ... ok
[INFO] [stdout] test parser::predicates::tests::unresolvable_condition_keeps_origin_low_confidence ... ok
[INFO] [stdout] test parser::scanner::tests::sanitize_path_converts_non_utf8 ... ok
[INFO] [stdout] test parser::scanner::tests::sanitize_path_preserves_utf8 ... ok
[INFO] [stdout] test parser::predicates::tests::in_list_condition_renders_as_sql_in_origin ... ok
[INFO] [stdout] test parser::scanner::tests::scan_directory_excludes_jsp_via_pattern ... ok
[INFO] [stdout] test parser::predicates::tests::raw_column_is_absent_when_the_names_match ... ok
[INFO] [stdout] test parser::snippet::tests::line_at_start_clamps_context ... ok
[INFO] [stdout] test parser::predicates::tests::record_field_keeps_the_written_name_when_it_differs_from_the_column ... ok
[INFO] [stdout] test parser::snippet::tests::blank_line_in_middle_is_preserved_once ... ok
[INFO] [stdout] test parser::scanner::tests::scan_single_file_recognizes_jsp ... ok
[INFO] [stdout] test parser::snippet::tests::context_zero_returns_only_target ... ok
[INFO] [stdout] test parser::loader::tests::parse_file_nonexistent_path ... ok
[INFO] [stdout] test parser::predicates::tests::elsif_conditions_collected_as_predicates ... ok
[INFO] [stdout] test parser::loader::tests::parse_file_whitespace_only ... ok
[INFO] [stdout] test parser::scanner::tests::scan_directory_recognizes_jsp_extension ... ok
[INFO] [stdout] test parser::snippet::tests::missing_file_returns_none ... ok
[INFO] [stdout] test project::config::tests::template_mentions_discriminator_columns ... ok
[INFO] [stdout] test project::config::tests::discriminator_columns_are_read_from_analysis ... ok
[INFO] [stdout] test project::config::tests::discriminator_columns_default_to_empty ... ok
[INFO] [stdout] test project::tests::init_at_defaults_to_root_when_no_source_dirs_given ... ok
[INFO] [stdout] test project::tests::init_at_creates_config_under_given_root_not_cwd ... ok
[INFO] [stdout] test tests::compare_rows_all_equal_returns_equal ... ok
[INFO] [stdout] test parser::snippet::tests::line_beyond_end_returns_none ... ok
[INFO] [stdout] test parser::snippet::tests::line_zero_returns_none ... ok
[INFO] [stdout] test parser::snippet::tests::normal_returns_target_plus_context ... ok
[INFO] [stdout] test project::tests::scan_with_fingerprints_deduplicates_overlapping_paths ... ok
[INFO] [stdout] test project::tests::init_at_escapes_special_characters_in_project_name ... ok
[INFO] [stdout] test tests::compare_rows_multi_key_primary_wins ... ok
[INFO] [stdout] test tests::compare_rows_multi_key_tiebreaker_kicks_in ... ok
[INFO] [stdout] test project::tests::init_at_keeps_absolute_source_dirs_absolute ... ok
[INFO] [stdout] test project::tests::init_at_rejects_existing_project_root ... ok
[INFO] [stdout] test tests::compare_rows_no_specs_returns_equal ... ok
[INFO] [stdout] test tests::compare_rows_single_key_desc ... ok
[INFO] [stdout] test tests::parse_sort_spec_defaults_dir_to_asc ... ok
[INFO] [stdout] test tests::parse_sort_spec_explicit_dir ... ok
[INFO] [stdout] test tests::compare_rows_single_key_asc ... ok
[INFO] [stdout] test tests::parse_sort_spec_case_insensitive ... ok
[INFO] [stdout] test tests::parse_sort_spec_rejects_empty_key ... ok
[INFO] [stdout] test tests::parse_sort_spec_rejects_unknown_dir ... ok
[INFO] [stdout] test tests::parse_sort_spec_rejects_unknown_key ... ok
[INFO] [stdout] test tests::up_to_date_line_reports_files_without_zero_counts ... ok
[INFO] [stdout] test tui::theme::tests::dark_theme_colors ... ok
[INFO] [stdout] test tui::theme::tests::light_theme_colors ... ok
[INFO] [stdout] test project::tests::analyze_rebuilds_when_store_version_stale ... ok
[INFO] [stdout] test graph::tests::synthetic_100k_nodes_memory_report ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 784 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.80s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/impact_test.rs (/opt/rustwide/target/release/build/codeweb/e11f86f1544f9522/out/impact_test-e11f86f1544f9522)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test test_impact_edge_types_dataflow_excludes_call_edges ... FAILED
[INFO] [stdout] test test_impact_edge_types_default_all ... FAILED
[INFO] [stdout] test test_impact_file_not_in_graph ... FAILED
[INFO] [stdout] test test_impact_edge_types_invalid_value ... FAILED
[INFO] [stdout] test test_impact_json_schema ... FAILED
[INFO] [stdout] test test_impact_neither_flag_error ... FAILED
[INFO] [stdout] test test_impact_mutual_exclusion_error ... FAILED
[INFO] [stdout] test test_impact_node_text_format ... FAILED
[INFO] [stdout] test test_impact_upstream_direction ... FAILED
[INFO] [stdout] test test_impact_node_json_schema ... FAILED
[INFO] [stdout] test test_impact_edge_types_call_only ... FAILED
[INFO] [stdout] test test_impact_node_not_found ... FAILED
[INFO] [stdout] test test_impact_text_format ... FAILED
[INFO] [stdout] test test_impact_edge_types_all_with_other_ignored ... FAILED
[INFO] [stdout] test test_impact_edge_types_multiple_categories ... FAILED
[INFO] [stderr] error: test failed, to rerun pass `--test impact_test`
[INFO] [stdout] test test_impact_node_upstream_direction ... FAILED
[INFO] [stdout] test test_impact_edge_types_whitespace_trimmed ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_edge_types_dataflow_excludes_call_edges stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_edge_types_dataflow_excludes_call_edges' (4934) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b5035b - <impact_test[f390d8e5fb57a645]::test_impact_edge_types_dataflow_excludes_call_edges::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_edge_types_default_all stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_edge_types_default_all' (4935) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4e90e - <impact_test[f390d8e5fb57a645]::test_impact_edge_types_default_all::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_file_not_in_graph stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_file_not_in_graph' (4939) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4d82e - <impact_test[f390d8e5fb57a645]::test_impact_file_not_in_graph::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_edge_types_invalid_value stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_edge_types_invalid_value' (4936) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4f45e - <impact_test[f390d8e5fb57a645]::test_impact_edge_types_invalid_value::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_json_schema stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_json_schema' (4940) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4c06e - <impact_test[f390d8e5fb57a645]::test_impact_json_schema::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_neither_flag_error stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_neither_flag_error' (4942) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4ddbe - <impact_test[f390d8e5fb57a645]::test_impact_neither_flag_error::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_mutual_exclusion_error stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_mutual_exclusion_error' (4941) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4ed3e - <impact_test[f390d8e5fb57a645]::test_impact_mutual_exclusion_error::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_node_text_format stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_node_text_format' (4945) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4d59d - <impact_test[f390d8e5fb57a645]::test_impact_node_text_format::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_upstream_direction stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_upstream_direction' (4948) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4e02e - <impact_test[f390d8e5fb57a645]::test_impact_upstream_direction::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_node_json_schema stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_node_json_schema' (4943) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4cf2e - <impact_test[f390d8e5fb57a645]::test_impact_node_json_schema::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_edge_types_call_only stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_edge_types_call_only' (4933) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4e4de - <impact_test[f390d8e5fb57a645]::test_impact_edge_types_call_only::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_node_not_found stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_node_not_found' (4944) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4c99e - <impact_test[f390d8e5fb57a645]::test_impact_node_not_found::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_text_format stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_text_format' (4947) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4c6fd - <impact_test[f390d8e5fb57a645]::test_impact_text_format::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_edge_types_all_with_other_ignored stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_edge_types_all_with_other_ignored' (4932) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4ff2e - <impact_test[f390d8e5fb57a645]::test_impact_edge_types_all_with_other_ignored::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_edge_types_multiple_categories stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_edge_types_multiple_categories' (4937) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4fafe - <impact_test[f390d8e5fb57a645]::test_impact_edge_types_multiple_categories::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_node_upstream_direction stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_node_upstream_direction' (4946) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4efae - <impact_test[f390d8e5fb57a645]::test_impact_node_upstream_direction::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_impact_edge_types_whitespace_trimmed stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_impact_edge_types_whitespace_trimmed' (4938) panicked at tests/impact_test.rs:12:58:
[INFO] [stdout] no target dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5619e3bd3f51 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5619e3be8bba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5619e3bd843c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5619e3baeb16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5619e3bcbad9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5619e3b65a50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5619e3bcbc92 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5619e3baebf4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5619e3ba7719 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5619e3baf7cd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5619e3be92ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5619e3b4aa61 - impact_test[f390d8e5fb57a645]::codeweb_bin::{closure#0}
[INFO] [stdout]   12:     0x5619e3b4b17f - impact_test[f390d8e5fb57a645]::run_in_dir
[INFO] [stdout]   13:     0x5619e3b4b436 - impact_test[f390d8e5fb57a645]::setup_project
[INFO] [stdout]   14:     0x5619e3b4f6ce - <impact_test[f390d8e5fb57a645]::test_impact_edge_types_whitespace_trimmed::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5619e3b58e9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5619e3b66075 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5619e3b5f964 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5619e3b69102 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5619e3bd35cf - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x7b1b9f5d4dfa - <unknown>
[INFO] [stdout]   21:     0x7b1b9f6683d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_impact_edge_types_all_with_other_ignored
[INFO] [stdout]     test_impact_edge_types_call_only
[INFO] [stdout]     test_impact_edge_types_dataflow_excludes_call_edges
[INFO] [stdout]     test_impact_edge_types_default_all
[INFO] [stdout]     test_impact_edge_types_invalid_value
[INFO] [stdout]     test_impact_edge_types_multiple_categories
[INFO] [stdout]     test_impact_edge_types_whitespace_trimmed
[INFO] [stdout]     test_impact_file_not_in_graph
[INFO] [stdout]     test_impact_json_schema
[INFO] [stdout]     test_impact_mutual_exclusion_error
[INFO] [stdout]     test_impact_neither_flag_error
[INFO] [stdout]     test_impact_node_json_schema
[INFO] [stdout]     test_impact_node_not_found
[INFO] [stdout]     test_impact_node_text_format
[INFO] [stdout]     test_impact_node_upstream_direction
[INFO] [stdout]     test_impact_text_format
[INFO] [stdout]     test_impact_upstream_direction
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 17 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39", kill_on_drop: false }`
[INFO] [stdout] ad0d9e6d7b2ab973892022536c0c0d767e592575c6a865dbe612613331703d39
