[INFO] fetching crate xenolith-lang-shell 0.1.0...
[INFO] testing xenolith-lang-shell-0.1.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate xenolith-lang-shell 0.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate xenolith-lang-shell 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate xenolith-lang-shell 0.1.0
[INFO] tweaked toml for crates.io crate xenolith-lang-shell 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate xenolith-lang-shell 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-lang-shell 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:38:12
[INFO] [stderr]    |
[INFO] [stderr] 38 | homepage = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 | 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-lang-shell` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285
[INFO] running `Command { std: "docker" "start" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285", 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" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285" "/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" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285", 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" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285" "/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:38:12
[INFO] [stderr]    |
[INFO] [stderr] 38 | homepage = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 | 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-lang-shell` (manifest) generated 1 warning
[INFO] [stderr]    Compiling find-msvc-tools v0.1.13
[INFO] [stderr]    Compiling tree-sitter-language v0.1.8
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling xenolith-shebang v0.1.0
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling xenolith-lang-api v0.1.0
[INFO] [stderr]    Compiling cc v1.4.7
[INFO] [stderr]    Compiling tree-sitter-bash v0.25.1
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling tree-sitter v0.27.0
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling xenolith-lang-shell v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.30s
[INFO] running `Command { std: "docker" "inspect" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285", 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" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285" "/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:38:12
[INFO] [stderr]    |
[INFO] [stderr] 38 | homepage = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 | 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-lang-shell` (manifest) generated 1 warning
[INFO] [stderr]    Compiling xenolith-lang-shell v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.43s
[INFO] running `Command { std: "docker" "inspect" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285", 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" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285" "/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:38:12
[INFO] [stderr]    |
[INFO] [stderr] 38 | homepage = "https://github.com/pr0d1r2/xenolith"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 | 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-lang-shell` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/xenolith-lang-shell/b8e1c19dd89e7a9a/out/xenolith_lang_shell-b8e1c19dd89e7a9a)
[INFO] [stdout] 
[INFO] [stdout] running 103 tests
[INFO] [stdout] test classify::tests::all_lists_every_construct_once_in_name_order ... ok
[INFO] [stdout] test classify::tests::a_comment_beside_one_command_is_not_a_sequence ... ok
[INFO] [stdout] test classify::tests::a_herestring_is_a_redirect ... ok
[INFO] [stdout] test classify::tests::classify_is_classify_in_with_no_dialect ... ok
[INFO] [stdout] test classify::tests::collect_does_not_report_sequence ... ok
[INFO] [stdout] test classify::tests::collect_finds_nothing_in_a_simple_command ... ok
[INFO] [stdout] test classify::tests::constructs_are_sorted_by_name_and_deduplicated ... ok
[INFO] [stdout] test classify::tests::from_name_is_exact_match_only ... ok
[INFO] [stdout] test classify::tests::an_unparseable_body_is_a_parse_error_for_shell ... ok
[INFO] [stdout] test classify::tests::the_config_facing_names_are_a_contract ... ok
[INFO] [stdout] test classify::tests::simple_is_exactly_no_constructs ... ok
[INFO] [stdout] test classify::tests::collect_reaches_nested_constructs_and_keeps_duplicates ... ok
[INFO] [stdout] test classify::tests::the_same_body_always_classifies_the_same ... ok
[INFO] [stdout] test classify::tests::every_name_round_trips_through_from_name ... ok
[INFO] [stdout] test guest::tests::checks_per_family_in_order ... ok
[INFO] [stdout] test classify::tests::each_node_kind_maps_to_its_construct ... ok
[INFO] [stdout] test guest::tests::dialect_name_is_the_hosts_word_or_bash ... ok
[INFO] [stdout] test classify::tests::nested_statements_are_not_also_a_sequence ... ok
[INFO] [stdout] test classify::tests::plain_command_nodes_are_not_constructs ... ok
[INFO] [stdout] test classify::tests::only_the_exact_whitelisted_substitution_is_exempt ... ok
[INFO] [stdout] test classify::tests::zsh_only_syntax_under_zsh_is_unsupported_not_an_error ... ok
[INFO] [stdout] test guest::tests::family_maps_known_names_and_treats_the_rest_as_posix ... ok
[INFO] [stdout] test guest::tests::constructs_are_the_classifier_names_sorted ... ok
[INFO] [stdout] test guest::tests::constructs_are_empty_exactly_when_trivial ... ok
[INFO] [stdout] test guest::tests::constructs_pass_the_classifier_error_through ... ok
[INFO] [stdout] test classify::tests::top_level_statements_counts_program_children_but_not_comments ... ok
[INFO] [stdout] test guest::tests::extension_is_zsh_only_for_zsh ... ok
[INFO] [stdout] test classify::tests::zsh_the_bash_grammar_reads_is_classified_as_usual ... ok
[INFO] [stdout] test guest::tests::an_sh_site_with_only_pipefail_gets_no_strict_line ... ok
[INFO] [stdout] test guest::tests::fixers_per_family ... ok
[INFO] [stdout] test guest::tests::invoke_in_uses_the_dialect_and_the_path_verbatim ... ok
[INFO] [stdout] test guest::tests::prelude_without_a_dialect_ignores_options_and_takes_the_default ... ok
[INFO] [stdout] test guest::tests::raw_copies_argv_and_appends_the_file ... ok
[INFO] [stdout] test guest::tests::set_line_duplicate_known_options_render_once ... ok
[INFO] [stdout] test guest::tests::param_refs_through_the_guest_are_the_params_modules ... ok
[INFO] [stdout] test guest::tests::set_line_orders_letters_by_the_table_not_by_input ... ok
[INFO] [stdout] test guest::tests::set_line_renders_every_known_flag ... ok
[INFO] [stdout] test guest::tests::set_line_keeps_unknown_options_sorted_and_deduplicated ... ok
[INFO] [stdout] test guest::tests::set_line_merges_pipefail_into_the_letter_run ... ok
[INFO] [stdout] test guest::tests::set_line_drops_pipefail_where_unsupported ... ok
[INFO] [stdout] test guest::tests::shellcheck_is_json_appended_per_dialect ... ok
[INFO] [stdout] test guest::tests::shfmt_takes_no_flag_that_silences_editorconfig ... ok
[INFO] [stdout] test guest::tests::set_line_with_only_unknown_options_has_no_bare_dash ... ok
[INFO] [stdout] test guest::tests::trivial_passes_the_classifier_error_through ... ok
[INFO] [stdout] test guest::tests::strict_line_dispatches_on_family ... ok
[INFO] [stdout] test guest::tests::zsh_setopt_translates_every_known_option ... ok
[INFO] [stdout] test host::tests::a_file_redirect_alone_is_not_a_site ... ok
[INFO] [stdout] test guest::tests::zsh_only_syntax_under_zsh_is_a_judgment_with_its_why ... ok
[INFO] [stdout] test guest::tests::strict_line_is_none_without_options ... ok
[INFO] [stdout] test guest::tests::zsh_setopt_sorts_dedups_and_keeps_unknown_names ... ok
[INFO] [stdout] test host::tests::a_foreign_or_missing_shebang_claims_nothing ... ok
[INFO] [stdout] test host::tests::a_dotted_name_that_is_not_the_extension_is_not_claimed ... ok
[INFO] [stdout] test guest::tests::prelude_shebang_names_the_dialect_as_written ... ok
[INFO] [stdout] test classify::tests::the_same_text_outside_zsh_is_still_a_parse_error ... ok
[INFO] [stdout] test host::tests::a_heredoc_beside_another_statement_redirect_is_not_a_site ... ok
[INFO] [stdout] test host::tests::a_heredoc_tag_loses_its_quotes_and_backslash ... ok
[INFO] [stdout] test host::tests::bats_is_refused_before_any_shebang_is_read ... ok
[INFO] [stdout] test host::tests::an_empty_heredoc_is_a_site_with_an_empty_body ... ok
[INFO] [stdout] test host::tests::line_start_is_the_byte_after_the_previous_newline ... ok
[INFO] [stdout] test host::tests::raw_appends_the_file_and_reads_no_output ... ok
[INFO] [stdout] test host::tests::is_zsh_reads_the_resolved_interpreter_basename ... ok
[INFO] [stdout] test host::tests::every_shell_dialect_shebang_but_zsh_is_claimed ... ok
[INFO] [stdout] test host::tests::a_hole_starts_at_its_first_non_blank_byte ... ok
[INFO] [stdout] test host::tests::every_listed_extension_and_filename_is_claimed ... ok
[INFO] [stdout] test params::tests::a_marker_is_not_a_var ... ok
[INFO] [stdout] test host::tests::unbackslash_decodes_exactly_the_heredoc_escapes ... ok
[INFO] [stdout] test host::tests::unoffered_operations_are_refused_by_name ... ok
[INFO] [stdout] test host::tests::a_heredoc_with_a_second_stdin_is_not_a_site ... ok
[INFO] [stdout] test guest::tests::what_the_bash_grammar_decides_is_no_judgment ... ok
[INFO] [stdout] test host::tests::strip_tabs_removes_only_leading_tabs ... ok
[INFO] [stdout] test host::tests::the_walk_reaches_commands_at_any_depth ... ok
[INFO] [stdout] test params::tests::a_read_operand_is_a_var_only_when_it_is_a_name ... ok
[INFO] [stdout] test params::tests::every_occurrence_is_replaced_and_markers_never_mix ... ok
[INFO] [stdout] test params::tests::a_marker_the_shell_does_not_expand_is_refused ... ok
[INFO] [stdout] test params::tests::a_word_gets_the_quoted_reference ... ok
[INFO] [stdout] test params::tests::param_refs_are_sorted_by_span ... ok
[INFO] [stdout] test params::tests::inside_double_quotes_the_reference_is_braced_and_bare ... ok
[INFO] [stdout] test sinks::tests::a_shell_env_is_its_dialect_and_its_own_options ... ok
[INFO] [stdout] test params::tests::param_refs_cover_what_params_wrote ... ok
[INFO] [stdout] test sinks::tests::a_shell_program_is_the_first_operand_after_c ... ok
[INFO] [stdout] test params::tests::the_first_param_refused_is_named ... ok
[INFO] [stdout] test sinks::tests::a_shell_without_c_or_with_an_unknown_option_has_no_program_argument ... ok
[INFO] [stdout] test params::tests::params_of_broken_shell_is_a_parse_error ... ok
[INFO] [stdout] test sinks::tests::an_interpreter_is_read_by_basename_with_its_version_stripped ... ok
[INFO] [stdout] test sinks::tests::a_non_shell_env_is_the_default ... ok
[INFO] [stdout] test params::tests::vars_are_every_name_read_or_assigned_sorted ... ok
[INFO] [stdout] test params::tests::params_then_param_refs_is_the_marked_body_again ... ok
[INFO] [stdout] test sinks::tests::a_flag_program_needs_only_flags_before_it_and_no_second_one ... ok
[INFO] [stdout] test params::tests::vars_of_broken_shell_is_a_parse_error ... ok
[INFO] [stdout] test sinks::tests::letters_follow_the_dialect ... ok
[INFO] [stdout] test sinks::tests::shell_argv_collects_the_options_its_flags_leave_on ... ok
[INFO] [stdout] test sinks::tests::shell_argv_stops_at_the_end_of_options ... ok
[INFO] [stdout] test sinks::tests::stdin_is_a_shell_program_unless_an_operand_or_c_says_otherwise ... ok
[INFO] [stdout] test sinks::tests::stdin_is_a_program_for_flag_only_or_dash_argv ... ok
[INFO] [stdout] test sinks::tests::tcl_interpreters_run_tcl_and_expect_is_its_dialect ... ok
[INFO] [stdout] test sinks::tests::stdin_is_sql_unless_psql_was_given_a_command_file_or_listing ... ok
[INFO] [stdout] test sinks::tests::the_interpreter_table_is_sorted_and_has_no_duplicates ... ok
[INFO] [stdout] test sinks::tests::zsh_option_names_fold_to_the_portable_ones ... ok
[INFO] [stdout] test sinks::tests::toggle_keeps_each_name_once ... ok
[INFO] [stdout] test sinks::tests::eval_flags_are_each_interpreters_own ... ok
[INFO] [stdout] test sinks::tests::stdin_is_a_tcl_program_with_no_script_or_one_naming_stdin ... ok
[INFO] [stdout] test sinks::tests::wrappers_and_unknown_commands_are_not_interpreters ... ok
[INFO] [stderr]      Running tests/classifier.rs (/opt/rustwide/target/debug/build/xenolith-lang-shell/a4bf1e2328ac6d7b/out/classifier-a4bf1e2328ac6d7b)
[INFO] [stdout] test sinks::tests::only_expect_takes_a_c_program ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 103 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test a_bare_command_is_simple ... ok
[INFO] [stdout] test a_function_definition_is_a_construct ... ok
[INFO] [stdout] test a_pipeline_is_a_construct ... ok
[INFO] [stdout] test a_heredoc_is_a_construct ... ok
[INFO] [stdout] test a_body_that_does_not_parse_is_an_error_not_a_verdict ... ok
[INFO] [stdout] test a_subshell_is_a_construct ... ok
[INFO] [stdout] test any_other_command_substitution_is_a_construct ... ok
[INFO] [stdout] test a_zsh_setopt_is_one_simple_command ... ok
[INFO] [stdout] test control_flow_is_reported_by_name ... ok
[INFO] [stdout] test two_commands_are_a_sequence ... ok
[INFO] [stdout] test nothing_at_all_is_simple ... ok
[INFO] [stdout] test the_bash_source_dirname_prefix_is_whitelisted ... ok
[INFO] [stdout] test an_assignment_alone_is_simple ... ok
[INFO] [stdout] test leading_assignments_are_simple ... ok
[INFO] [stdout] test redirects_are_constructs ... ok
[INFO] [stdout] test and_or_lists_are_constructs ... ok
[INFO] [stdout] test constructs_are_sorted_and_deduplicated ... ok
[INFO] [stdout] test a_quoted_pipe_is_not_a_pipeline ... ok
[INFO] [stdout] test an_allowed_construct_stops_being_a_violation ... ok
[INFO] [stdout] test zsh_flags_anon_functions_and_qualifiers_are_unsupported ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/fixtures.rs (/opt/rustwide/target/debug/build/xenolith-lang-shell/a1e8a8066561470a/out/fixtures-a1e8a8066561470a)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test every_case_reports_exactly_its_expected_sites ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/guest.rs (/opt/rustwide/target/debug/build/xenolith-lang-shell/e1a9c535c39bd665/out/guest-e1a9c535c39bd665)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test a_site_with_no_options_gets_no_strict_line ... ok
[INFO] [stdout] test every_check_says_where_the_file_goes_and_how_to_read_the_output ... ok
[INFO] [stdout] test an_unknown_option_is_kept_verbatim_rather_than_dropped ... ok
[INFO] [stdout] test sh_never_gets_pipefail ... ok
[INFO] [stdout] test shell_is_the_guest_it_says_it_is ... ok
[INFO] [stdout] test the_extension_follows_the_dialect ... ok
[INFO] [stdout] test invoke_runs_the_file_with_its_dialect ... ok
[INFO] [stdout] test checks_follow_the_dialect ... ok
[INFO] [stdout] test the_prelude_reproduces_the_options_the_site_established ... ok
[INFO] [stdout] test with_no_context_the_prelude_is_bash_and_strict ... ok
[INFO] [stdout] test zsh_uses_setopt_with_zsh_option_names ... ok
[INFO] [stdout] test trivial_is_the_classifier ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/holes.rs (/opt/rustwide/target/debug/build/xenolith-lang-shell/6e5ac4c035c3af0c/out/holes-6e5ac4c035c3af0c)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test seven_holes_is_a_judgement ... ok
[INFO] [stdout] test a_hole_in_single_quotes_is_a_judgement ... ok
[INFO] [stdout] test the_same_hole_twice_is_one_param ... ok
[INFO] [stdout] test a_name_the_body_already_uses_is_not_taken ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/host.rs (/opt/rustwide/target/debug/build/xenolith-lang-shell/6f85da5c50ef9bde/out/host-6f85da5c50ef9bde)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test a_bats_file_is_never_claimed ... ok
[INFO] [stdout] test a_file_is_claimed_by_a_shell_shebang_alone ... ok
[INFO] [stdout] test a_dash_heredoc_strips_leading_tabs_from_body_and_terminator ... ok
[INFO] [stdout] test a_child_shell_extract_runs_under_its_own_options_only ... ok
[INFO] [stdout] test a_heredoc_site_names_its_tag_quoting_and_indent ... ok
[INFO] [stdout] test a_non_shell_site_leaves_its_env_to_the_guest ... ok
[INFO] [stdout] test a_double_quoted_argv_string_marks_its_expansions_as_holes ... ok
[INFO] [stdout] test a_quoted_heredoc_is_read_verbatim ... ok
[INFO] [stdout] test a_file_that_does_not_parse_is_an_error_not_a_clean_file ... ok
[INFO] [stdout] test a_zsh_file_is_never_claimed ... ok
[INFO] [stdout] test an_argv_string_is_read_verbatim ... ok
[INFO] [stdout] test envrc_is_claimed_by_name ... ok
[INFO] [stdout] test an_unquoted_heredoc_decodes_the_escapes_the_shell_decodes ... ok
[INFO] [stdout] test every_shell_dialect_but_zsh_is_claimed_by_its_shebang ... ok
[INFO] [stdout] test other_files_are_not_claimed ... ok
[INFO] [stdout] test shell_files_are_claimed_by_extension ... ok
[INFO] [stdout] test sites_are_sorted_by_span ... ok
[INFO] [stdout] test the_host_checks_its_own_files_with_shellcheck_and_shfmt ... ok
[INFO] [stdout] test the_host_is_shell ... ok
[INFO] [stdout] test unescape_refuses_a_delimiter_shell_never_writes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests xenolith_lang_shell
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285", kill_on_drop: false }`
[INFO] [stdout] e8758e8c21f95e37c9faa277241b4f89a4530bc25ad74ffff3bacd3322f75285
