[INFO] fetching crate tngl 0.2.0...
[INFO] testing tngl-0.2.0 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate tngl 0.2.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate tngl 0.2.0
[INFO] finished tweaking crates.io crate tngl 0.2.0
[INFO] tweaked toml for crates.io crate tngl 0.2.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tngl 0.2.0 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tngl 0.2.0 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded kasuari v0.4.11
[INFO] [stderr]   Downloaded line-clipping v0.3.5
[INFO] [stderr]   Downloaded tempfile v3.26.0
[INFO] [stderr]   Downloaded euclid v0.22.13
[INFO] [stderr]   Downloaded clap_lex v1.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 090e4317d8ae80341b208375eb788c87a85c2fb1569619dcc47d03a607c655f7
[INFO] running `Command { std: "docker" "start" "-a" "090e4317d8ae80341b208375eb788c87a85c2fb1569619dcc47d03a607c655f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "090e4317d8ae80341b208375eb788c87a85c2fb1569619dcc47d03a607c655f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "090e4317d8ae80341b208375eb788c87a85c2fb1569619dcc47d03a607c655f7", kill_on_drop: false }`
[INFO] [stdout] 090e4317d8ae80341b208375eb788c87a85c2fb1569619dcc47d03a607c655f7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 51c277b8cfd2c45e644f6ed8bdcc4a0c326023d28e669e17a891997e7c4462da
[INFO] running `Command { std: "docker" "start" "-a" "51c277b8cfd2c45e644f6ed8bdcc4a0c326023d28e669e17a891997e7c4462da", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling kasuari v0.4.11
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling tngl v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.21s
[INFO] running `Command { std: "docker" "inspect" "51c277b8cfd2c45e644f6ed8bdcc4a0c326023d28e669e17a891997e7c4462da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51c277b8cfd2c45e644f6ed8bdcc4a0c326023d28e669e17a891997e7c4462da", kill_on_drop: false }`
[INFO] [stdout] 51c277b8cfd2c45e644f6ed8bdcc4a0c326023d28e669e17a891997e7c4462da
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3f6a1caada9f0572433907dc1c8a30113ef8d2930a8c768f5643f4dce885fcc2
[INFO] running `Command { std: "docker" "start" "-a" "3f6a1caada9f0572433907dc1c8a30113ef8d2930a8c768f5643f4dce885fcc2", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling tngl v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.84s
[INFO] running `Command { std: "docker" "inspect" "3f6a1caada9f0572433907dc1c8a30113ef8d2930a8c768f5643f4dce885fcc2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f6a1caada9f0572433907dc1c8a30113ef8d2930a8c768f5643f4dce885fcc2", kill_on_drop: false }`
[INFO] [stdout] 3f6a1caada9f0572433907dc1c8a30113ef8d2930a8c768f5643f4dce885fcc2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a68a543014b61422f3446fb98945a888fb76972cc7f571313faa35cb3423a886
[INFO] running `Command { std: "docker" "start" "-a" "a68a543014b61422f3446fb98945a888fb76972cc7f571313faa35cb3423a886", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tngl-e57cdceeb66b9f0c)
[INFO] [stdout] 
[INFO] [stdout] running 250 tests
[INFO] [stdout] test commands::edit::tests::config_editor_takes_priority ... ok
[INFO] [stdout] test commands::inspect::tests::all_reachable_in_cycle ... ok
[INFO] [stdout] test commands::inspect::tests::all_unreachable_when_graph_empty ... ok
[INFO] [stdout] test commands::inspect::tests::comment_mismatches_detects_disagreement ... ok
[INFO] [stdout] test commands::inspect::tests::apply_mismatch_label_sets_both_sides ... ok
[INFO] [stdout] test commands::inspect::tests::edges_for_node_found ... ok
[INFO] [stdout] test commands::inspect::tests::incoming_edge_marks_current_node_reachable ... ok
[INFO] [stdout] test commands::inspect::tests::integration_load_and_inspect ... ok
[INFO] [stdout] test commands::inspect::tests::comment_mismatches_ignores_matching_labels ... ok
[INFO] [stdout] test commands::inspect::tests::dangling_edges_detected ... ok
[INFO] [stdout] test commands::inspect::tests::edges_for_node_not_found ... ok
[INFO] [stdout] test commands::inspect::tests::isolated_orphan_is_also_unreachable ... ok
[INFO] [stdout] test commands::inspect::tests::no_dangling_when_all_targets_present ... ok
[INFO] [stdout] test commands::inspect::tests::undirected_edge_makes_both_ends_reachable ... ok
[INFO] [stdout] test commands::init::tests::creates_tangle_directory ... ok
[INFO] [stdout] test commands::init::tests::skips_git_hooks_when_declined ... ok
[INFO] [stdout] test commands::list::tests::list_edges_empty_when_no_edges ... ok
[INFO] [stdout] test commands::list::tests::list_edges_preserves_graph_order ... ok
[INFO] [stdout] test commands::open::tests::bundled_folders_render_collapsed_in_export_tree ... ok
[INFO] [stdout] test commands::open::tests::export_filters_nodes_and_tangles_by_visibility ... ok
[INFO] [stdout] test commands::intentionalize_orphans::tests::marks_unattended_orphans_only ... ok
[INFO] [stdout] test commands::open::tests::relation_mapping_for_anchor_matches_tui_semantics ... ok
[INFO] [stdout] test commands::open::tests::tree_rows_keep_hierarchical_scaffold ... ok
[INFO] [stdout] test commands::open::tests::html_contains_interactive_bindings ... ok
[INFO] [stdout] test commands::status::tests::can_disable_uncommented_edge_warnings ... ok
[INFO] [stdout] test commands::status::tests::clean_when_in_sync ... ok
[INFO] [stdout] test commands::status::tests::compute_does_not_report_folder_orphan_scope_conflict ... ok
[INFO] [stdout] test commands::status::tests::compute_does_not_report_bundle_collapse_as_pending_update ... ok
[INFO] [stdout] test commands::status::tests::compute_reports_untracked_descendants_for_link_subtree ... ok
[INFO] [stdout] test commands::init::tests::creates_config_tngl ... ok
[INFO] [stdout] test commands::init::tests::does_not_overwrite_existing_tnglignore ... ok
[INFO] [stdout] test commands::init::tests::creates_tnglignore ... ok
[INFO] [stdout] test commands::init::tests::graph_tngl_all_nodes_are_orphans ... ok
[INFO] [stdout] test commands::init::tests::creates_wrapper_script ... ok
[INFO] [stdout] test commands::intentionalize_orphans::tests::does_not_duplicate_existing_markers ... ok
[INFO] [stdout] test commands::status::tests::dangling_hint_ignores_distant_match ... ok
[INFO] [stdout] test commands::status::tests::dangling_hint_suggests_close_match ... ok
[INFO] [stdout] test commands::status::tests::detects_dangling_edges ... ok
[INFO] [stdout] test commands::status::tests::detects_missing_files ... ok
[INFO] [stdout] test commands::status::tests::detects_orphan_nodes ... ok
[INFO] [stdout] test commands::status::tests::compute_reports_untracked_descendants_for_orphan_subtree ... ok
[INFO] [stdout] test commands::status::tests::detects_untracked_files ... ok
[INFO] [stdout] test commands::status::tests::intentional_orphan_is_not_reported_as_unattended ... ok
[INFO] [stdout] test commands::status::tests::compute_respects_config_for_uncommented_edges ... ok
[INFO] [stdout] test commands::status::tests::missing_file_reports_dangling_edge_count ... ok
[INFO] [stdout] test commands::status::tests::missing_isolated_node_not_duplicated_as_orphan ... ok
[INFO] [stdout] test commands::status::tests::no_issues_with_only_orphans ... ok
[INFO] [stdout] test commands::status::tests::warns_on_uncommented_edges_by_default ... ok
[INFO] [stdout] test commands::status::tests::integration_with_real_files ... ok
[INFO] [stdout] test commands::init::tests::does_not_overwrite_existing_wrapper ... ok
[INFO] [stdout] test commands::update::tests::adds_new_files_as_orphans ... ok
[INFO] [stdout] test commands::update::tests::delete_mode_removes_orphan_missing_node ... ok
[INFO] [stdout] test commands::update::tests::collapsing_subtree_keeps_following_comment_lines ... ok
[INFO] [stdout] test commands::update::tests::does_not_auto_mirror_directed_edges ... ok
[INFO] [stdout] test commands::update::tests::adds_new_folders_before_files ... ok
[INFO] [stdout] test commands::update::tests::does_not_auto_mirror_incoming_edges ... ok
[INFO] [stdout] test commands::update::tests::delete_mode_removes_node_and_edges ... ok
[INFO] [stdout] test commands::update::tests::existing_mirror_with_different_label_is_kept ... ok
[INFO] [stdout] test commands::update::tests::empty_folder_orphan_tag_remains_valid ... ok
[INFO] [stdout] test commands::update::tests::does_not_auto_mirror_undirected_edges ... ok
[INFO] [stdout] test commands::update::tests::does_not_insert_nested_mirror_edges ... ok
[INFO] [stdout] test commands::update::tests::folder_orphan_with_children_no_longer_auto_converts ... ok
[INFO] [stdout] test commands::update::tests::folder_orphan_with_children_stays_as_orphan ... ok
[INFO] [stdout] test commands::update::tests::folder_orphan_prompt_callback_not_used_anymore ... ok
[INFO] [stdout] test commands::update::tests::keeps_existing_edges_without_adding_mirrors ... ok
[INFO] [stdout] test commands::update::tests::internal_nodes_removed_without_prompt_logic ... ok
[INFO] [stdout] test commands::update::tests::linked_folder_with_link_subtree_does_not_conflict_and_keeps_children ... ok
[INFO] [stdout] test commands::update::tests::mirrored_edges_are_not_duplicated ... ok
[INFO] [stdout] test commands::update::tests::linked_orphan_can_be_unmarked_and_update_continues ... ok
[INFO] [stdout] test commands::update::tests::linked_orphan_conflict_fails_in_silent_mode ... ok
[INFO] [stdout] test commands::update::tests::lint_collapses_extra_blank_lines_in_graph ... ok
[INFO] [stdout] test commands::update::tests::linked_orphan_yes_to_all_resolves_multiple_conflicts_once ... ok
[INFO] [stdout] test commands::update::tests::orphan_subtree_keeps_children_on_update ... ok
[INFO] [stdout] test commands::update::tests::no_write_when_no_changes ... ok
[INFO] [stdout] test commands::update::tests::orphan_deleted_node_silently_removed_regardless_of_on_delete ... ok
[INFO] [stdout] test commands::update::tests::orphan_tagged_deleted_node_does_not_tag_new_node ... ok
[INFO] [stdout] test commands::update::tests::orphan_subtree_children_remain_when_tag_removed ... ok
[INFO] [stdout] test commands::update::tests::preview_reports_folder_orphan_scope_paths ... ok
[INFO] [stdout] test commands::update::tests::preview_reports_pending_lint_cleanup ... ok
[INFO] [stdout] test commands::update::tests::ignored_child_removal_preserves_blank_line_spacing ... ok
[INFO] [stdout] test commands::update::tests::orphaned_link_subtree_conflict_fails_in_silent_mode ... ok
[INFO] [stdout] test commands::update::tests::preserve_mode_marks_missing_node ... ok
[INFO] [stdout] test commands::update::tests::preview_does_not_report_bundle_as_pending_collapse_change ... ok
[INFO] [stdout] test commands::update::tests::orphaned_link_subtree_can_be_converted_and_update_continues ... ok
[INFO] [stdout] test commands::update::tests::inserts_new_subtree_before_root_files ... ok
[INFO] [stdout] test commands::update::tests::orphaned_link_subtree_yes_to_all_converts_multiple_once ... ok
[INFO] [stdout] test commands::update::tests::prompt_mode_skip_via_accept_fn ... ok
[INFO] [stdout] test commands::update::tests::update_lints_floating_orphan_tags ... ok
[INFO] [stdout] test commands::update::tests::update_keeps_orphan_subtree_tag_for_empty_folder_on_disk ... ok
[INFO] [stdout] test parser::config::tests::defaults_on_empty_input ... ok
[INFO] [stdout] test parser::config::tests::error_on_bad_bool ... ok
[INFO] [stdout] test commands::update::tests::removing_link_subtree_does_not_introduce_extra_blank_spacing ... ok
[INFO] [stdout] test commands::update::tests::silent_adds_without_printing ... ok
[INFO] [stdout] test commands::update::tests::uses_default_config_when_config_missing ... ok
[INFO] [stdout] test commands::status::tests::compute_from_does_not_guess_missing_disk_state ... ok
[INFO] [stdout] test commands::init::tests::creates_graph_tngl ... ok
[INFO] [stdout] test parser::config::tests::error_on_malformed_line ... ok
[INFO] [stdout] test parser::config::tests::ignores_comments_and_blanks ... ok
[INFO] [stdout] test parser::config::tests::parses_all_on_delete_variants ... ok
[INFO] [stdout] test commands::update::tests::update_orders_edges_undir_then_out_then_in ... ok
[INFO] [stdout] test parser::config::tests::parses_default_contents ... ok
[INFO] [stdout] test commands::init::tests::error_if_already_initialised ... ok
[INFO] [stdout] test parser::config::tests::parses_editor ... ok
[INFO] [stdout] test commands::init::tests::installs_git_hooks_when_accepted ... ok
[INFO] [stdout] test parser::config::tests::ignores_unknown_keys ... ok
[INFO] [stdout] test parser::config::tests::parses_empty_editor_as_none ... ok
[INFO] [stdout] test commands::init::tests::tangle_dir_excluded_from_graph ... ok
[INFO] [stdout] test parser::config::tests::error_on_bad_on_delete ... ok
[INFO] [stdout] test parser::config::tests::parses_false_values ... ok
[INFO] [stdout] test parser::config::tests::parses_warn_uncommented_edges_false ... ok
[INFO] [stdout] test parser::graph::tests::add_edge_does_not_affect_other_nodes ... ok
[INFO] [stdout] test parser::graph::tests::add_edge_appends_after_existing ... ok
[INFO] [stdout] test commands::update::tests::prompt_mode_delete_via_accept_fn ... ok
[INFO] [stdout] test parser::graph::tests::add_edge_respects_existing_tab_indent ... ok
[INFO] [stdout] test parser::graph::tests::add_edge_to_orphan ... ok
[INFO] [stdout] test parser::graph::tests::add_node_appends_with_blank_separator ... ok
[INFO] [stdout] test parser::graph::tests::add_edge_node_not_found ... ok
[INFO] [stdout] test parser::graph::tests::add_node_under_folder_with_edges_avoids_extra_blank_before_first_child ... ok
[INFO] [stdout] test parser::graph::tests::add_edge_under_nested_node_uses_nested_indent ... ok
[INFO] [stdout] test commands::update::tests::prompt_mode_preserve_via_accept_fn ... ok
[INFO] [stdout] test parser::graph::tests::error_edge_missing_colon ... ok
[INFO] [stdout] test parser::graph::tests::collapsed_subtree_roots_includes_link_subtree ... ok
[INFO] [stdout] test parser::graph::tests::convert_link_subtree_to_orphan_subtree_preserves_indent ... ok
[INFO] [stdout] test parser::graph::tests::crlf_roundtrip ... ok
[INFO] [stdout] test parser::graph::tests::error_duplicate_node ... ok
[INFO] [stdout] test parser::graph::tests::error_edge_before_any_node ... ok
[INFO] [stdout] test parser::graph::tests::explicit_link_subtree_markers_detects_folder_roots ... ok
[INFO] [stdout] test parser::graph::tests::error_edge_bad_arrow ... ok
[INFO] [stdout] test parser::graph::tests::from_graph_empty ... ok
[INFO] [stdout] test parser::graph::tests::explicit_orphan_markers_detects_both_tag_types ... ok
[INFO] [stdout] test parser::graph::tests::from_graph_separates_nodes_with_blank_line ... ok
[INFO] [stdout] test parser::graph::tests::from_graph_with_edges ... ok
[INFO] [stdout] test parser::graph::tests::from_graph_single_orphan ... ok
[INFO] [stdout] test parser::graph::tests::lint_collapses_consecutive_blank_lines ... ok
[INFO] [stdout] test parser::graph::tests::error_edge_missing_target ... ok
[INFO] [stdout] test parser::graph::tests::add_node_inserts_by_hierarchy_before_root_file ... ok
[INFO] [stdout] test parser::graph::tests::lint_normalizes_tag_and_edge_indentation_to_node_depth ... ok
[INFO] [stdout] test parser::graph::tests::lint_removes_invalid_link_subtree_tag_on_file ... ok
[INFO] [stdout] test parser::graph::tests::lint_removes_floating_orphan_tags ... ok
[INFO] [stdout] test parser::graph::tests::intentional_orphan_subtree_roots_returns_folder_roots_only ... ok
[INFO] [stdout] test parser::graph::tests::add_node_to_empty_doc ... ok
[INFO] [stdout] test parser::graph::tests::mark_link_subtree_inserts_marker ... ok
[INFO] [stdout] test parser::graph::tests::mark_orphan_aligns_with_nested_node_indent ... ok
[INFO] [stdout] test parser::graph::tests::mark_missing_inserts_comment ... ok
[INFO] [stdout] test parser::graph::tests::mark_orphan_inserts_simple_marker ... ok
[INFO] [stdout] test parser::graph::tests::mark_orphan_no_duplicate ... ok
[INFO] [stdout] test parser::graph::tests::mark_orphan_subtree_inserts_marker ... ok
[INFO] [stdout] test parser::graph::tests::mark_orphan_subtree_aligns_with_nested_node_indent ... ok
[INFO] [stdout] test parser::graph::tests::mark_orphan_subtree_rejects_file_nodes ... ok
[INFO] [stdout] test parser::graph::tests::multiple_blank_lines_preserved ... ok
[INFO] [stdout] test parser::graph::tests::remove_edge_not_present ... ok
[INFO] [stdout] test parser::graph::tests::node_path_with_spaces_in_name ... ok
[INFO] [stdout] test parser::graph::tests::remove_edge_present ... ok
[INFO] [stdout] test parser::graph::tests::remove_edges_targeting_multiple_sources ... ok
[INFO] [stdout] test parser::graph::tests::remove_edges_targeting_none ... ok
[INFO] [stdout] test parser::graph::tests::remove_middle_node_preserves_following_tagged_block ... ok
[INFO] [stdout] test parser::graph::tests::remove_middle_node_preserves_separator_spacing ... ok
[INFO] [stdout] test parser::graph::tests::remove_last_tagged_node_removes_separator_blank ... ok
[INFO] [stdout] test parser::graph::tests::remove_node_also_removes_attached_orphan_tag ... ok
[INFO] [stdout] test parser::graph::tests::remove_node_not_present ... ok
[INFO] [stdout] test parser::graph::tests::convert_link_subtree_to_orphan_subtree_rewrites_marker ... ok
[INFO] [stdout] test parser::graph::tests::remove_node_only_node ... ok
[INFO] [stdout] test parser::graph::tests::replace_edge_label_preserves_tab_indent ... ok
[INFO] [stdout] test parser::graph::tests::remove_node_present ... ok
[INFO] [stdout] test parser::graph::tests::replace_edge_label_updates_matching_edge_only ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_comments_preserved ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_blank_lines_preserved ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_directed_edge_empty_label ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_directed_edge_with_label ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_empty ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_folder_node ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_incoming_edge ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_indented_node ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_indented_comment_preserved ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_multiple_nodes ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_orphan_after_edges ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_orphan_tags ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_preserves_whitespace_aligned_edges ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_single_orphan_with_newline ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_tab_indent ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_spec_example ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_undirected_edge ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_single_orphan_no_trailing_newline ... ok
[INFO] [stdout] test parser::graph::tests::sort_edges_by_kind_orders_undir_then_out_then_in ... ok
[INFO] [stdout] test parser::graph::tests::to_graph_edge_after_blank_belongs_to_node ... ok
[INFO] [stdout] test parser::graph::tests::to_graph_directed_edge ... ok
[INFO] [stdout] test parser::graph::tests::to_graph_comments_and_blanks_ignored ... ok
[INFO] [stdout] test parser::graph::tests::to_graph_incoming_edge ... ok
[INFO] [stdout] test parser::graph::tests::to_graph_empty_label ... ok
[INFO] [stdout] test parser::graph::tests::to_graph_multiple_nodes_and_edges ... ok
[INFO] [stdout] test parser::graph::tests::to_graph_parses_indented_nodes ... ok
[INFO] [stdout] test parser::graph::tests::to_graph_single_orphan ... ok
[INFO] [stdout] test parser::graph::tests::to_graph_preserves_node_order ... ok
[INFO] [stdout] test parser::graph::tests::unmark_link_subtree_removes_bundle_and_keeps_orphan ... ok
[INFO] [stdout] test scanner::diff::tests::both_untracked_and_missing ... ok
[INFO] [stdout] test parser::graph::tests::unmark_orphan_subtree_removes_orphan_and_keeps_bundle ... ok
[INFO] [stdout] test parser::graph::tests::to_graph_undirected_edge ... ok
[INFO] [stdout] test parser::graph::tests::unmark_orphan_removes_marker_only ... ok
[INFO] [stdout] test scanner::diff::tests::empty_filesystem_empty_graph ... ok
[INFO] [stdout] test scanner::diff::tests::missing_detected ... ok
[INFO] [stdout] test scanner::diff::tests::output_is_sorted ... ok
[INFO] [stdout] test scanner::diff::tests::clean_when_identical ... ok
[INFO] [stdout] test scanner::diff::tests::output_prioritizes_folders_before_files ... ok
[INFO] [stdout] test scanner::diff::tests::output_keeps_children_grouped_before_root_files ... ok
[INFO] [stdout] test scanner::diff::tests::untracked_detected ... ok
[INFO] [stdout] test scanner::tree::tests::empty_tree ... ok
[INFO] [stdout] test parser::graph::tests::roundtrip_link_subtree_tag ... ok
[INFO] [stdout] test scanner::tree::tests::folders_end_with_slash ... ok
[INFO] [stdout] test scanner::tree::tests::dotfiles_included_by_default ... ok
[INFO] [stdout] test scanner::tree::tests::basic_scan ... ok
[INFO] [stdout] test scanner::tree::tests::children_grouped_with_folder_before_root_files ... ok
[INFO] [stdout] test scanner::tree::tests::git_dir_excluded ... ok
[INFO] [stdout] test scanner::tree::tests::folders_prioritized_before_files ... ok
[INFO] [stdout] test scanner::tree::tests::gitignore_respected ... ok
[INFO] [stdout] test tangle::tests::find_root_fails_without_init ... ok
[INFO] [stdout] test scanner::tree::tests::sorted_output ... ok
[INFO] [stdout] test scanner::tree::tests::tnglignore_glob_pattern ... ok
[INFO] [stdout] test scanner::tree::tests::tnglignore_respected ... ok
[INFO] [stdout] test tangle::tests::find_root_from_direct ... ok
[INFO] [stdout] test tangle::tests::find_root_from_subdir ... ok
[INFO] [stdout] test scanner::tree::tests::tangle_dir_excluded ... ok
[INFO] [stdout] test parser::graph::tests::add_node_respects_existing_two_space_indent ... ok
[INFO] [stdout] test tests::inspect_rejects_multiple_query_flags ... ok
[INFO] [stdout] test scanner::tree::tests::internal_tngl_files_excluded ... ok
[INFO] [stdout] test tests::inspect_accepts_single_query_flag ... ok
[INFO] [stdout] test tui::canvas::tests::bundling_folder_warns_before_removing_child_edges ... ok
[INFO] [stdout] test tui::canvas::tests::enter_in_details_mode_is_noop ... ok
[INFO] [stdout] test tui::canvas::tests::merge_graph_into_document_marks_unattended_orphans ... ok
[INFO] [stdout] test tui::canvas::tests::merge_graph_into_document_applies_bundle_tag_for_bundled_roots ... ok
[INFO] [stdout] test tui::canvas::tests::merge_graph_into_document_preserves_tags_and_comments_on_edit ... ok
[INFO] [stdout] test tui::canvas::tests::merge_graph_into_document_noop_preserves_text_exactly ... ok
[INFO] [stdout] test tui::canvas::tests::finalize_move_clears_details_lock_and_returns_focus_to_anchor ... ok
[INFO] [stdout] test tui::canvas::tests::m_in_details_enters_move_mode ... ok
[INFO] [stdout] test tui::canvas::tests::merge_graph_into_document_unmarks_linked_orphan_bundle_to_bundle ... ok
[INFO] [stdout] test tui::canvas::tests::merge_graph_into_document_unmarks_linked_orphans ... ok
[INFO] [stdout] test tui::canvas::tests::move_mode_left_right_cycles_edge_type ... ok
[INFO] [stdout] test tui::canvas::tests::move_mode_preview_tracks_focused_node ... ok
[INFO] [stdout] test tui::canvas::tests::move_mode_rejects_self_loop_target ... ok
[INFO] [stdout] test tui::canvas::tests::render_visibility_does_not_auto_open_when_connection_overlay_hidden ... ok
[INFO] [stdout] test tui::canvas::tests::render_visibility_temporarily_opens_collapsed_connected_folder ... ok
[INFO] [stdout] test tui::canvas::tests::move_mode_starts_on_current_endpoint_position ... ok
[INFO] [stdout] test commands::inspect::tests::orphans_empty_when_all_have_edges ... ok
[INFO] [stdout] test commands::inspect::tests::orphans_returns_only_isolated_nodes ... ok
[INFO] [stdout] test commands::inspect::tests::unreachable_when_no_incoming_edges ... ok
[INFO] [stdout] test parser::graph::tests::convert_orphan_to_orphan_subtree_rewrites_marker ... ok
[INFO] [stdout] test parser::graph::tests::from_graph_empty_label_edge ... ok
[INFO] [stdout] test parser::graph::tests::intentional_orphans_ignores_floating_tags ... ok
[INFO] [stdout] test parser::graph::tests::intentional_orphans_marker_and_subtree ... ok
[INFO] [stdout] test parser::graph::tests::lint_keeps_orphan_subtree_on_empty_folder ... ok
[INFO] [stdout] test parser::graph::tests::remove_edges_targeting_basic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 250 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a68a543014b61422f3446fb98945a888fb76972cc7f571313faa35cb3423a886", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a68a543014b61422f3446fb98945a888fb76972cc7f571313faa35cb3423a886", kill_on_drop: false }`
[INFO] [stdout] a68a543014b61422f3446fb98945a888fb76972cc7f571313faa35cb3423a886
