[INFO] fetching crate xenolith 0.1.0...
[INFO] testing xenolith-0.1.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate xenolith 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate xenolith 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate xenolith 0.1.0
[INFO] tweaked toml for crates.io crate xenolith 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate xenolith 0.1.0 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 crates.io crate xenolith 0.1.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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | homepage = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82 | repository = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |              -------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `xenolith` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d
[INFO] running `Command { std: "docker" "start" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d", 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" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d" "/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" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d", 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" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | homepage = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82 | repository = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |              -------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `xenolith` (manifest) generated 1 warning
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.13
[INFO] [stderr]    Compiling tree-sitter-language v0.1.8
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling xenolith-shebang v0.1.0
[INFO] [stderr]    Compiling cc v1.4.7
[INFO] [stderr]    Compiling xenolith-lang-api v0.1.0
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling rnix v0.14.0
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling tree-sitter-xml v0.7.0
[INFO] [stderr]    Compiling tree-sitter-bash v0.25.1
[INFO] [stderr]    Compiling xenolith-lang-tcl v0.1.0
[INFO] [stderr]    Compiling xenolith-lang-pkl v0.1.0
[INFO] [stderr]    Compiling xenolith-lang-just v0.1.0
[INFO] [stderr]    Compiling xenolith-lang-nix v0.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml v1.1.4+spec-1.1.0
[INFO] [stderr]    Compiling tree-sitter v0.27.0
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling xenolith-lang-xml v0.1.0
[INFO] [stderr]    Compiling xenolith-lang-shell v0.1.0
[INFO] [stderr]    Compiling xenolith v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.45s
[INFO] running `Command { std: "docker" "inspect" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d", 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" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | homepage = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82 | repository = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |              -------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `xenolith` (manifest) generated 1 warning
[INFO] [stderr]    Compiling xenolith v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 13.53s
[INFO] running `Command { std: "docker" "inspect" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d", 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" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | homepage = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82 | repository = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |              -------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `xenolith` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/xenolith/1022f36c532865f0/out/xenolith-1022f36c532865f0)
[INFO] [stdout] 
[INFO] [stdout] running 706 tests
[INFO] [stdout] test check::tests::a_body_past_trivial_that_names_no_construct_is_more_than_trivial ... ok
[INFO] [stdout] test check::tests::a_body_the_host_cannot_unescape_is_flagged_not_judged_raw ... ok
[INFO] [stdout] test check::tests::a_compiled_out_guest_refuses_by_default_naming_its_feature ... ok
[INFO] [stdout] test check::tests::a_compiled_out_guest_under_warn_is_a_warning_and_under_ignore_nothing ... ok
[INFO] [stdout] test check::tests::a_file_of_a_compiled_out_host_names_the_feature_under_strict ... ok
[INFO] [stdout] test check::tests::a_config_inside_an_excluded_tree_is_never_read ... ok
[INFO] [stdout] test check::tests::a_broken_nested_config_refuses_with_exit_two_naming_it ... ok
[INFO] [stdout] test check::tests::a_command_in_a_direction_quotes_its_path_for_the_shell ... ok
[INFO] [stdout] test check::tests::a_guest_without_constructs_or_a_size_ceiling_is_flagged_plainly ... ok
[INFO] [stdout] test check::tests::a_guest_without_constructs_is_judged_by_its_size_ceiling ... ok
[INFO] [stdout] test check::tests::a_line_within_the_ceiling_is_still_judged_by_its_guest ... ok
[INFO] [stdout] test check::tests::a_hole_reaches_the_guest_as_a_plain_word_and_makes_extraction_a_judgement ... ok
[INFO] [stdout] test check::tests::a_just_recipe_of_two_lines_is_flagged_and_one_line_is_not ... ok
[INFO] [stdout] test check::tests::a_nested_allow_path_is_relative_to_its_file_and_holds_standalone ... ok
[INFO] [stdout] test check::tests::a_nested_exclude_glob_is_relative_to_its_file ... ok
[INFO] [stdout] test check::tests::a_nested_line_ceiling_governs_its_subtree ... ok
[INFO] [stdout] test check::tests::a_guest_no_crate_provides_is_named_without_a_feature_that_does_not_exist ... ok
[INFO] [stdout] test check::tests::a_nested_scalar_overrides_the_root_for_its_subtree ... ok
[INFO] [stdout] test check::tests::a_file_that_is_not_utf8_is_a_host_parse_error_by_default ... ok
[INFO] [stdout] test check::tests::a_refused_write_stops_the_unclaimed_message_where_it_failed ... ok
[INFO] [stdout] test check::tests::a_nested_allow_never_covers_a_site_outside_its_subtree ... ok
[INFO] [stdout] test check::tests::a_host_parse_error_is_a_violation_by_default ... ok
[INFO] [stdout] test check::tests::a_host_parse_error_follows_parse_host_errors ... ok
[INFO] [stdout] test check::tests::a_single_command_is_clean ... ok
[INFO] [stdout] test check::tests::a_pkl_hk_step_holding_a_script_is_flagged ... ok
[INFO] [stdout] test check::tests::a_threshold_never_flags_a_trivial_body ... ok
[INFO] [stdout] test check::tests::a_stale_allow_in_a_nested_file_is_reported_at_that_file ... ok
[INFO] [stdout] test check::tests::a_threshold_relaxes_exactly_the_constructs_it_lists ... ok
[INFO] [stdout] test check::tests::a_script_is_a_violation_carrying_every_field ... ok
[INFO] [stdout] test check::tests::a_zero_line_ceiling_flags_nothing_a_single_line_would_not ... ok
[INFO] [stdout] test check::tests::a_just_line_ceiling_keeps_recipes_within_it_inline ... ok
[INFO] [stdout] test check::tests::an_absolute_or_dotted_path_under_the_root_is_named_repo_relative ... ok
[INFO] [stdout] test check::tests::an_absolute_path_outside_the_root_is_refused ... ok
[INFO] [stdout] test check::tests::an_allow_for_a_file_this_run_did_not_scan_is_not_judged ... ok
[INFO] [stdout] test check::tests::an_allow_whose_body_changed_is_stale_at_the_site ... ok
[INFO] [stdout] test check::tests::a_nested_config_governs_its_subtree_and_nothing_else ... ok
[INFO] [stdout] test check::tests::an_allow_for_a_file_that_did_not_parse_is_not_stale ... ok
[INFO] [stdout] test check::tests::an_allowed_site_is_clean ... ok
[INFO] [stdout] test check::tests::an_allow_whose_site_is_gone_is_stale_at_its_entry ... ok
[INFO] [stdout] test check::tests::an_excluded_file_is_never_read ... ok
[INFO] [stdout] test check::tests::an_unclaimed_file_is_neither_scanned_nor_reported_by_default ... ok
[INFO] [stdout] test check::tests::an_unparseable_body_is_flagged_not_passed ... ok
[INFO] [stdout] test check::tests::an_unclaimed_file_names_only_a_feature_that_exists ... ok
[INFO] [stdout] test check::tests::body_hash_is_fnv1a_64_in_hex ... ok
[INFO] [stdout] test check::tests::guest_text_replaces_every_hole_inside_the_body ... ok
[INFO] [stdout] test check::tests::constructs_that_fail_to_parse_make_the_body_unparseable ... ok
[INFO] [stdout] test check::tests::by_default_unclaimed_files_are_neither_scanned_nor_mentioned ... ok
[INFO] [stdout] test check::tests::a_symlinked_candidate_is_skipped_with_discovery_s_warning ... ok
[INFO] [stdout] test check::tests::guest_text_skips_a_hole_inside_one_already_replaced ... ok
[INFO] [stdout] test check::tests::head_is_the_first_line_only ... ok
[INFO] [stdout] test check::tests::a_whole_tree_run_reads_nested_configs_too ... ok
[INFO] [stdout] test check::tests::nix_shell::a_multi_command_zsh_init_content_is_flagged ... ok
[INFO] [stdout] test check::tests::nix_shell::a_concatenated_shell_hook_is_flagged_in_its_literal ... ok
[INFO] [stdout] test check::tests::nix_shell::a_nix_file_led_by_a_byte_order_mark_fails_the_run_by_default ... ok
[INFO] [stdout] test check::tests::nix_shell::a_nix_and_and_script_is_flagged ... ok
[INFO] [stdout] test check::tests::nix_shell::a_plain_etc_text_is_not_a_site ... ok
[INFO] [stdout] test check::tests::nix_shell::a_hole_the_shell_would_not_expand_is_a_judgement_saying_why ... ok
[INFO] [stdout] test check::tests::lines_within_the_ceiling_are_judged_one_by_one ... ok
[INFO] [stdout] test check::tests::nix_shell::a_single_command_post_install_is_clean ... ok
[INFO] [stdout] test check::tests::nix_shell::a_shebang_led_etc_text_is_flagged ... ok
[INFO] [stdout] test check::tests::nix_shell::a_single_export_in_bash_init_is_clean ... ok
[INFO] [stdout] test check::tests::nix_shell::a_script_with_holes_extract_would_move_is_mechanical_too ... ok
[INFO] [stdout] test check::tests::nix_shell::a_single_nix_command_is_clean ... ok
[INFO] [stdout] test check::tests::nix_shell::a_zsh_setopt_one_liner_is_clean ... ok
[INFO] [stdout] test check::tests::nix_shell::a_script_extract_would_move_is_a_mechanical_direction ... ok
[INFO] [stdout] test check::tests::nix_shell::an_allowed_nix_script_is_clean_and_a_stale_allow_is_flagged ... ok
[INFO] [stdout] test check::tests::nix_shell::a_three_command_pre_check_is_flagged ... ok
[INFO] [stdout] test check::tests::position_is_one_based_and_counts_characters ... ok
[INFO] [stdout] test check::tests::repo_name_drops_dot_components_and_uses_slashes ... ok
[INFO] [stdout] test check::tests::outside_git_without_paths_is_refused_with_exit_two ... ok
[INFO] [stdout] test check::tests::strict_hosts_refuses_whatever_the_config_says ... ok
[INFO] [stdout] test check::tests::nix_shell::zsh_the_bash_grammar_cannot_read_is_a_judgement_not_unparseable ... ok
[INFO] [stdout] test check::tests::shell_word_quotes_only_what_a_shell_would_split_or_expand ... ok
[INFO] [stdout] test check::tests::the_guest_reads_the_body_the_host_unescaped ... ok
[INFO] [stdout] test check::tests::two_lines_run_line_by_line_are_flagged_at_the_default_ceiling ... ok
[INFO] [stdout] test check::tests::unclaimed_error_refuses_with_exit_two_host_unsupported ... ok
[INFO] [stdout] test check::tests::nix_shell::an_indented_heredoc_is_judged_by_construct_not_as_unparseable ... ok
[INFO] [stdout] test check::tests::unclaimed_warn_is_one_warning_per_file_and_no_exit_code ... ok
[INFO] [stdout] test check::tests::the_allow_direction_names_the_nearest_config_and_a_path_relative_to_it ... ok
[INFO] [stdout] test check::tests::the_extract_direction_is_a_judgement_saying_why_extract_would_refuse ... ok
[INFO] [stdout] test check::tests::a_whole_tree_run_keeps_the_allows_of_a_file_that_did_not_parse ... ok
[INFO] [stdout] test cli::args::tests::a_bare_line_with_no_path_is_refused ... ok
[INFO] [stdout] test cli::args::tests::a_boolean_flag_refuses_an_attached_value ... ok
[INFO] [stdout] test cli::args::tests::a_bundle_of_short_flags_is_an_unknown_flag ... ok
[INFO] [stdout] test cli::args::tests::a_flag_before_the_verb_is_refused ... ok
[INFO] [stdout] test check::tests::under_root_resolves_dots_and_refuses_a_climb_out ... ok
[INFO] [stdout] test check::tests::violations_come_out_sorted_whatever_the_order_named ... ok
[INFO] [stdout] test cli::args::tests::a_line_too_large_to_count_is_refused ... ok
[INFO] [stdout] test cli::args::tests::a_flag_of_another_verb_is_refused ... ok
[INFO] [stdout] test cli::args::tests::a_flag_that_is_not_utf8_is_refused_not_a_panic ... ok
[INFO] [stdout] test check::tests::an_allow_for_a_file_no_host_in_this_build_claims_is_not_stale ... ok
[INFO] [stdout] test check::tests::a_whole_tree_run_reports_an_exclude_matching_no_tracked_file ... ok
[INFO] [stdout] test cli::args::tests::a_lone_dash_is_a_path ... ok
[INFO] [stdout] test cli::args::tests::a_repeated_boolean_flag_is_harmless ... ok
[INFO] [stdout] test cli::args::tests::a_path_that_is_not_utf8_is_kept_as_bytes ... ok
[INFO] [stdout] test cli::args::tests::an_unknown_first_word_is_named ... ok
[INFO] [stdout] test cli::args::tests::an_unknown_format_is_named_with_the_choices ... ok
[INFO] [stdout] test cli::args::tests::an_unknown_flag_is_named_with_its_verb ... ok
[INFO] [stdout] test cli::args::tests::check_keeps_paths_in_the_order_given ... ok
[INFO] [stdout] test cli::args::tests::every_format_name_parses_for_check_and_graph ... ok
[INFO] [stdout] test cli::args::tests::extract_defaults_to_the_diff_without_relocating ... ok
[INFO] [stdout] test cli::args::tests::extract_reads_a_trailing_line_number ... ok
[INFO] [stdout] test check::tests::nix_shell::a_shebang_named_guest_this_build_lacks_is_a_warning_whatever_the_policy ... ok
[INFO] [stdout] test cli::args::tests::check_with_nothing_is_human_over_no_paths ... ok
[INFO] [stdout] test cli::args::tests::extract_needs_at_least_one_path ... ok
[INFO] [stdout] test cli::args::tests::double_dash_ends_the_flags ... ok
[INFO] [stdout] test cli::args::tests::format_takes_a_separate_or_an_attached_value ... ok
[INFO] [stdout] test cli::args::tests::inline_needs_an_extract_and_takes_no_other_verb_s_flag ... ok
[INFO] [stdout] test cli::args::tests::format_does_not_swallow_a_following_flag_as_its_value ... ok
[INFO] [stdout] test cli::args::tests::format_names_round_trip ... ok
[INFO] [stdout] test cli::args::tests::format_without_a_value_is_refused ... ok
[INFO] [stdout] test check::tests::without_paths_the_tracked_files_are_checked ... ok
[INFO] [stdout] test cli::args::tests::inline_takes_extracts_and_write ... ok
[INFO] [stdout] test cli::args::tests::langs_has_no_sarif ... ok
[INFO] [stdout] test cli::args::tests::langs_takes_human_and_json ... ok
[INFO] [stdout] test cli::args::tests::lint_defaults ... ok
[INFO] [stdout] test cli::args::tests::langs_takes_no_paths ... ok
[INFO] [stdout] test cli::args::tests::line_zero_is_refused ... ok
[INFO] [stdout] test cli::args::tests::migrate_takes_no_paths_and_no_format ... ok
[INFO] [stdout] test cli::args::tests::lint_takes_fix_trust_config_and_format ... ok
[INFO] [stdout] test cli::args::tests::migrate_takes_write_verbose_and_strict_hosts ... ok
[INFO] [stdout] test cli::args::tests::no_arguments_is_a_usage_error ... ok
[INFO] [stdout] test cli::args::tests::lint_takes_sites ... ok
[INFO] [stdout] test cli::args::tests::the_last_format_wins ... ok
[INFO] [stdout] test cli::args::tests::verb_names_are_the_words_typed ... ok
[INFO] [stdout] test cli::args::tests::verbose_and_strict_hosts_are_accepted_by_every_verb ... ok
[INFO] [stdout] test cli::args::tests::version_ignores_what_follows_it ... ok
[INFO] [stdout] test cli::args::tests::only_an_all_digit_suffix_is_a_line ... ok
[INFO] [stdout] test cli::args::tests::the_line_is_split_at_the_last_colon ... ok
[INFO] [stdout] test cli::args::tests::version_long_and_short_are_the_version_verb ... ok
[INFO] [stdout] test cli::check::tests::a_clean_report_is_exit_zero_and_silent_on_stdout ... ok
[INFO] [stdout] test cli::check::tests::a_config_that_does_not_parse_is_refused_naming_the_key ... ok
[INFO] [stdout] test cli::check::tests::a_config_error_is_exit_two_on_stderr ... ok
[INFO] [stdout] test cli::check::tests::a_named_path_that_does_not_exist_is_exit_two ... ok
[INFO] [stdout] test cli::check::tests::json_is_the_envelope_on_stdout_with_warnings_inside ... ok
[INFO] [stdout] test cli::check::tests::human_puts_violations_on_stdout_and_warnings_on_stderr ... ok
[INFO] [stdout] test cli::check::tests::no_config_file_is_the_defaults ... ok
[INFO] [stdout] test cli::check::tests::strict_hosts_makes_an_unclaimed_file_exit_two ... ok
[INFO] [stdout] test cli::check::tests::verbose_adds_a_count_line_last_on_stderr ... ok
[INFO] [stdout] test cli::extract::tests::a_refusal_goes_to_stderr_and_exits_two_over_a_diff ... ok
[INFO] [stdout] test cli::extract::tests::an_empty_edit_is_silent_and_exits_zero ... ok
[INFO] [stdout] test cli::extract::tests::the_diff_alone_goes_to_stdout_and_exits_one ... ok
[INFO] [stdout] test cli::args::tests::extract_takes_write_and_relocate ... ok
[INFO] [stdout] test cli::args::tests::format_names_are_exact ... ok
[INFO] [stdout] test cli::args::tests::migrate_defaults_to_the_diff ... ok
[INFO] [stdout] test cli::extract::tests::a_file_no_host_claims_has_nothing_to_extract ... ok
[INFO] [stdout] test cli::extract::tests::a_missing_path_or_a_broken_config_exits_two ... ok
[INFO] [stdout] test cli::graph::tests::a_missing_path_is_the_engines_refusal ... ok
[INFO] [stdout] test cli::graph::tests::a_config_that_does_not_parse_is_refused ... ok
[INFO] [stdout] test cli::graph::tests::a_named_extract_alone_is_clean_and_silent ... ok
[INFO] [stdout] test cli::graph::tests::json_is_the_graph_envelope_on_stdout_only ... ok
[INFO] [stdout] test cli::graph::tests::human_is_silent_on_success_unless_verbose ... ok
[INFO] [stdout] test cli::graph::tests::human_puts_violations_and_the_summary_on_stdout ... ok
[INFO] [stdout] test cli::inline::tests::a_config_that_does_not_parse_is_refused ... ok
[INFO] [stdout] test cli::inline::tests::a_missing_extract_is_the_engine_s_refusal_naming_the_verb ... ok
[INFO] [stdout] test cli::langs::tests::human_columns_line_up ... ok
[INFO] [stdout] test cli::extract::tests::a_removed_file_changed_since_the_plan_stops_the_write ... ok
[INFO] [stdout] test cli::extract::tests::write_with_a_refusal_still_writes_the_rest_and_exits_two ... ok
[INFO] [stdout] test cli::langs::tests::human_is_one_line_per_language_in_langid_order ... ok
[INFO] [stdout] test cli::langs::tests::json_is_byte_stable ... ok
[INFO] [stdout] test cli::lint::tests::a_clean_run_is_silent_unless_verbose ... ok
[INFO] [stdout] test cli::langs::tests::json_lists_every_language_in_langid_order ... ok
[INFO] [stdout] test cli::lint::tests::a_config_that_does_not_parse_is_refused ... ok
[INFO] [stdout] test cli::lint::tests::a_fixer_that_did_not_pass_says_so ... ok
[INFO] [stdout] test cli::langs::tests::json_is_the_shared_envelope_plus_langs ... ok
[INFO] [stdout] test cli::lint::tests::a_named_path_that_does_not_exist_is_refused_by_discovery ... ok
[INFO] [stdout] test cli::lint::tests::a_run_the_engine_completes_is_rendered_with_its_exit_code ... ok
[INFO] [stdout] test cli::lint::tests::human_lists_what_did_not_pass_with_its_tail_then_the_summary ... ok
[INFO] [stdout] test cli::lint::tests::human_puts_one_line_per_finding_in_place_of_the_tail ... ok
[INFO] [stdout] test cli::lint::tests::fix_is_routed_to_the_engine ... ok
[INFO] [stdout] test cli::lint::tests::json_is_the_envelope_on_stdout ... ok
[INFO] [stdout] test cli::lint::tests::trust_config_is_routed_to_the_engine ... ok
[INFO] [stdout] test cli::langs::tests::json_entries_carry_exactly_id_feature_and_compiled_in ... ok
[INFO] [stdout] test cli::lint::tests::sites_is_routed_to_the_engine ... ok
[INFO] [stdout] test cli::check::tests::a_nix_script_is_exit_one_and_a_single_command_exit_zero ... ok
[INFO] [stdout] test cli::migrate::tests::a_comment_separated_from_its_entry_by_a_blank_line_is_a_header ... ok
[INFO] [stdout] test cli::migrate::tests::a_legacy_list_is_one_path_per_line_with_comments_and_blanks_skipped ... ok
[INFO] [stdout] test cli::migrate::tests::a_new_comment_block_between_entries_replaces_the_shared_one ... ok
[INFO] [stdout] test cli::migrate::tests::an_empty_list_has_no_entries ... ok
[INFO] [stdout] test cli::extract::tests::write_says_which_files_it_removed_when_verbose ... ok
[INFO] [stdout] test cli::extract::tests::write_applies_the_edit_and_says_what_it_wrote_when_verbose ... ok
[INFO] [stdout] test cli::migrate::tests::an_existing_config_is_refused_not_merged ... ok
[INFO] [stdout] test cli::migrate::tests::listed_files_that_are_gone_or_outside_the_root_are_warned_about ... ok
[INFO] [stdout] test cli::migrate::tests::legacy_lists_are_found_at_the_root_only_and_sorted ... ok
[INFO] [stdout] test cli::migrate::tests::a_pkl_list_becomes_an_allow_for_the_hk_step ... ok
[INFO] [stdout] test cli::migrate::tests::strict_hosts_passes_through_to_the_engine ... ok
[INFO] [stdout] test cli::migrate::tests::no_legacy_list_is_nothing_to_do_and_silent ... ok
[INFO] [stdout] test cli::migrate::tests::surrounding_whitespace_and_crlf_are_not_part_of_a_path ... ok
[INFO] [stdout] test cli::migrate::tests::the_diff_creates_the_file_line_by_line ... ok
[INFO] [stdout] test cli::migrate::tests::render_of_no_allow_is_the_version_alone_and_parses ... ok
[INFO] [stdout] test cli::migrate::tests::the_legacy_names_are_dot_lang_embedded_shell_allowlist ... ok
[INFO] [stdout] test cli::migrate::tests::render_writes_the_version_then_one_table_per_allow ... ok
[INFO] [stdout] test cli::migrate::tests::a_listed_file_under_a_symlinked_directory_is_warned_about_not_fatal ... ok
[INFO] [stdout] test cli::migrate::tests::toml_strings_are_basic_strings_with_escapes ... ok
[INFO] [stdout] test cli::tests::a_refusal_to_a_closed_stderr_leaves_stdout_empty ... ok
[INFO] [stdout] test cli::tests::a_usage_error_is_followed_by_the_usage ... ok
[INFO] [stdout] test cli::migrate::tests::a_listed_file_no_host_claims_holds_no_site ... ok
[INFO] [stdout] test cli::migrate::tests::write_creates_the_file_and_prints_nothing ... ok
[INFO] [stdout] test cli::tests::check_is_routed_to_its_engine_not_refused ... ok
[INFO] [stdout] test cli::tests::dash_capital_v_is_the_short_form ... ok
[INFO] [stdout] test cli::tests::extract_is_routed_to_its_engine_not_refused ... ok
[INFO] [stdout] test cli::tests::graph_is_routed_to_its_engine_not_refused ... ok
[INFO] [stdout] test cli::tests::langs_json_is_the_envelope_with_langs ... ok
[INFO] [stdout] test cli::tests::an_unknown_word_or_flag_is_refused_by_name ... ok
[INFO] [stdout] test cli::tests::dash_lowercase_v_is_not_version ... ok
[INFO] [stdout] test cli::tests::flags_are_parsed_before_a_verb_is_refused ... ok
[INFO] [stdout] test cli::tests::lint_is_routed_to_its_engine_not_refused ... ok
[INFO] [stdout] test cli::tests::migrate_is_routed_to_its_engine_not_refused ... ok
[INFO] [stdout] test cli::tests::no_arguments_prints_the_usage_on_stderr ... ok
[INFO] [stdout] test cli::tests::refuse_to_a_closed_stderr_still_exits_two ... ok
[INFO] [stdout] test cli::tests::relocate_and_inline_are_routed_to_their_engines_not_refused ... ok
[INFO] [stdout] test cli::tests::refuse_writes_the_message_and_a_newline ... ok
[INFO] [stdout] test cli::tests::sarif_is_refused_naming_its_own_task ... ok
[INFO] [stdout] test cli::tests::langs_lists_every_language_on_stdout_and_exits_zero ... ok
[INFO] [stdout] test cli::tests::langs_to_a_closed_stdout_does_not_panic ... ok
[INFO] [stdout] test cli::tests::version_to_a_closed_stdout_does_not_panic ... ok
[INFO] [stdout] test cli::tests::the_usage_exit_code_is_two ... ok
[INFO] [stdout] test cli::tests::version_looks_only_at_the_first_argument ... ok
[INFO] [stdout] test config::allow::tests::an_allow_matches_the_site_key_directly ... ok
[INFO] [stdout] test config::allow::tests::an_allow_no_seen_site_matches_is_stale ... ok
[INFO] [stdout] test cli::tests::version_after_a_verb_is_an_unknown_flag_of_that_verb ... ok
[INFO] [stdout] test config::allow::tests::an_edit_to_the_body_invalidates_the_allow ... ok
[INFO] [stdout] test config::allow::tests::an_allow_whose_body_changed_is_stale ... ok
[INFO] [stdout] test cli::tests::version_prints_the_library_version_on_stdout ... ok
[INFO] [stdout] test config::allow::tests::duplicate_entries_for_one_seen_site_are_both_not_stale ... ok
[INFO] [stdout] test config::allow::tests::a_config_without_allows_has_nothing_stale ... ok
[INFO] [stdout] test config::allow::tests::an_allow_matches_its_own_path_sink_and_hash ... ok
[INFO] [stdout] test config::allow::tests::another_sink_or_another_file_is_not_covered ... ok
[INFO] [stdout] test config::allow::tests::matching_is_exact_never_a_prefix_or_pattern ... ok
[INFO] [stdout] test config::defaults::tests::a_closed_set_default_is_one_of_its_own_choices ... ok
[INFO] [stdout] test config::allow::tests::with_no_sites_seen_every_allow_is_stale_in_file_order ... ok
[INFO] [stdout] test config::defaults::tests::choice_is_a_string_default_with_its_closed_set ... ok
[INFO] [stdout] test config::allow::tests::the_order_of_seen_sites_does_not_change_the_answer ... ok
[INFO] [stdout] test config::allow::tests::every_allow_matched_by_a_seen_site_is_not_stale ... ok
[INFO] [stdout] test config::allow::tests::the_first_matching_entry_is_the_one_reported ... ok
[INFO] [stdout] test config::defaults::tests::each_row_holds_its_named_constant ... ok
[INFO] [stdout] test config::defaults::tests::every_closed_set_is_distinct ... ok
[INFO] [stdout] test config::defaults::tests::every_key_is_dotted_lowercase ... ok
[INFO] [stdout] test config::defaults::tests::the_defaults_are_the_values_the_spec_states ... ok
[INFO] [stdout] test config::defaults::tests::the_only_derived_row_is_the_rule_base ... ok
[INFO] [stdout] test config::defaults::tests::the_table_holds_every_default_the_spec_names ... ok
[INFO] [stdout] test config::defaults::tests::the_table_keys_are_unique_and_sorted ... ok
[INFO] [stdout] test config::exclude::tests::a_blank_reason_is_refused ... ok
[INFO] [stdout] test config::defaults::tests::the_literal_guard_skips_a_missing_directory ... ok
[INFO] [stdout] test config::exclude::tests::a_directory_covers_everything_beneath_it ... ok
[INFO] [stdout] test cli::migrate::tests::a_file_in_two_lists_gets_its_sites_once_from_the_first_list ... ok
[INFO] [stdout] test config::exclude::tests::a_double_star_spans_any_number_of_segments ... ok
[INFO] [stdout] test config::exclude::tests::a_glob_is_anchored_at_the_root ... ok
[INFO] [stdout] test config::exclude::tests::a_glob_matching_no_tracked_file_is_stale_naming_its_entry ... ok
[INFO] [stdout] test config::exclude::tests::a_literal_glob_matches_only_itself ... ok
[INFO] [stdout] test config::defaults::tests::only_string_rows_carry_choices ... ok
[INFO] [stdout] test config::defaults::tests::row_is_a_free_value_with_no_choices ... ok
[INFO] [stdout] test config::exclude::tests::a_malformed_glob_is_refused ... ok
[INFO] [stdout] test config::exclude::tests::a_glob_matching_a_tracked_file_is_not_stale ... ok
[INFO] [stdout] test config::exclude::tests::a_missing_or_empty_glob_is_refused ... ok
[INFO] [stdout] test config::exclude::tests::a_per_verb_exclude_applies_to_its_verb_only ... ok
[INFO] [stdout] test config::exclude::tests::a_star_stays_inside_one_segment ... ok
[INFO] [stdout] test config::defaults::tests::the_literal_guard_walks_nested_modules ... ok
[INFO] [stdout] test config::exclude::tests::a_top_level_exclude_parses_with_its_reason ... ok
[INFO] [stdout] test config::exclude::tests::every_per_verb_list_parses_into_its_own_verb ... ok
[INFO] [stdout] test config::exclude::tests::no_file_means_nothing_excluded ... ok
[INFO] [stdout] test config::exclude::tests::question_marks_and_classes_match_one_character ... ok
[INFO] [stdout] test config::exclude::tests::the_vendored_dir_is_excluded_for_every_verb ... ok
[INFO] [stdout] test config::exclude::tests::stale_entries_come_in_a_fixed_order ... ok
[INFO] [stdout] test config::exclude::tests::verbs_have_stable_names ... ok
[INFO] [stdout] test config::exclude::tests::a_wrong_shape_is_refused_naming_the_key ... ok
[INFO] [stdout] test config::exclude::tests::an_unknown_key_in_an_exclude_entry_is_refused ... ok
[INFO] [stdout] test config::exclude::tests::an_unknown_key_in_a_verb_table_is_refused ... ok
[INFO] [stdout] test config::exclude::tests::an_exclude_without_a_reason_is_refused_everywhere ... ok
[INFO] [stdout] test config::tests::a_file_that_is_not_toml_is_refused ... ok
[INFO] [stdout] test config::tests::a_file_without_version_is_refused_naming_the_supported_one ... ok
[INFO] [stdout] test config::exclude::tests::with_no_tracked_files_every_exclude_is_stale ... ok
[INFO] [stdout] test config::tests::a_lint_table_for_an_unknown_guest_is_refused ... ok
[INFO] [stdout] test config::tests::a_construct_name_is_matched_exactly ... ok
[INFO] [stdout] test config::tests::a_layout_outside_its_choices_is_refused_listing_them ... ok
[INFO] [stdout] test config::tests::a_langs_value_outside_its_choices_is_refused_listing_them ... ok
[INFO] [stdout] test config::tests::a_depth_below_one_is_refused ... ok
[INFO] [stdout] test config::tests::a_rule_matching_on_nothing_is_refused ... ok
[INFO] [stdout] test config::tests::a_wrong_type_is_refused_naming_the_key ... ok
[INFO] [stdout] test config::tests::a_negative_threshold_is_refused ... ok
[INFO] [stdout] test config::tests::a_threshold_section_that_is_not_a_table_is_refused ... ok
[INFO] [stdout] test config::tests::an_allow_entry_is_keyed_by_path_sink_and_hash ... ok
[INFO] [stdout] test config::tests::a_negative_just_line_ceiling_is_refused ... ok
[INFO] [stdout] test config::tests::an_allow_entry_missing_any_key_part_is_refused ... ok
[INFO] [stdout] test config::tests::a_rule_naming_an_unknown_language_is_refused ... ok
[INFO] [stdout] test config::tests::an_allow_entry_keyed_by_position_is_refused ... ok
[INFO] [stdout] test config::tests::an_allow_entry_with_a_blank_reason_is_refused ... ok
[INFO] [stdout] test config::tests::an_allow_entry_without_a_reason_is_refused ... ok
[INFO] [stdout] test config::tests::an_unknown_key_has_no_effective_value_or_source ... ok
[INFO] [stdout] test config::tests::a_minimal_file_is_the_defaults ... ok
[INFO] [stdout] test config::tests::an_allow_entry_with_a_wildcard_path_is_refused ... ok
[INFO] [stdout] test config::tests::an_unknown_threshold_guest_is_refused_listing_the_languages ... ok
[INFO] [stdout] test config::tests::an_unknown_key_inside_a_known_table_is_refused ... ok
[INFO] [stdout] test config::tests::an_unknown_top_level_key_is_refused ... ok
[INFO] [stdout] test config::tests::an_unknown_version_is_refused_naming_the_supported_one ... ok
[INFO] [stdout] test config::tests::every_shell_construct_in_the_schema_is_accepted ... ok
[INFO] [stdout] test config::tests::an_unknown_threshold_key_is_refused ... ok
[INFO] [stdout] test config::tests::an_unknown_shell_construct_is_refused_naming_it_and_the_choices ... ok
[INFO] [stdout] test config::tests::every_default_is_what_an_empty_config_resolves_to ... ok
[INFO] [stdout] test config::tests::every_default_is_parsed_and_overridable ... ok
[INFO] [stdout] test config::tests::only_a_host_that_has_a_line_ceiling_reports_one ... ok
[INFO] [stdout] test config::tests::the_engine_reads_thresholds_resolved_per_guest ... ok
[INFO] [stdout] test cli::migrate::tests::a_nix_list_becomes_one_allow_per_flagged_site ... ok
[INFO] [stdout] test config::tests::sections_owned_by_later_tasks_are_accepted_not_rejected ... ok
[INFO] [stdout] test config::tests::extract_layout_and_rules_parse ... ok
[INFO] [stdout] test config::tests::the_just_line_ceiling_defaults_to_one_and_is_adjustable ... ok
[INFO] [stdout] test config::tests::guest_thresholds_parse_per_guest ... ok
[INFO] [stdout] test config::tests::the_langs_toggles_parse ... ok
[INFO] [stdout] test config::tests::the_derived_rule_base_is_overridable_per_rule ... ok
[INFO] [stdout] test config::tests::the_lint_map_parses ... ok
[INFO] [stdout] test config::tests::the_just_table_has_no_byte_ceiling ... ok
[INFO] [stdout] test config::tree::tests::a_key_the_nested_file_leaves_unset_is_inherited ... ok
[INFO] [stdout] test config::tests::the_old_spec_names_are_refused_the_classifier_never_emits_them ... ok
[INFO] [stdout] test config::tree::tests::a_nested_file_without_version_is_refused ... ok
[INFO] [stdout] test config::tree::tests::a_nested_file_governs_its_subtree_only ... ok
[INFO] [stdout] test config::tree::tests::a_scalar_is_overridden_by_the_nearest_file ... ok
[INFO] [stdout] test config::tree::tests::file_in_names_the_config_of_a_directory ... ok
[INFO] [stdout] test config::tree::tests::extract_rules_append ... ok
[INFO] [stdout] test config::tree::tests::excludes_append_and_a_nested_glob_is_relative_to_its_file ... ok
[INFO] [stdout] test config::tree::tests::guest_thresholds_merge_field_by_field ... ok
[INFO] [stdout] test config::tree::tests::a_nested_file_that_does_not_parse_is_refused_naming_it_and_the_key ... ok
[INFO] [stdout] test config::tree::tests::layers_are_the_root_first_then_each_file_by_directory_rebased ... ok
[INFO] [stdout] test config::tree::tests::allows_append_and_a_nested_path_is_relative_to_its_file ... ok
[INFO] [stdout] test config::tree::tests::a_version_differing_from_the_chain_is_refused_naming_both_files ... ok
[INFO] [stdout] test config::tree::tests::lint_guest_tables_merge_field_by_field_and_their_lists_append ... ok
[INFO] [stdout] test config::tree::tests::load_keeps_the_root_config_it_is_given ... ok
[INFO] [stdout] test config::tree::tests::load_never_reads_outside_the_root ... ok
[INFO] [stdout] test config::tree::tests::load_never_opens_a_config_its_verb_excludes ... ok
[INFO] [stdout] test config::tree::tests::load_reads_every_file_on_the_way_down_and_skips_directories_without_one ... ok
[INFO] [stdout] test config::tree::tests::the_just_line_ceiling_is_set_per_subtree ... ok
[INFO] [stdout] test config::tree::tests::every_table_key_is_overridable_from_a_nested_file ... ok
[INFO] [stdout] test discover::symlink::tests::a_path_that_does_not_exist_has_no_symlinked_component ... ok
[INFO] [stdout] test discover::symlink::tests::a_plain_path_has_no_symlinked_component ... ok
[INFO] [stdout] test config::tree::tests::nearest_names_the_governing_directory ... ok
[INFO] [stdout] test config::tree::tests::no_file_anywhere_is_the_defaults ... ok
[INFO] [stdout] test config::tree::tests::threshold_shell_allow_overrides_rather_than_appends ... ok
[INFO] [stdout] test discover::symlink::tests::a_symlink_named_with_a_dot_prefix_is_still_refused ... ok
[INFO] [stdout] test config::tree::tests::load_merges_each_layer_once_to_the_same_tree_with_builds ... ok
[INFO] [stdout] test discover::symlink::tests::a_walked_directory_skips_its_symlinks_and_does_not_enter_linked_dirs ... ok
[INFO] [stdout] test discover::symlink::tests::an_absolute_path_outside_the_root_is_judged_by_its_last_component ... ok
[INFO] [stdout] test discover::symlink::tests::an_absolute_path_under_the_root_is_judged_below_the_root_only ... ok
[INFO] [stdout] test discover::symlink::tests::a_symlink_among_other_named_files_still_refuses_the_run ... ok
[INFO] [stdout] test discover::symlink::tests::a_tracked_symlinked_file_is_skipped_with_a_warning ... ok
[INFO] [stdout] test discover::symlink::tests::an_explicitly_named_dangling_symlink_is_a_symlink_refusal_not_missing ... ok
[INFO] [stdout] test discover::symlink::tests::a_tracked_file_whose_directory_became_a_symlink_is_skipped ... ok
[INFO] [stdout] test discover::symlink::tests::a_tracked_symlinked_directory_is_skipped_and_not_followed ... ok
[INFO] [stdout] test discover::symlink::tests::dot_dot_is_not_folded_past_a_symlinked_directory ... ok
[INFO] [stdout] test discover::symlink::tests::the_first_symlinked_component_is_the_one_named ... ok
[INFO] [stdout] test discover::symlink::tests::the_warning_code_is_the_stable_kebab_case_id ... ok
[INFO] [stdout] test discover::symlink::tests::a_tracked_symlink_pointing_outside_the_repository_is_skipped ... ok
[INFO] [stdout] test discover::symlink::tests::an_explicit_path_through_a_symlinked_directory_is_refused_naming_the_link ... ok
[INFO] [stdout] test discover::symlink::tests::an_explicit_directory_in_a_repository_skips_its_tracked_symlinks ... ok
[INFO] [stdout] test discover::symlink::tests::an_explicitly_named_symlink_is_refused_with_exit_2 ... ok
[INFO] [stdout] test discover::symlink::tests::an_explicitly_named_symlinked_directory_is_refused ... ok
[INFO] [stdout] test discover::tests::a_directory_named_with_a_dot_prefix_merges_with_its_files ... ok
[INFO] [stdout] test discover::tests::a_refusal_names_the_path_as_it_was_named_not_its_normal_form ... ok
[INFO] [stdout] test discover::tests::a_fifo_in_a_walked_directory_is_not_a_candidate ... ok
[INFO] [stdout] test discover::symlink::tests::a_dangling_tracked_symlink_is_skipped_not_an_error ... ok
[INFO] [stdout] test discover::tests::a_git_that_cannot_run_is_refused_with_exit_2_not_treated_as_empty ... ok
[INFO] [stdout] test discover::tests::a_dot_prefixed_directory_in_a_repository_merges_too ... ok
[INFO] [stdout] test discover::tests::a_tracked_file_replaced_by_a_fifo_is_not_a_candidate ... ok
[INFO] [stdout] test discover::tests::a_root_below_the_top_level_lists_only_its_own_subtree_relative_to_itself ... ok
[INFO] [stdout] test discover::tests::a_git_that_fails_for_another_reason_is_a_git_error_not_not_a_repo ... ok
[INFO] [stdout] test discover::tests::an_explicit_directory_outside_git_is_walked ... ok
[INFO] [stdout] test discover::tests::an_explicit_empty_directory_outside_git_is_refused_with_exit_2 ... ok
[INFO] [stdout] test discover::tests::an_empty_repository_has_no_candidates_and_is_not_an_error ... ok
[INFO] [stdout] test discover::tests::an_explicit_fifo_is_refused_with_exit_2 ... ok
[INFO] [stdout] test discover::tests::a_tracked_file_deleted_from_the_work_tree_is_not_a_candidate ... ok
[INFO] [stdout] test discover::tests::discover_takes_explicit_files_without_consulting_git ... ok
[INFO] [stdout] test discover::tests::every_refusal_names_its_spec_rule ... ok
[INFO] [stdout] test discover::tests::an_explicit_directory_with_no_tracked_file_is_refused_with_exit_2 ... ok
[INFO] [stdout] test discover::tests::explicit_files_outside_git_are_honoured ... ok
[INFO] [stdout] test discover::tests::explicit_paths_come_out_sorted_and_once ... ok
[INFO] [stdout] test discover::tests::one_file_named_two_ways_is_one_candidate_under_its_plain_name ... ok
[INFO] [stdout] test discover::tests::a_tracked_name_with_spaces_and_a_newline_survives_the_listing ... ok
[INFO] [stdout] test discover::tests::the_sandbox_strips_every_inherited_git_variable ... ok
[INFO] [stdout] test discover::tests::outside_git_without_paths_is_refused_with_exit_2 ... ok
[INFO] [stdout] test discover::tests::an_explicit_directory_is_a_literal_path_not_a_glob ... ok
[INFO] [stdout] test discover::tests::an_explicit_path_that_does_not_exist_is_refused_with_exit_2 ... ok
[INFO] [stdout] test extract::back::tests::a_just_load_reads_back_to_its_recipe ... ok
[INFO] [stdout] test discover::tests::without_paths_the_candidates_are_the_tracked_files_sorted ... ok
[INFO] [stdout] test extract::back::tests::a_load_reads_back_to_its_body_its_site_and_its_placement ... ok
[INFO] [stdout] test extract::back::tests::a_layout_change_makes_it_misplaced_naming_the_new_path ... ok
[INFO] [stdout] test extract::back::tests::a_load_that_cannot_be_read_back_says_why ... ok
[INFO] [stdout] test extract::back::tests::a_parenthesised_nix_load_reads_back_to_its_builder ... ok
[INFO] [stdout] test extract::back::tests::again_proves_the_bytes_and_refuses_a_file_it_would_rewrite ... ok
[INFO] [stdout] test discover::tests::explicit_files_are_the_candidates_even_untracked ... ok
[INFO] [stdout] test discover::tests::untracked_and_ignored_files_are_not_candidates ... ok
[INFO] [stdout] test extract::back::tests::the_collision_suffixed_path_counts_as_placed ... ok
[INFO] [stdout] test extract::diff::tests::a_missing_final_newline_is_marked ... ok
[INFO] [stdout] test extract::diff::tests::a_new_file_is_one_addition_hunk ... ok
[INFO] [stdout] test extract::diff::tests::a_one_line_change_keeps_three_lines_of_context ... ok
[INFO] [stdout] test extract::diff::tests::a_single_line_file_leaves_out_the_count ... ok
[INFO] [stdout] test extract::diff::tests::distant_changes_are_separate_hunks_and_near_ones_merge ... ok
[INFO] [stdout] test extract::diff::tests::equal_texts_give_no_diff ... ok
[INFO] [stdout] test extract::diff::tests::insertions_and_removals_in_the_middle_align_on_common_lines ... ok
[INFO] [stdout] test extract::back::tests::trivial_is_check_s_verdict_threshold_included ... ok
[INFO] [stdout] test extract::diff::tests::a_middle_too_big_to_align_is_every_old_line_out_then_every_new_one_in ... ok
[INFO] [stdout] test discover::tests::an_explicit_directory_in_a_repository_means_its_tracked_files ... ok
[INFO] [stdout] test extract::inline::tests::a_shared_extract_is_refused_naming_each_load ... ok
[INFO] [stdout] test discover::tests::explicit_files_and_directories_mix_and_merge ... ok
[INFO] [stdout] test extract::back::tests::loaders_counts_every_load_of_an_extract_in_the_tree ... ok
[INFO] [stdout] test extract::inline::tests::an_extract_whose_host_is_excluded_is_refused_naming_the_exclude ... ok
[INFO] [stdout] test extract::inline::tests::one_refused_extract_leaves_its_host_s_others_where_they_are ... ok
[INFO] [stdout] test extract::lock::tests::a_lock_file_that_is_a_symlink_is_refused ... ok
[INFO] [stdout] test extract::lock::tests::a_lock_names_its_holder_and_is_gone_once_released ... ok
[INFO] [stdout] test config::defaults::tests::engines_hold_no_literal_defaults ... ok
[INFO] [stdout] test extract::lock::tests::a_stale_lock_whose_holder_is_gone_is_reclaimed ... ok
[INFO] [stdout] test extract::place::tests::a_host_at_the_root_places_without_a_leading_slash ... ok
[INFO] [stdout] test extract::place::tests::a_load_is_relative_to_the_host_file_by_default ... ok
[INFO] [stdout] test extract::lock::tests::a_second_writer_is_refused_naming_the_holder ... ok
[INFO] [stdout] test extract::inline::tests::a_body_the_threshold_relaxes_goes_back_too ... ok
[INFO] [stdout] test extract::place::tests::a_rule_base_moves_what_the_load_is_relative_to ... ok
[INFO] [stdout] test extract::place::tests::a_rule_path_beats_the_layout_and_names_itself ... ok
[INFO] [stdout] test extract::place::tests::a_rule_path_that_is_absolute_climbs_out_or_names_itself_is_refused ... ok
[INFO] [stdout] test extract::place::tests::a_sink_glob_star_is_one_dotted_segment ... ok
[INFO] [stdout] test extract::place::tests::a_suffix_goes_before_the_extension_even_at_the_root ... ok
[INFO] [stdout] test extract::place::tests::a_placement_name_may_itself_be_a_template ... ok
[INFO] [stdout] test extract::place::tests::a_rule_that_does_not_match_is_not_consulted ... ok
[INFO] [stdout] test extract::place::tests::each_layout_places_under_its_own_shape ... ok
[INFO] [stdout] test extract::place::tests::colliding_paths_each_take_their_sink_suffix ... ok
[INFO] [stdout] test extract::place::tests::fold_gives_one_root_relative_spelling ... ok
[INFO] [stdout] test extract::place::tests::fields_resolve_one_by_one_across_rules ... ok
[INFO] [stdout] test extract::place::tests::a_tie_inside_one_file_is_refused_naming_both_rules ... ok
[INFO] [stdout] test extract::place::tests::on_a_specificity_tie_the_nearer_file_wins ... ok
[INFO] [stdout] test extract::place::tests::paths_still_equal_after_the_suffix_are_returned_for_refusal ... ok
[INFO] [stdout] test extract::back::tests::a_body_read_back_is_trivial_exactly_when_check_leaves_it_inline ... ok
[INFO] [stdout] test extract::place::tests::render_refuses_an_unclosed_brace ... ok
[INFO] [stdout] test extract::place::tests::render_refuses_an_unknown_variable_by_name ... ok
[INFO] [stdout] test extract::place::tests::render_refuses_the_extract_path_before_it_exists ... ok
[INFO] [stdout] test extract::place::tests::render_replaces_every_variable_of_the_closed_set ... ok
[INFO] [stdout] test extract::place::tests::rules_for_a_host_are_those_of_its_ancestor_files_with_their_depth ... ok
[INFO] [stdout] test extract::inline::tests::a_trivial_extract_goes_back_and_is_removed_after_its_host ... ok
[INFO] [stdout] test extract::place::tests::fold_refuses_a_path_above_the_root_or_naming_nothing ... ok
[INFO] [stdout] test extract::place::tests::with_no_rule_the_host_places_and_the_guest_decides_the_rest ... ok
[INFO] [stdout] test extract::place::tests::without_a_host_placement_only_a_rule_path_places ... ok
[INFO] [stdout] test extract::place::tests::the_suffix_is_the_last_sink_segment_lowercased ... ok
[INFO] [stdout] test extract::place::tests::mirror_places_a_root_host_under_its_stem_and_names_its_layer ... ok
[INFO] [stdout] test extract::inline::tests::an_extract_that_is_not_the_exact_inverse_is_refused ... ok
[INFO] [stdout] test extract::inline::tests::an_extract_nothing_loads_is_refused ... ok
[INFO] [stdout] test extract::inline::tests::two_extracts_of_one_host_go_back_together_back_to_front ... ok
[INFO] [stdout] test extract::relocate::tests::a_host_whose_loads_cannot_be_read_is_refused ... ok
[INFO] [stdout] test extract::relocate::tests::a_move_that_would_rewrite_the_extract_is_refused ... ok
[INFO] [stdout] test extract::tests::a_companion_or_an_enforced_prelude_is_refused_for_now ... ok
[INFO] [stdout] test extract::tests::a_file_under_an_exclude_for_every_verb_is_skipped_by_name ... ok
[INFO] [stdout] test extract::tests::a_file_under_an_extract_exclude_is_not_read ... ok
[INFO] [stdout] test extract::tests::a_flagged_site_moves_to_its_own_file_and_the_host_loads_it ... ok
[INFO] [stdout] test extract::relocate::tests::one_refused_move_leaves_its_host_s_other_moves_undone ... ok
[INFO] [stdout] test extract::tests::a_hole_the_guest_would_not_expand_stays_a_judgement_naming_the_param ... ok
[INFO] [stdout] test extract::relocate::tests::a_shared_extract_is_refused_and_its_host_left_alone ... ok
[INFO] [stdout] test extract::tests::a_host_in_a_subdirectory_loads_its_extract_relative_to_itself ... ok
[INFO] [stdout] test extract::tests::a_host_name_yielding_a_space_is_refused_too ... ok
[INFO] [stdout] test extract::relocate::tests::what_is_not_moved_says_why_under_verbose ... ok
[INFO] [stdout] test extract::tests::a_host_that_cannot_read_its_loads_cannot_prove_the_rewrite ... ok
[INFO] [stdout] test extract::tests::a_host_that_cannot_rewrite_is_refused_by_name ... ok
[INFO] [stdout] test extract::tests::a_host_that_does_not_parse_is_refused_and_the_rest_proceed ... ok
[INFO] [stdout] test extract::tests::a_line_extracts_only_its_site_and_one_with_none_is_refused ... ok
[INFO] [stdout] test extract::relocate::tests::a_layout_change_is_what_misplaces_it ... ok
[INFO] [stdout] test extract::tests::a_nested_config_that_does_not_parse_refuses_the_run_as_itself ... ok
[INFO] [stdout] test extract::tests::a_nix_hole_in_single_quotes_stays_a_judgement ... ok
[INFO] [stdout] test extract::tests::a_prelude_naming_another_language_leaves_the_guest_s_invoke ... ok
[INFO] [stdout] test extract::tests::a_rewrite_leaving_the_site_behind_is_refused ... ok
[INFO] [stdout] test extract::tests::a_rule_invoke_is_rendered_with_the_path_as_loaded ... ok
[INFO] [stdout] test extract::tests::a_line_on_a_directory_or_a_missing_path_refuses_the_run ... ok
[INFO] [stdout] test extract::tests::a_rule_invoke_the_host_cannot_read_back_as_a_load_is_refused_by_name ... ok
[INFO] [stdout] test extract::tests::a_hk_step_loads_its_extract_with_the_shell_hk_ran_it_under ... ok
[INFO] [stdout] test extract::relocate::tests::a_line_names_one_load_and_a_line_with_none_is_refused ... ok
[INFO] [stdout] test extract::tests::a_rewrite_that_does_not_inline_back_is_refused ... ok
[INFO] [stdout] test extract::tests::a_site_with_holes_is_refused_by_a_host_whose_load_cannot_pass_them ... ok
[INFO] [stdout] test extract::tests::a_rule_template_yielding_a_space_quote_or_leading_dash_is_refused ... ok
[INFO] [stdout] test extract::tests::a_rule_prelude_shebang_decides_the_interpreter_the_load_runs ... ok
[INFO] [stdout] test extract::tests::a_trivial_site_is_skipped_as_one_that_may_stay_inline ... ok
[INFO] [stdout] test extract::tests::an_extract_already_there_with_the_same_bytes_is_not_rewritten ... ok
[INFO] [stdout] test extract::tests::an_allowed_site_is_untouched_by_write_and_verbose_says_why ... ok
[INFO] [stdout] test extract::tests::an_extract_path_holding_other_bytes_is_refused ... ok
[INFO] [stdout] test extract::tests::an_extract_directory_that_is_a_symlink_inside_the_root_is_refused ... ok
[INFO] [stdout] test extract::tests::every_run_refusal_reads_as_the_error_it_carries_or_names_the_path ... ok
[INFO] [stdout] test extract::tests::more_holes_than_threshold_load_max_params_is_refused ... ok
[INFO] [stdout] test extract::tests::an_extract_placed_outside_the_host_directory_is_loaded_through_dot_dot ... ok
[INFO] [stdout] test extract::tests::an_extract_path_that_is_a_symlink_out_of_the_root_is_refused ... ok
[INFO] [stdout] test extract::relocate::tests::two_moves_to_one_path_are_refused ... ok
[INFO] [stdout] test extract::tests::nothing_flagged_is_an_empty_edit_and_exit_zero ... ok
[INFO] [stdout] test extract::tests::sites_are_rewritten_back_to_front_so_every_span_holds ... ok
[INFO] [stdout] test extract::tests::colliding_paths_take_the_sink_suffix_and_equal_ones_are_refused ... ok
[INFO] [stdout] test extract::tests::threshold_load_param_prefix_leads_every_param_name ... ok
[INFO] [stdout] test extract::tests::the_diff_announces_each_extract_then_shows_it_before_its_host ... ok
[INFO] [stdout] test extract::tests::verbose_names_the_layer_behind_every_field ... ok
[INFO] [stdout] test extract::tests::viable_is_the_engine_s_own_verdict_on_one_site ... ok
[INFO] [stdout] test extract::write::tests::a_host_changed_since_the_plan_is_refused_and_nothing_is_written ... ok
[INFO] [stdout] test extract::relocate::tests::a_misplaced_extract_moves_its_load_follows_and_the_graph_is_clean ... ok
[INFO] [stdout] test extract::write::tests::a_symlink_appearing_after_the_plan_stops_the_write ... ok
[INFO] [stdout] test extract::tests::a_site_with_holes_moves_with_each_hole_passed_as_a_param ... ok
[INFO] [stdout] test extract::tests::one_refused_site_leaves_its_whole_file_untouched_and_others_proceed ... ok
[INFO] [stdout] test extract::tests::a_nix_script_calling_a_package_moves_with_its_hole_through_replace_strings ... ok
[INFO] [stdout] test extract::write::tests::a_run_killed_before_its_host_leaves_a_whole_extract_and_the_old_host ... ok
[INFO] [stdout] test extract::tests::write_then_rerun_is_a_no_op ... ok
[INFO] [stdout] test extract::write::tests::a_concurrent_write_is_refused_and_writes_nothing ... ok
[INFO] [stdout] test extract::write::tests::the_host_keeps_its_own_mode ... ok
[INFO] [stdout] test graph::judge::tests::a_layout_change_warns_misplaced_naming_the_path_and_the_relocate ... ok
[INFO] [stdout] test extract::write::tests::a_write_leaves_no_temp_file_behind ... ok
[INFO] [stdout] test extract::write::tests::extracts_are_written_before_their_host_and_present_ones_skipped ... ok
[INFO] [stdout] test graph::judge::tests::a_load_that_cannot_be_read_back_is_not_judged ... ok
[INFO] [stdout] test graph::judge::tests::a_load_no_site_reads_back_to_has_an_empty_sink ... ok
[INFO] [stdout] test graph::resolve::tests::a_directory_is_not_an_extract ... ok
[INFO] [stdout] test extract::write::tests::an_extract_gets_the_mode_its_guest_asks_for ... ok
[INFO] [stdout] test graph::resolve::tests::a_host_dir_keeps_only_its_named_components ... ok
[INFO] [stdout] test graph::resolve::tests::a_load_naming_the_root_itself_is_not_a_file ... ok
[INFO] [stdout] test graph::resolve::tests::a_load_outside_the_root_is_dangling ... ok
[INFO] [stdout] test extract::write::tests::a_removed_extract_goes_last_and_a_kill_before_it_leaves_an_orphan ... ok
[INFO] [stdout] test graph::resolve::tests::a_missing_file_is_dangling_and_named ... ok
[INFO] [stdout] test graph::resolve::tests::a_load_through_a_symlink_is_dangling ... ok
[INFO] [stdout] test graph::resolve::tests::each_dangling_reason_reads_as_the_report_says_it ... ok
[INFO] [stdout] test graph::resolve::tests::a_load_resolves_from_the_host_files_directory ... ok
[INFO] [stdout] test graph::roots::tests::a_directory_prefix_ends_in_a_slash ... ok
[INFO] [stdout] test graph::roots::tests::a_root_covers_the_files_under_it_and_nothing_else ... ok
[INFO] [stdout] test graph::roots::tests::a_rule_path_counts_up_to_its_first_brace ... ok
[INFO] [stdout] test graph::roots::tests::a_rule_path_is_normalised ... ok
[INFO] [stdout] test graph::roots::tests::a_rule_path_starting_with_a_brace_is_no_root ... ok
[INFO] [stdout] test graph::roots::tests::a_rule_path_that_is_absolute_or_climbs_out_is_no_root ... ok
[INFO] [stdout] test graph::roots::tests::a_rule_path_without_a_brace_is_its_own_prefix ... ok
[INFO] [stdout] test graph::roots::tests::a_directory_with_a_brace_left_is_cut_there ... ok
[INFO] [stdout] test graph::roots::tests::a_placement_dir_renders_the_host_variables ... ok
[INFO] [stdout] test graph::roots::tests::an_empty_or_escaping_directory_is_no_root ... ok
[INFO] [stdout] test graph::roots::tests::the_default_config_has_no_root ... ok
[INFO] [stdout] test graph::roots::tests::placements_add_roots_and_prefixes_come_out_sorted_once ... ok
[INFO] [stdout] test graph::roots::tests::the_layout_root_counts_under_mirror_and_central_only ... ok
[INFO] [stdout] test graph::scan::tests::a_position_is_one_based_and_counts_characters ... ok
[INFO] [stdout] test graph::scan::tests::a_shebang_decides_over_the_extension ... ok
[INFO] [stdout] test graph::scan::tests::the_extension_names_the_reader_without_a_shebang ... ok
[INFO] [stdout] test graph::roots::tests::every_rule_path_counts_whatever_the_layout ... ok
[INFO] [stdout] test graph::tests::a_host_file_that_is_not_utf8_is_a_parse_error_or_ignored ... ok
[INFO] [stdout] test graph::scan::tests::head_is_the_first_line_only ... ok
[INFO] [stdout] test graph::judge::tests::a_threshold_that_relaxes_the_body_makes_it_inlineable ... ok
[INFO] [stdout] test graph::tests::a_load_of_a_missing_file_is_dangling_with_every_field ... ok
[INFO] [stdout] test graph::tests::a_load_that_resolves_is_an_edge ... ok
[INFO] [stdout] test graph::tests::a_load_through_a_symlink_is_dangling ... ok
[INFO] [stdout] test graph::judge::tests::an_edge_carries_the_sink_its_load_reads_back_to ... ok
[INFO] [stdout] test graph::judge::tests::an_extract_where_its_placement_puts_it_is_not_warned_about ... ok
[INFO] [stdout] test graph::tests::a_missing_named_path_is_refused ... ok
[INFO] [stdout] test graph::tests::a_nested_config_that_does_not_parse_is_refused_as_itself ... ok
[INFO] [stdout] test graph::tests::a_path_outside_the_root_is_refused ... ok
[INFO] [stdout] test graph::tests::a_nix_load_is_an_edge_carrying_its_sink ... ok
[INFO] [stdout] test graph::tests::a_pkl_hk_step_loading_a_script_is_an_edge_or_dangling ... ok
[INFO] [stdout] test graph::judge::tests::a_trivial_body_warns_inlineable_and_a_shared_one_does_not ... ok
[INFO] [stdout] test graph::tests::a_rule_path_bounds_the_scan ... ok
[INFO] [stdout] test graph::judge::tests::an_extract_that_does_not_read_back_still_names_its_sink ... ok
[INFO] [stdout] test graph::tests::a_host_that_does_not_parse_stops_the_orphan_scan ... ok
[INFO] [stdout] test graph::tests::a_host_without_loads_stops_the_orphan_scan_and_says_so ... ok
[INFO] [stdout] test graph::tests::edges_are_sorted_by_host_then_position ... ok
[INFO] [stdout] test graph::tests::json_is_the_envelope_with_edges ... ok
[INFO] [stdout] test graph::tests::a_named_path_run_judges_no_orphan ... ok
[INFO] [stdout] test graph::tests::unclaimed_warn_graphs_the_rest_and_names_the_file ... ok
[INFO] [stdout] test graph::tests::strict_hosts_refuses_a_file_no_host_claims_and_no_guest_reads ... ok
[INFO] [stdout] test lint::findings::tests::a_sarif_run_with_no_results_is_passed_over ... ok
[INFO] [stdout] test lint::findings::tests::a_finding_missing_its_line_is_unparseable_rather_than_dropped ... ok
[INFO] [stdout] test lint::findings::tests::detab_counts_tabs_mid_line_to_the_next_stop ... ok
[INFO] [stdout] test lint::findings::tests::detab_leaves_a_line_without_tabs_and_a_line_past_the_end ... ok
[INFO] [stdout] test lint::findings::tests::detab_turns_a_tab_stop_column_into_a_character_column ... ok
[INFO] [stdout] test lint::findings::tests::findings_come_out_sorted_by_line_col_code_message ... ok
[INFO] [stdout] test lint::findings::tests::raw_an_unknown_tool_and_garbage_are_not_parsed ... ok
[INFO] [stdout] test lint::findings::tests::sarif_reads_every_result_of_every_run ... ok
[INFO] [stdout] test lint::findings::tests::shellcheck_json1_is_read_as_it_counts ... ok
[INFO] [stdout] test lint::findings::tests::ruff_json_reads_location_and_code ... ok
[INFO] [stdout] test lint::findings::tests::shellcheck_json_that_is_neither_a_list_nor_json1_is_not_parsed ... ok
[INFO] [stdout] test lint::findings::tests::shellcheck_json_is_read_with_its_tab_stops_flagged ... ok
[INFO] [stdout] test graph::tests::a_host_without_loads_is_not_mentioned_where_no_orphan_scan_runs ... ok
[INFO] [stdout] test lint::findings::tests::sqlfluff_json_reads_both_position_spellings_and_the_warning_flag ... ok
[INFO] [stdout] test lint::findings::tests::shellcheck_with_nothing_to_say_is_parsed_and_empty ... ok
[INFO] [stdout] test lint::plan::tests::a_builtin_command_takes_the_file_last ... ok
[INFO] [stdout] test lint::plan::tests::a_config_command_without_a_placeholder_gets_the_file_appended ... ok
[INFO] [stdout] test lint::plan::tests::a_config_command_is_whitespace_split_and_never_a_shell_line ... ok
[INFO] [stdout] test lint::plan::tests::a_builtin_keeps_its_format_and_a_config_command_is_raw ... ok
[INFO] [stdout] test lint::plan::tests::fixers_take_the_guest_list_and_never_all ... ok
[INFO] [stdout] test lint::plan::tests::a_placeholder_puts_the_file_where_it_stands ... ok
[INFO] [stdout] test lint::plan::tests::trusted_config_extends_the_defaults_then_all_follows ... ok
[INFO] [stdout] test lint::plan::tests::trusted_config_with_extend_false_replaces_the_defaults ... ok
[INFO] [stdout] test lint::plan::tests::untrusted_config_is_held_back_and_the_defaults_run_whatever_extend_says ... ok
[INFO] [stdout] test lint::report::tests::a_host_result_has_no_guest_and_no_dialect ... ok
[INFO] [stdout] test lint::plan::tests::no_config_is_the_defaults_alone ... ok
[INFO] [stdout] test lint::plan::tests::an_empty_config_command_never_runs_the_file ... ok
[INFO] [stdout] test lint::report::tests::a_warning_about_a_file_names_it ... ok
[INFO] [stdout] test lint::report::tests::findings_render_in_the_documented_shape ... ok
[INFO] [stdout] test lint::report::tests::every_status_and_source_renders_its_documented_name ... ok
[INFO] [stdout] test lint::report::tests::json_carries_the_envelope_and_every_result_field ... ok
[INFO] [stdout] test lint::report::tests::the_exit_code_is_the_worst_status ... ok
[INFO] [stdout] test lint::report::tests::warnings_are_sorted_and_kept_once ... ok
[INFO] [stdout] test lint::report::tests::outcomes_keep_the_order_they_ran_in ... ok
[INFO] [stdout] test graph::tests::a_shebang_makes_an_extract_whatever_its_name ... ok
[INFO] [stdout] test graph::tests::an_excluded_extract_is_not_an_orphan ... ok
[INFO] [stdout] test lint::run::tests::a_tool_not_on_path_is_an_error_naming_it_and_how_to_get_it ... ok
[INFO] [stdout] test lint::run::tests::a_tool_on_path_that_cannot_be_executed_is_an_error_saying_why ... ok
[INFO] [stdout] test graph::tests::a_symlinked_candidate_is_skipped_with_a_warning ... ok
[INFO] [stdout] test lint::run::tests::a_tool_within_its_limit_is_judged_as_usual ... ok
[INFO] [stdout] test lint::run::tests::a_silent_failure_still_says_it_failed ... ok
[INFO] [stdout] test graph::tests::an_extract_under_a_root_that_no_host_loads_is_an_orphan ... ok
[INFO] [stdout] test lint::run::tests::an_empty_command_is_an_error_not_a_pass ... ok
[INFO] [stdout] test lint::run::tests::the_tail_keeps_the_last_lines_only ... ok
[INFO] [stdout] test lint::sites::tests::a_character_unmatched_on_its_line_stays_put ... ok
[INFO] [stdout] test lint::run::tests::a_tool_killed_by_a_signal_is_an_error_keeping_what_it_printed ... ok
[INFO] [stdout] test lint::run::tests::exit_zero_is_a_pass_with_no_tail ... ok
[INFO] [stdout] test lint::run::tests::stdout_is_kept_on_its_own_for_the_findings_parsers ... ok
[INFO] [stdout] test lint::sites::tests::a_host_that_cannot_unescape_is_an_error ... ok
[INFO] [stdout] test lint::sites::tests::a_leading_line_with_text_is_never_stepped_over_as_dropped ... ok
[INFO] [stdout] test lint::sites::tests::a_site_that_cannot_be_read_is_a_warning_not_a_result ... ok
[INFO] [stdout] test lint::sites::tests::a_stripped_indent_and_a_dropped_first_line_are_stepped_over ... ok
[INFO] [stdout] test lint::sites::tests::a_site_whose_guest_this_build_lacks_is_left_to_xnl_check ... ok
[INFO] [stdout] test lint::sites::tests::an_escape_maps_to_the_character_it_became ... ok
[INFO] [stdout] test lint::sites::tests::an_offset_before_every_piece_is_the_body_end ... ok
[INFO] [stdout] test lint::sites::tests::a_site_whose_trusted_config_leaves_no_check_is_left_alone ... ok
[INFO] [stdout] test lint::sites::tests::holes_become_markers_and_map_back_to_their_start ... ok
[INFO] [stdout] test lint::sites::tests::materialise_wraps_the_unescaped_body_in_the_prelude_and_maps_back ... ok
[INFO] [stdout] test lint::run::tests::the_tool_runs_in_the_root ... ok
[INFO] [stdout] test lint::run::tests::a_non_zero_exit_is_a_fail_keeping_what_the_tool_printed ... ok
[INFO] [stdout] test lint::sites::tests::a_hole_inside_one_already_marked_adds_no_second_marker ... ok
[INFO] [stdout] test lint::sites::tests::text_unescape_left_alone_maps_onto_itself ... ok
[INFO] [stdout] test lint::sites::tests::without_sites_a_host_file_has_no_site_results ... ok
[INFO] [stdout] test graph::tests::the_layout_root_bounds_the_scan_without_any_site ... ok
[INFO] [stdout] test lint::sites::tests::position_is_one_based_and_counts_characters ... ok
[INFO] [stdout] test lint::sites::tests::each_check_runs_on_the_site_and_is_reported_as_a_site_of_the_host ... ok
[INFO] [stdout] test lint::sites::tests::fix_never_runs_a_fixer_on_a_site ... ok
[INFO] [stdout] test lint::tests::a_file_nothing_lints_follows_unclaimed ... ok
[INFO] [stdout] test lint::sites::tests::nix_shell::a_shellcheck_finding_in_a_nix_script_is_reported_at_the_nix_line ... ok
[INFO] [stdout] test lint::tests::a_config_command_without_trust_is_skipped_with_a_warning_and_defaults_run ... ok
[INFO] [stdout] test lint::tests::a_file_with_no_shebang_and_no_extension_is_unclaimed ... ok
[INFO] [stdout] test lint::sites::tests::untrusted_config_on_a_site_is_skipped_under_the_virtual_name ... ok
[INFO] [stdout] test lint::tests::a_file_its_own_language_hosts_is_linted_once_as_the_extract ... ok
[INFO] [stdout] test lint::tests::a_host_file_runs_its_host_checks_unless_hosts_is_off ... ok
[INFO] [stdout] test lint::tests::a_named_path_outside_the_root_is_refused ... ok
[INFO] [stdout] test lint::tests::a_path_outside_the_root_says_so ... ok
[INFO] [stdout] test lint::tests::a_nested_config_that_does_not_parse_is_refused_in_its_own_words ... ok
[INFO] [stdout] test lint::tests::a_refusal_from_discovery_is_passed_on_in_its_own_words ... ok
[INFO] [stdout] test lint::tests::a_raw_check_and_unparseable_json_keep_the_tail_and_no_findings ... ok
[INFO] [stdout] test lint::tests::a_fixer_that_fails_is_listed_and_the_checks_still_run ... ok
[INFO] [stdout] test lint::tests::a_shebang_extract_its_host_claims_runs_the_dialect_checks_alone ... ok
[INFO] [stdout] test lint::tests::a_shebang_naming_a_guest_this_build_lacks_is_a_warning ... ok
[INFO] [stdout] test lint::tests::a_json_check_is_parsed_into_findings_and_its_tail_dropped ... ok
[INFO] [stdout] test lint::tests::a_host_of_another_language_still_runs_beside_the_extract ... ok
[INFO] [stdout] test lint::tests::a_shebang_naming_no_language_wins_over_the_extension ... ok
[INFO] [stdout] test lint::tests::an_excluded_file_has_no_result ... ok
[INFO] [stdout] test lint::tests::a_shebang_names_the_guest_and_its_dialect ... ok
[INFO] [stdout] test lint::tests::a_tool_not_on_path_is_an_error_exit_2_and_the_rest_still_run ... ok
[INFO] [stdout] test lint::tests::an_extract_by_extension_runs_each_default_check_in_order ... ok
[INFO] [stdout] test lint::tests::a_failing_check_is_a_fail_exit_1 ... FAILED
[INFO] [stdout] test lint::tests::fix_never_rewrites_a_host_file ... ok
[INFO] [stdout] test lint::tests::a_trusted_config_fixer_runs_under_fix ... ok
[INFO] [stdout] test lint::tests::a_skipped_symlink_is_warned_about_and_its_target_linted_once ... ok
[INFO] [stdout] test lint::tests::the_timeout_is_seconds_and_zero_is_no_limit ... ok
[INFO] [stdout] test lint::tests::the_same_language_host_still_has_its_sites_linted ... ok
[INFO] [stdout] test lint::tests::parsed_json_with_no_finding_on_a_fail_keeps_the_tail ... ok
[INFO] [stdout] test lint::tests::an_untrusted_config_fixer_is_skipped_with_a_warning ... ok
[INFO] [stdout] test model::tests::a_delimiter_name_ignores_the_variant_payload ... ok
[INFO] [stdout] test model::tests::a_new_report_is_empty_and_exits_zero ... ok
[INFO] [stdout] test lint::tests::trusted_config_with_extend_false_replaces_the_defaults ... ok
[INFO] [stdout] test model::tests::a_warning_renders_as_one_human_line_with_or_without_its_file ... ok
[INFO] [stdout] test model::tests::a_site_pushed_with_its_hash_answers_it_and_the_json_never_shows_it ... ok
[INFO] [stdout] test model::tests::a_warning_without_a_file_omits_the_key_rather_than_null ... ok
[INFO] [stdout] test model::tests::any_violation_sets_the_exit_code_to_one ... ok
[INFO] [stdout] test model::tests::every_delimiter_kind_has_its_own_kebab_case_name ... ok
[INFO] [stdout] test model::tests::every_rule_id_round_trips ... ok
[INFO] [stdout] test model::tests::fix_names_are_lowercase_and_distinct ... ok
[INFO] [stdout] test model::tests::from_id_is_exact_match_only ... ok
[INFO] [stdout] test model::tests::mechanical_sorts_before_judgment ... ok
[INFO] [stdout] test model::tests::push_inserts_in_sort_order_whatever_the_arrival_order ... ok
[INFO] [stdout] test lint::tests::two_failing_checks_are_both_reported ... ok
[INFO] [stdout] test model::tests::rule_all_is_sorted_by_id_and_by_ord ... ok
[INFO] [stdout] test model::tests::sort_key_compares_lines_numerically_not_as_text ... ok
[INFO] [stdout] test model::tests::sort_key_orders_file_then_line_then_col_then_rule ... ok
[INFO] [stdout] test model::tests::push_orders_equal_positions_independent_of_arrival ... ok
[INFO] [stdout] test model::tests::to_human_is_the_documented_line ... ok
[INFO] [stdout] test model::tests::to_human_uses_the_rule_id_not_the_variant_name ... ok
[INFO] [stdout] test model::tests::to_json_of_an_empty_report_is_the_bare_envelope ... ok
[INFO] [stdout] test model::tests::to_json_renders_violations_and_warnings_in_report_order ... ok
[INFO] [stdout] test model::tests::to_json_is_pretty_with_keys_in_byte_order ... ok
[INFO] [stdout] test model::tests::to_value_carries_every_field_by_its_json_name ... ok
[INFO] [stdout] test model::tests::to_value_keeps_direction_order ... ok
[INFO] [stdout] test model::tests::to_value_of_no_directions_is_an_empty_array ... ok
[INFO] [stdout] test model::tests::warn_sorts_by_code_then_file_with_no_file_first ... ok
[INFO] [stdout] test model::tests::a_warning_with_a_file_has_three_keys ... ok
[INFO] [stdout] test model::tests::warnings_never_change_the_exit_code ... ok
[INFO] [stdout] test registry::tests::a_compiled_in_guest_is_handed_back ... ok
[INFO] [stdout] test model::tests::warn_orders_equal_code_and_file_independent_of_arrival ... ok
[INFO] [stdout] test registry::tests::a_language_with_no_crate_yet_is_not_compiled_in ... ok
[INFO] [stdout] test lint::tests::fix_runs_the_fixers_then_checks_again ... ok
[INFO] [stdout] test registry::tests::a_launchd_script_is_judged_by_the_shell_guest ... ok
[INFO] [stdout] test registry::tests::a_feature_exists_exactly_for_the_languages_cargo_toml_declares ... ok
[INFO] [stdout] test registry::tests::a_shebang_named_guest_is_a_warning_naming_the_interpreter ... ok
[INFO] [stdout] test registry::tests::a_guest_no_crate_provides_is_refused_with_exit_two_naming_no_feature ... ok
[INFO] [stdout] test registry::tests::both_lists_are_sorted_by_langid_without_repeats ... ok
[INFO] [stdout] test registry::tests::compiled_in_matches_the_features_of_this_build ... ok
[INFO] [stdout] test registry::tests::guests_are_exactly_the_compiled_in_guests ... ok
[INFO] [stdout] test registry::tests::hosts_are_exactly_the_compiled_in_hosts ... ok
[INFO] [stdout] test registry::tests::lookup_by_id_finds_exactly_the_listed_entries ... ok
[INFO] [stdout] test registry::tests::missing_guest::error_refuses_with_exit_two_naming_the_feature_and_the_file ... ok
[INFO] [stdout] test registry::tests::missing_guest::the_default_policy_is_error ... ok
[INFO] [stdout] test registry::tests::missing_guest::warn_returns_a_missing_guest_warning_about_the_file ... ok
[INFO] [stdout] test registry::tests::missing_guest::ignore_says_nothing ... ok
[INFO] [stdout] test registry::tests::the_just_host_claims_justfiles_and_nothing_else_does ... ok
[INFO] [stdout] test registry::tests::the_feature_is_lang_dash_the_id ... ok
[INFO] [stdout] test registry::tests::the_tcl_host_claims_tcl_and_expect_files_alone ... ok
[INFO] [stdout] test registry::tests::the_xml_host_claims_text_plists_and_xml_files ... ok
[INFO] [stdout] test registry::tests::no_file_in_src_but_the_registry_reads_a_language_feature ... ok
[INFO] [stdout] test registry::tests::the_shell_host_claims_scripts_and_not_bats_files ... ok
[INFO] [stdout] test lint::tests::trusted_config_checks_run_after_the_defaults_they_extend ... ok
[INFO] [stdout] test lint::tests::the_whole_tree_is_the_tracked_files_in_order ... ok
[INFO] [stdout] test lint::run::tests::a_tool_past_its_limit_is_killed_and_is_an_error_naming_it_and_the_limit ... ok
[INFO] [stdout] test lint::tests::a_check_past_the_timeout_is_an_error_and_the_rest_still_run ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- lint::tests::a_failing_check_is_a_fail_exit_1 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'lint::tests::a_failing_check_is_a_fail_exit_1' (1774) panicked at src/lint/tests.rs:318:5:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 2
[INFO] [stdout]  right: 1
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x61f89bd971a1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x61f89bd971a1 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::trace_unsynchronized::<std[617be2ca0a6fd877]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x61f89bd971a1 - std[617be2ca0a6fd877]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x61f89bd971a1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x61f89bdae3ba - <core[a373ad73a504971]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x61f89bdae3ba - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    6:     0x61f89bd9bd3c - core[a373ad73a504971]::io::write::default_write_fmt::<alloc[2e1b2a31b91974c5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x61f89bd9bd3c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x61f89bd6f326 - <std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x61f89bd6f326 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:289:27
[INFO] [stdout]   10:     0x61f89bd8df39 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:313:9
[INFO] [stdout]   11:     0x61f89bc66e00 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   12:     0x61f89bc66e00 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x61f89bd8e0f2 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   14:     0x61f89bd8e0f2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:819:13
[INFO] [stdout]   15:     0x61f89bd6f3d2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:685:13
[INFO] [stdout]   16:     0x61f89bd67cd9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x61f89bd7027d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:676:5
[INFO] [stdout]   18:     0x61f89bdaebdc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x61f89bdaea43 - core[a373ad73a504971]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:452:17
[INFO] [stdout]   20:     0x61f89bbf16de - core[a373ad73a504971]::panicking::assert_failed::<u8, u8>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:407:5
[INFO] [stdout]   21:     0x61f89ba81168 - xenolith[deb52ac2e456547a]::lint::tests::a_failing_check_is_a_fail_exit_1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lint/tests.rs:318:5
[INFO] [stdout]   22:     0x61f89ba6add7 - xenolith[deb52ac2e456547a]::lint::tests::a_failing_check_is_a_fail_exit_1::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lint/tests.rs:309:38
[INFO] [stdout]   23:     0x61f89b907076 - <xenolith[deb52ac2e456547a]::lint::tests::a_failing_check_is_a_fail_exit_1::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x61f89bc5a24b - <fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x61f89bc5a24b - 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]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:701:18
[INFO] [stdout]   26:     0x61f89bc67425 - test[aada8e7e76ba119b]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:74
[INFO] [stdout]   27:     0x61f89bc67425 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x61f89bc67425 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   29:     0x61f89bc67425 - std[617be2ca0a6fd877]::panicking::catch_unwind::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   30:     0x61f89bc67425 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x61f89bc67425 - test[aada8e7e76ba119b]::run_test_in_process
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:27
[INFO] [stdout]   32:     0x61f89bc67425 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:645:43
[INFO] [stdout]   33:     0x61f89bc60d14 - test[aada8e7e76ba119b]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:675:41
[INFO] [stdout]   34:     0x61f89bc60d14 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x61f89bc6a4b2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x61f89bc6a4b2 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x61f89bc6a4b2 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   38:     0x61f89bc6a4b2 - std[617be2ca0a6fd877]::panicking::catch_unwind::<(), core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   39:     0x61f89bc6a4b2 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x61f89bc6a4b2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x61f89bc6a4b2 - <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]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x61f89bd961af - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn core[a373ad73a504971]::ops::function::FnOnce<(), Output = ()> + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2314:9
[INFO] [stdout]   43:     0x61f89bd961af - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x72547c86adfa - <unknown>
[INFO] [stdout]   45:     0x72547c8fe3d4 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     lint::tests::a_failing_check_is_a_fail_exit_1
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 705 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.07s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d", kill_on_drop: false }`
[INFO] [stdout] b2dc3d2893471b6364e6965cf945ca30c59a2ca19f67e9cf71009563b5b7607d
