[INFO] cloning repository https://github.com/FactoryGameFan/factorio-oracle [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/FactoryGameFan/factorio-oracle" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFactoryGameFan%2Ffactorio-oracle", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFactoryGameFan%2Ffactorio-oracle'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e3d82b9029a1d9bb356a0ed98d13627d6031569c [INFO] testing FactoryGameFan/factorio-oracle against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFactoryGameFan%2Ffactorio-oracle" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/FactoryGameFan/factorio-oracle [INFO] finished tweaking git repo https://github.com/FactoryGameFan/factorio-oracle [INFO] tweaked toml for git repo https://github.com/FactoryGameFan/factorio-oracle written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/FactoryGameFan/factorio-oracle on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/FactoryGameFan/factorio-oracle 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f [INFO] running `Command { std: "docker" "start" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f", 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" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f", 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" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling libc v0.2.189 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling syn v3.0.3 [INFO] [stderr] Compiling anyhow v1.0.104 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling serde_json v1.0.151 [INFO] [stderr] Compiling bitflags v2.13.1 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling fastrand v2.5.0 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling clap_builder v4.6.7 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling clap_derive v4.6.7 [INFO] [stderr] Compiling clap v4.6.7 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling factorio-oracle v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 52.40s [INFO] running `Command { std: "docker" "inspect" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f", 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" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling factorio-oracle v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 24.74s [INFO] running `Command { std: "docker" "inspect" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f", 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" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.10s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/factorio_oracle-024df34c86b483c6) [INFO] [stdout] [INFO] [stdout] running 255 tests [INFO] [stdout] test args::tests::dump_data_passes_only_the_mod_directory_and_config ... ok [INFO] [stdout] test args::tests::preview_omits_optional_flags_that_were_not_set ... ok [INFO] [stdout] test args::tests::create_passes_map_gen_settings_when_there_are_any ... ok [INFO] [stdout] test args::tests::preview_takes_an_output_path_and_no_mod_directory ... ok [INFO] [stdout] test args::tests::create_also_passes_the_seed_on_the_command_line ... ok [INFO] [stdout] test args::tests::create_omits_map_gen_settings_when_there_are_none ... ok [INFO] [stdout] test install::tests::a_linux_install_still_wins_over_the_exe_candidate ... ok [INFO] [stdout] test install::tests::an_exact_version_is_what_matches ... ok [INFO] [stdout] test install::tests::an_install_whose_binary_will_not_run_is_never_picked ... ok [INFO] [stdout] test args::tests::interactive_loads_a_scenario_and_never_creates ... ok [INFO] [stdout] test install::tests::candidates_are_unique ... ok [INFO] [stdout] test install::tests::covers_every_candidate_the_four_repos_used ... ok [INFO] [stdout] test install::tests::env_bin_is_first_when_set ... ok [INFO] [stdout] test install::tests::no_version_asked_for_takes_any_install_that_has_one ... ok [INFO] [stdout] test install::tests::resolves_a_macos_bundles_binary_not_just_its_root ... ok [INFO] [stdout] test install::tests::resolves_a_linux_install_directory ... ok [INFO] [stdout] test install::tests::resolves_a_windows_install_directory ... ok [INFO] [stdout] test install::tests::returns_none_when_the_binary_is_missing ... ok [INFO] [stdout] test install::tests::returns_none_for_a_path_that_does_not_exist ... ok [INFO] [stdout] test install::tests::resolves_a_macos_app_bundle ... ok [INFO] [stdout] test install::tests::the_windows_steam_default_is_a_candidate ... ok [INFO] [stdout] test install::tests::resolves_a_path_pointing_straight_at_the_binary ... ok [INFO] [stdout] test lua::tests::escalates_the_level_when_the_value_would_close_the_bracket ... ok [INFO] [stdout] test lua::tests::prelude_declares_one_local_per_entry ... ok [INFO] [stdout] test lua::tests::prelude_is_empty_when_there_are_no_literals ... ok [INFO] [stdout] test lua::tests::prelude_is_sorted_and_therefore_deterministic ... ok [INFO] [stdout] test lua::tests::wraps_a_plain_value_at_level_zero ... ok [INFO] [stdout] test numbers::tests::a_fixed_precision_formatter_would_fail_this ... ok [INFO] [stdout] test numbers::tests::assert_round_trips_accepts_good_values ... ok [INFO] [stdout] test numbers::tests::assert_round_trips_names_the_offender ... ok [INFO] [stdout] test numbers::tests::every_bit_pattern_survives_a_round_trip ... ok [INFO] [stdout] test outcome::tests::a_create_failure_after_the_sentinel_rules_the_version_mismatch_out ... ok [INFO] [stdout] test lua::tests::escalates_again_when_the_next_level_also_collides ... ok [INFO] [stdout] test outcome::tests::a_missing_exit_code_fails_the_modes_that_need_one ... ok [INFO] [stdout] test install::tests::reads_the_version_a_healthy_binary_prints ... ok [INFO] [stdout] test outcome::tests::create_fails_when_no_dump_was_written ... ok [INFO] [stdout] test outcome::tests::create_succeeds_on_a_non_zero_exit_when_the_dump_exists ... ok [INFO] [stdout] test outcome::tests::dump_data_fails_on_a_non_zero_exit_even_if_a_dump_is_present ... ok [INFO] [stdout] test outcome::tests::dump_data_fails_on_exit_zero_with_no_dump ... ok [INFO] [stdout] test outcome::tests::a_create_failure_with_no_sentinel_names_the_version_mismatch ... ok [INFO] [stdout] test outcome::tests::dump_data_succeeds_on_exit_zero_with_a_dump ... ok [INFO] [stdout] test outcome::tests::preview_requires_exit_zero_and_the_file ... ok [INFO] [stdout] test outcome::tests::read_only_never_runs_anything ... ok [INFO] [stdout] test outcome::tests::interactive_always_succeeds_because_the_consumer_judges_it ... ok [INFO] [stdout] test probe::tests::contamination_reporting_can_be_turned_off ... ok [INFO] [stdout] test probe::tests::deserialises_a_create_spec_with_a_mod ... ok [INFO] [stdout] test probe::tests::deserialises_a_minimal_dump_data_spec ... ok [INFO] [stdout] test probe::tests::mod_directory_name_carries_the_version_suffix ... ok [INFO] [stdout] test probe::tests::no_settings_and_no_seed_means_no_settings_file ... ok [INFO] [stdout] test probe::tests::rejects_an_unknown_mode ... ok [INFO] [stdout] test probe::tests::settings_without_a_seed_are_passed_through_untouched ... ok [INFO] [stdout] test probe::tests::a_seed_alone_produces_settings_carrying_it ... ok [INFO] [stdout] test provenance::check::tests::a_directory_that_matches_its_manifest_passes ... ok [INFO] [stdout] test provenance::check::tests::a_file_cannot_be_a_fixture_and_a_not_fixture_at_once ... ok [INFO] [stdout] test probe::tests::every_mode_name_round_trips ... ok [INFO] [stdout] test provenance::check::tests::a_file_named_by_neither_list_is_missing ... ok [INFO] [stdout] test probe::tests::the_seed_field_wins_over_a_seed_inside_the_settings ... ok [INFO] [stdout] test provenance::check::tests::a_manifest_with_no_ratchet_is_a_finding_of_its_own ... ok [INFO] [stdout] test provenance::check::tests::a_not_fixture_with_no_file_is_dangling_too ... ok [INFO] [stdout] test provenance::check::tests::an_entry_that_is_not_well_formed_is_reported_by_name ... ok [INFO] [stdout] test provenance::check::tests::an_entry_with_no_file_is_dangling ... ok [INFO] [stdout] test provenance::check::tests::every_list_comes_back_sorted ... ok [INFO] [stdout] test provenance::check::tests::malformed_is_sorted_across_the_fixtures_and_not_fixtures_passes ... ok [INFO] [stdout] test provenance::check::tests::summary_states_the_exceeded_ratchet_with_both_numbers ... ok [INFO] [stdout] test provenance::check::tests::the_ratchet_also_fails_when_a_gap_is_closed_and_the_number_is_not_lowered ... ok [INFO] [stdout] test provenance::check::tests::the_ratchet_fails_when_another_unknown_arrives ... ok [INFO] [stdout] test provenance::check::tests::the_ratchet_holds_when_the_count_is_exactly_the_declared_number ... ok [INFO] [stdout] test provenance::check::tests::to_json_reports_the_exceeded_ratchet ... ok [INFO] [stdout] test provenance::check::tests::to_json_reports_the_ok_ratchet ... ok [INFO] [stdout] test provenance::check::tests::to_json_reports_the_slack_ratchet ... ok [INFO] [stdout] test provenance::check::tests::to_json_reports_the_undeclared_ratchet_with_a_null_max_unknown ... ok [INFO] [stdout] test provenance::manifest::tests::a_well_formed_entry_has_no_problem ... ok [INFO] [stdout] test provenance::manifest::tests::an_absent_ratchet_is_not_the_same_as_zero ... ok [INFO] [stdout] test provenance::manifest::tests::keeps_keys_it_does_not_know_about ... ok [INFO] [stdout] test provenance::manifest::tests::parses_a_manifest_with_only_the_two_required_keys ... ok [INFO] [stdout] test provenance::manifest::tests::parses_a_version_into_parts ... ok [INFO] [stdout] test provenance::manifest::tests::rejects_a_missing_or_empty_evidence ... ok [INFO] [stdout] test provenance::manifest::tests::rejects_a_version_that_is_not_three_numbers_or_unknown ... ok [INFO] [stdout] test provenance::manifest::tests::rejects_an_entry_that_is_not_an_object ... ok [INFO] [stdout] test provenance::manifest::tests::unknown_is_a_legal_version ... ok [INFO] [stdout] test provenance::report::tests::a_clean_report_says_so_instead_of_printing_a_warning ... ok [INFO] [stdout] test provenance::report::tests::a_fixture_newer_than_the_binary_is_neither_current_nor_stale ... ok [INFO] [stdout] test provenance::report::tests::a_newer_fixture_says_newer_than_the_binary ... ok [INFO] [stdout] test provenance::check::tests::a_not_fixture_must_say_why ... ok [INFO] [stdout] test provenance::report::tests::an_older_fixture_says_the_binary_is_newer_not_the_other_way_round ... ok [INFO] [stdout] test provenance::report::tests::counts_only_the_fixtures_older_than_the_binary_as_stale ... ok [INFO] [stdout] test provenance::report::tests::a_version_that_will_not_parse_is_treated_as_unknown_rather_than_dropped ... ok [INFO] [stdout] test provenance::report::tests::groups_by_recorded_version_oldest_first ... ok [INFO] [stdout] test provenance::report::tests::sorts_by_number_and_not_by_string ... ok [INFO] [stdout] test provenance::report::tests::the_rendered_report_names_the_binary_and_every_group ... ok [INFO] [stdout] test provenance::report::tests::unknown_entries_are_listed_apart_from_the_versions ... ok [INFO] [stdout] test provenance::tests::a_dot_directory_is_skipped_whole_not_just_the_dotfile ... ok [INFO] [stdout] test provenance::tests::leaves_out_windows_os_detritus_case_insensitively ... ok [INFO] [stdout] test provenance::tests::leaves_out_the_manifest_and_dotfiles ... ok [INFO] [stdout] test refs::docs::tests::a_backslash_is_rejected_because_windows_treats_it_as_a_separator ... ok [INFO] [stdout] test refs::docs::tests::a_drive_letter_is_rejected_because_it_replaces_a_path_rather_than_joining ... ok [INFO] [stdout] test provenance::check::tests::summary_names_a_dangling_entry_when_called_directly ... ok [INFO] [stdout] test refs::docs::tests::a_failed_fetch_leaves_nothing_behind_and_says_what_curl_said ... ok [INFO] [stdout] test refs::docs::tests::a_fetch_writes_to_a_part_file_first ... ok [INFO] [stdout] test refs::docs::tests::a_fetched_file_lands_at_its_cache_path ... ok [INFO] [stdout] test refs::docs::tests::a_path_that_could_escape_the_cache_is_rejected ... ok [INFO] [stdout] test refs::docs::tests::a_path_that_curl_would_read_as_an_option_is_rejected ... ok [INFO] [stdout] test refs::docs::tests::a_version_that_could_escape_the_cache_is_rejected ... ok [INFO] [stdout] test provenance::tests::walks_a_tree_into_relative_forward_slash_paths ... ok [INFO] [stdout] test refs::docs::tests::an_already_cached_file_is_used_before_the_network ... ok [INFO] [stdout] test refs::docs::tests::an_installed_version_answers_from_its_own_doc_dir ... ok [INFO] [stdout] test refs::docs::tests::curl_fails_on_an_error_status_and_writes_to_a_file ... ok [INFO] [stdout] test refs::docs::tests::an_installed_version_missing_that_one_file_still_fetches_it ... ok [INFO] [stdout] test refs::docs::tests::an_uncached_file_names_the_url_and_where_it_goes ... ok [INFO] [stdout] test refs::docs::tests::real_doc_paths_are_accepted ... ok [INFO] [stdout] test refs::docs::tests::the_cache_tree_mirrors_the_docs_tree ... ok [INFO] [stdout] test refs::git::tests::a_line_for_a_different_tag_is_not_parsed ... ok [INFO] [stdout] test refs::git::tests::a_line_with_no_line_number_is_not_parsed ... ok [INFO] [stdout] test refs::docs::tests::the_url_is_the_version_then_the_path ... ok [INFO] [stdout] test refs::git::tests::a_grep_line_parses_into_its_four_parts ... ok [INFO] [stdout] test refs::git::tests::adding_a_worktree_always_detaches ... ok [INFO] [stdout] test refs::git::tests::an_empty_line_is_not_parsed ... ok [INFO] [stdout] test refs::git::tests::fetching_tags_touches_no_working_tree ... ok [INFO] [stdout] test refs::git::tests::grep_disables_colour_and_guards_the_pattern ... ok [INFO] [stdout] test refs::git::tests::grep_puts_a_pathspec_after_a_double_dash ... ok [INFO] [stdout] test refs::git::tests::removing_a_worktree_names_the_path_not_the_tag ... ok [INFO] [stdout] test refs::git::tests::show_names_the_tag_and_the_path_together ... ok [INFO] [stdout] test refs::git::tests::the_tag_check_asks_for_a_commit_and_stays_quiet ... ok [INFO] [stdout] test refs::git::tests::the_timeouts_are_set_and_the_fetch_gets_the_longer_one ... ok [INFO] [stdout] test refs::grep::tests::a_changed_value_reads_as_differs ... ok [INFO] [stdout] test refs::grep::tests::a_differing_result_says_so_without_deciding_what_it_means ... ok [INFO] [stdout] test refs::git::tests::checking_a_worktrees_head_reads_the_tree_not_the_shared_clone ... ok [INFO] [stdout] test refs::git::tests::colons_inside_the_matched_text_are_kept ... ok [INFO] [stdout] test refs::grep::tests::a_line_that_only_moved_is_still_identical ... ok [INFO] [stdout] test refs::grep::tests::a_match_that_moved_to_another_file_is_a_difference ... ok [INFO] [stdout] test refs::grep::tests::a_tag_matching_nothing_differs_from_one_that_matched ... ok [INFO] [stdout] test refs::grep::tests::a_tag_that_git_would_read_as_an_option_never_reaches_git ... ok [INFO] [stdout] test refs::grep::tests::a_tag_with_no_matches_is_reported_rather_than_dropped ... ok [INFO] [stdout] test refs::grep::tests::one_tag_is_never_a_comparison ... ok [INFO] [stdout] test refs::grep::tests::one_tag_renders_without_a_tag_column ... ok [INFO] [stdout] test refs::grep::tests::search_calls_git_once_per_tag_and_never_checks_anything_out ... ok [INFO] [stdout] test refs::grep::tests::several_tags_render_with_a_tag_column_and_a_verdict ... ok [INFO] [stdout] test refs::grep::tests::a_trailing_newline_does_not_become_an_empty_hit ... ok [INFO] [stdout] test refs::grep::tests::nothing_matched_renders_as_absence_rather_than_agreement ... ok [INFO] [stdout] test refs::grep::tests::show_returns_the_file_at_that_tag ... ok [INFO] [stdout] test refs::grep::tests::show_reports_a_missing_path_as_an_error ... ok [INFO] [stdout] test refs::grep::tests::the_json_carries_every_field_the_text_does ... ok [INFO] [stdout] test refs::grep::tests::the_same_answer_at_two_tags_reads_as_identical ... ok [INFO] [stdout] test refs::grep::tests::three_tags_with_one_dissenter_read_as_differs ... ok [INFO] [stdout] test refs::grep::tests::three_tags_all_agreeing_read_as_identical ... ok [INFO] [stdout] test refs::sync::tests::a_missing_clone_is_not_ok_even_with_a_tag_somehow_present ... ok [INFO] [stdout] test refs::grep::tests::two_tags_that_both_matched_nothing_are_not_identical ... ok [INFO] [stdout] test refs::sync::tests::a_missing_tag_is_not_ok ... ok [INFO] [stdout] test refs::sync::tests::a_nested_empty_directory_does_not_count_as_cached ... ok [INFO] [stdout] test refs::sync::tests::a_readable_version_is_ok ... ok [INFO] [stdout] test refs::sync::tests::a_tag_that_resolves_is_present ... ok [INFO] [stdout] test refs::sync::tests::a_version_with_files_in_the_cache_reads_as_cached ... ok [INFO] [stdout] test refs::sync::tests::a_tag_that_does_not_resolve_is_absent_rather_than_an_error ... ok [INFO] [stdout] test refs::sync::tests::a_version_with_neither_reads_as_absent ... ok [INFO] [stdout] test refs::sync::tests::absent_docs_do_not_make_it_not_ok ... ok [INFO] [stdout] test refs::sync::tests::an_installed_version_reads_as_installed ... ok [INFO] [stdout] test refs::sync::tests::an_empty_cache_directory_does_not_count_as_cached ... ok [INFO] [stdout] test refs::sync::tests::checking_a_tag_never_fetches_and_never_checks_out ... ok [INFO] [stdout] test refs::sync::tests::the_report_says_what_to_do_when_a_tag_is_missing ... ok [INFO] [stdout] test refs::sync::tests::the_json_carries_every_field_the_text_does ... ok [INFO] [stdout] test refs::sync::tests::the_report_names_the_clone_and_says_head_was_not_moved ... ok [INFO] [stdout] test refs::tests::a_directory_counts_as_a_clone_when_dot_git_is_a_directory ... ok [INFO] [stdout] test refs::tests::a_plain_directory_is_not_a_clone ... ok [INFO] [stdout] test refs::tests::a_directory_counts_as_a_clone_when_dot_git_is_a_file ... ok [INFO] [stdout] test refs::tests::a_tag_that_could_escape_a_directory_is_rejected ... ok [INFO] [stdout] test refs::tests::a_tag_that_git_would_read_as_an_option_is_rejected ... ok [INFO] [stdout] test refs::tests::an_explicit_clone_path_wins ... ok [INFO] [stdout] test refs::tests::real_factorio_tags_are_valid ... ok [INFO] [stdout] test refs::tests::the_clone_defaults_to_the_path_every_repo_already_uses ... ok [INFO] [stdout] test refs::tests::the_last_resort_cache_is_under_the_home_directory ... ok [INFO] [stdout] test refs::tests::the_two_dot_names_the_filesystem_treats_specially_are_rejected ... ok [INFO] [stdout] test refs::tests::xdg_cache_home_is_used_when_there_is_no_override ... ok [INFO] [stdout] test refs::worktree::tests::a_directory_that_exists_but_is_not_a_checkout_is_an_error ... ok [INFO] [stdout] test refs::tests::an_empty_tag_is_rejected ... ok [INFO] [stdout] test refs::tests::an_explicit_cache_override_wins_over_everything ... ok [INFO] [stdout] test refs::worktree::tests::a_failing_add_reports_what_git_said ... ok [INFO] [stdout] test refs::worktree::tests::a_missing_tree_is_added_detached ... ok [INFO] [stdout] test refs::worktree::tests::a_tree_whose_tag_has_moved_is_reported_rather_than_reused ... ok [INFO] [stdout] test refs::worktree::tests::a_worktree_is_named_for_its_tag_under_the_cache ... ok [INFO] [stdout] test refs::worktree::tests::an_existing_tree_is_reused_after_one_read_confirming_its_tag ... ok [INFO] [stdout] test refs::worktree::tests::removing_a_tree_that_is_not_there_is_not_an_error ... ok [INFO] [stdout] test refs::worktree::tests::a_tag_that_could_escape_the_cache_is_rejected ... ok [INFO] [stdout] test refs::worktree::tests::a_tag_that_git_would_read_as_an_option_never_reaches_git ... ok [INFO] [stdout] test refs::worktree::tests::removing_an_existing_tree_calls_git_so_the_clone_stays_tidy ... ok [INFO] [stdout] test run::tests::a_failed_run_carries_the_output_tail ... ok [INFO] [stdout] test run::tests::a_create_run_scaffolds_the_mod_and_reports_success ... ok [INFO] [stdout] test run::tests::a_mod_name_with_a_hyphen_or_underscore_survives ... ok [INFO] [stdout] test run::tests::a_dump_data_run_writes_no_mod ... ok [INFO] [stdout] test run::tests::loaded_mods_includes_core_which_active_mods_does_not ... ok [INFO] [stdout] test run::tests::output_with_no_such_lines_gives_an_empty_list ... ok [INFO] [stdout] test run::tests::literals_are_prepended_above_the_consumer_lua ... ok [INFO] [stdout] test run::tests::the_sentinel_is_found_on_stdout_which_is_where_the_game_puts_it ... ok [INFO] [stdout] test run::tests::loaded_mods_are_read_off_the_games_own_output ... ok [INFO] [stdout] test scaffold::tests::config_ini_isolates_writes_and_reads_the_bundled_data ... ok [INFO] [stdout] test scaffold::tests::base_is_never_written_as_disabled ... ok [INFO] [stdout] test scaffold::tests::info_json_takes_the_version_from_the_binary ... ok [INFO] [stdout] test scaffold::tests::info_json_version_is_never_hardcoded ... ok [INFO] [stdout] test scaffold::tests::mod_list_with_a_probe_enables_both ... ok [INFO] [stdout] test scaffold::tests::mod_list_with_no_probe_names_base_and_nothing_else ... ok [INFO] [stdout] test scaffold::tests::config_ini_never_emits_the_portable_token ... ok [INFO] [stdout] test scaffold::tests::a_mod_is_only_kept_out_by_naming_it_disabled ... ok [INFO] [stdout] test scaffold::tests::the_active_mods_prelude_writes_its_own_file ... ok [INFO] [stdout] test scaffold::tests::the_active_mods_prelude_registers_no_event ... ok [INFO] [stdout] test spawn::tests::tail_does_not_split_a_multibyte_character ... ok [INFO] [stdout] test tests::version_is_not_empty ... ok [INFO] [stdout] test spawn::tests::tail_returns_short_text_unchanged ... ok [INFO] [stdout] test spawn::tests::tail_returns_the_last_bytes_not_the_first ... ok [INFO] [stdout] test trim::canonical::tests::an_integer_stays_an_integer ... ok [INFO] [stdout] test trim::canonical::tests::exponent_notation_becomes_a_float_as_python_reads_it ... ok [INFO] [stdout] test trim::canonical::tests::keys_come_out_sorted_and_the_file_ends_with_one_newline ... ok [INFO] [stdout] test trim::canonical::tests::short_literals_are_untouched ... ok [INFO] [stdout] test trim::defines::tests::a_missing_file_names_the_path_it_wanted ... ok [INFO] [stdout] test trim::defines::tests::a_missing_table_is_an_error_rather_than_an_empty_object ... ok [INFO] [stdout] test trim::defines::tests::a_probe_dump_can_express_what_order_cannot ... ok [INFO] [stdout] test trim::defines::tests::a_probe_dump_gives_the_value_the_game_actually_uses ... ok [INFO] [stdout] test trim::defines::tests::a_probe_dump_missing_the_table_names_it ... ok [INFO] [stdout] test trim::canonical::tests::a_long_literal_parses_the_way_python_does ... ok [INFO] [stdout] test trim::canonical::tests::normalisation_reaches_all_the_way_down ... ok [INFO] [stdout] test trim::prototypes::tests::a_field_the_prototype_does_not_have_is_skipped_not_nulled ... ok [INFO] [stdout] test trim::defines::tests::reads_the_named_table ... ok [INFO] [stdout] test trim::defines::tests::uses_order_which_is_a_documentation_index_not_the_value ... ok [INFO] [stdout] test trim::prototypes::tests::a_fluid_box_with_no_connections_is_left_out_entirely ... ok [INFO] [stdout] test trim::prototypes::tests::keeps_only_the_asked_for_keys_inside_a_pipe_connection ... ok [INFO] [stdout] test trim::prototypes::tests::a_type_that_is_not_an_object_is_skipped_rather_than_panicking ... ok [INFO] [stdout] test trim::prototypes::tests::keeps_the_asked_for_fields_and_records_the_type ... ok [INFO] [stdout] test trim::prototypes::tests::picks_the_entity_even_when_four_types_share_the_name ... ok [INFO] [stdout] test trim::prototypes::tests::prefers_the_candidate_that_has_a_collision_box ... ok [INFO] [stdout] test trim::prototypes::tests::returns_none_for_a_name_no_type_has ... ok [INFO] [stdout] test trim::prototypes::tests::the_fallback_is_alphabetical_so_it_is_deterministic ... ok [INFO] [stdout] test trim::renames::tests::a_missing_data_directory_gives_an_empty_table ... ok [INFO] [stdout] test trim::renames::tests::categories_and_names_come_out_sorted ... ok [INFO] [stdout] test trim::renames::tests::lua_migrations_are_skipped_because_they_are_code ... ok [INFO] [stdout] test trim::renames::tests::reads_pairs_out_of_every_mods_migrations ... ok [INFO] [stdout] test trim::prototypes::tests::the_four_position_output_box_two_point_one_introduced_survives ... ok [INFO] [stdout] test trim::renames::tests::unreadable_and_odd_shaped_files_are_skipped_rather_than_fatal ... ok [INFO] [stdout] test trim::renames::tests::a_later_migration_wins ... ok [INFO] [stdout] test trim::spec::tests::deserialises_the_factoriotools_shape ... ok [INFO] [stdout] test trim::spec::tests::everything_except_entities_has_a_default ... ok [INFO] [stdout] test trim::spec::tests::the_output_key_is_the_callers_choice_not_the_games ... ok [INFO] [stdout] test trim::spec::tests::an_unknown_key_is_rejected_rather_than_ignored ... ok [INFO] [stdout] test trim::tests::a_named_entity_that_no_longer_exists_is_a_loud_failure ... ok [INFO] [stdout] test trim::tests::sections_the_caller_did_not_ask_for_are_absent ... ok [INFO] [stdout] test trim::tests::assembles_every_section_the_caller_asked_for ... ok [INFO] [stdout] test version::tests::major_minor_is_what_a_mod_declares ... ok [INFO] [stdout] test version::tests::parses_a_real_macos_steam_version_line ... ok [INFO] [stdout] test trim::tests::numbers_are_normalised_on_the_way_out ... ok [INFO] [stdout] test version::tests::reads_only_the_first_line ... ok [INFO] [stdout] test version::tests::triple_is_what_a_provenance_entry_records ... ok [INFO] [stdout] test version::tests::ignores_the_build_number_and_arch_digits ... ok [INFO] [stdout] test version::tests::returns_none_when_there_is_no_version ... ok [INFO] [stdout] test install::tests::a_binary_that_never_answers_gives_up_instead_of_hanging ... ok [INFO] [stdout] test install::tests::a_slow_binary_that_does_answer_is_still_read_in_full ... ok [INFO] [stdout] test install::tests::a_grandchild_holding_the_pipe_does_not_lose_the_output ... ok [INFO] [stdout] test install::tests::the_wait_for_a_held_pipe_is_bounded_by_the_deadline ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/factorio_oracle-a0ac5f81f153b9f0) [INFO] [stdout] test install::tests::the_binary_it_gave_up_on_is_killed_and_reaped ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 255 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.03s [INFO] [stdout] [INFO] [stderr] Running tests/acceptance.rs (/opt/rustwide/target/release/deps/acceptance-57a6200667b5732d) [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] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test the_real_install_reproduces_it_too ... ok [INFO] [stderr] Running tests/provenance.rs (/opt/rustwide/target/release/deps/provenance-11f914e094a13cd0) [INFO] [stdout] test reading_defines_from_the_game_produces_the_same_bytes ... ok [INFO] [stdout] test the_committed_fixture_is_reproduced_byte_for_byte ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test a_binary_older_than_the_fixtures_reports_them_as_newer ... ok [INFO] [stdout] test a_manifest_written_by_another_repo_agrees_with_this_check ... ok [INFO] [stderr] Running tests/real_game.rs (/opt/rustwide/target/release/deps/real_game-e6ca5c3ac364d70a) [INFO] [stdout] test every_fixture_records_where_it_came_from ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test a_real_dump_data_run_reports_the_bundled_mod_set ... ok [INFO] [stdout] test a_real_create_run_answers_with_the_game ... ok [INFO] [stderr] Running tests/refs.rs (/opt/rustwide/target/release/deps/refs-2ea97060dbe0c965) [INFO] [stdout] test naming_a_mod_disabled_is_what_keeps_it_out ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test a_pattern_that_matches_nothing_is_an_answer_and_not_an_error ... ok [INFO] [stdout] test a_worktree_is_a_real_tree_at_that_tag_and_removing_it_leaves_no_trace ... ok [INFO] [stdout] test reading_at_a_tag_leaves_the_shared_clone_exactly_as_it_was ... ok [INFO] [stdout] test the_cross_version_verdict_reproduces_a_claim_a_consumer_wrote_by_hand ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests factorio_oracle [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" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f", kill_on_drop: false }` [INFO] [stdout] 7abefef5d133c3d821b0870b6749bfded4c5aa01bcf4029fa2f32e438360b95f