[INFO] cloning repository https://github.com/RyuuNeko1107/umbra-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RyuuNeko1107/umbra-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRyuuNeko1107%2Fumbra-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRyuuNeko1107%2Fumbra-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dc0285319081107e3ae223b9bf4657ade4098693
[INFO] testing RyuuNeko1107/umbra-rs/dc0285319081107e3ae223b9bf4657ade4098693 against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRyuuNeko1107%2Fumbra-rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/RyuuNeko1107/umbra-rs
[INFO] finished tweaking git repo https://github.com/RyuuNeko1107/umbra-rs
[INFO] tweaked toml for git repo https://github.com/RyuuNeko1107/umbra-rs written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/RyuuNeko1107/umbra-rs on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/RyuuNeko1107/umbra-rs 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c
[INFO] running `Command { std: "docker" "start" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c", 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" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c", 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" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling umbra-core v0.0.0 (/opt/rustwide/workdir/crates/umbra-core)
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling umbra-ephemeris v0.0.0 (/opt/rustwide/workdir/crates/umbra-ephemeris)
[INFO] [stderr]    Compiling umbra-geo v0.0.0 (/opt/rustwide/workdir/crates/umbra-geo)
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling umbra-eclipse v0.0.0 (/opt/rustwide/workdir/crates/umbra-eclipse)
[INFO] [stderr]    Compiling umbra-cli v0.0.0 (/opt/rustwide/workdir/crates/umbra-cli)
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling umbra-fixtures v0.0.0 (/opt/rustwide/workdir/crates/umbra-fixtures)
[INFO] [stderr]    Compiling xtask v0.0.0 (/opt/rustwide/workdir/crates/xtask)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] running `Command { std: "docker" "inspect" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c", 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" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling umbra-core v0.0.0 (/opt/rustwide/workdir/crates/umbra-core)
[INFO] [stderr]    Compiling umbra-ephemeris v0.0.0 (/opt/rustwide/workdir/crates/umbra-ephemeris)
[INFO] [stderr]    Compiling umbra-geo v0.0.0 (/opt/rustwide/workdir/crates/umbra-geo)
[INFO] [stderr]    Compiling umbra-eclipse v0.0.0 (/opt/rustwide/workdir/crates/umbra-eclipse)
[INFO] [stderr]    Compiling umbra-fixtures v0.0.0 (/opt/rustwide/workdir/crates/umbra-fixtures)
[INFO] [stderr]    Compiling umbra-cli v0.0.0 (/opt/rustwide/workdir/crates/umbra-cli)
[INFO] [stderr]    Compiling xtask v0.0.0 (/opt/rustwide/workdir/crates/xtask)
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 54.25s
[INFO] running `Command { std: "docker" "inspect" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c", 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" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/umbra_cli-9906d361f16929fc)
[INFO] [stdout] 
[INFO] [stdout] running 45 tests
[INFO] [stdout] test tests::format_local_json_partial_visible_has_null_inner_contacts ... ok
[INFO] [stdout] test tests::format_local_json_some_fully_visible_contract ... ok
[INFO] [stdout] test tests::format_local_text_rounds_drift_minute_no_sixty_seconds ... ok
[INFO] [stdout] test tests::format_local_json_visibility_is_internally_tagged ... ok
[INFO] [stdout] test tests::format_local_text_central_site_contains_key_fields ... ok
[INFO] [stdout] test tests::format_local_text_with_timezone_adds_label_and_keeps_utc_tt ... ok
[INFO] [stdout] test tests::format_local_text_partial_site_shows_dash_for_none_contacts ... ok
[INFO] [stdout] test tests::format_search_json_kind_is_internally_tagged_object ... ok
[INFO] [stdout] test tests::format_search_json_empty_input_is_empty_array ... ok
[INFO] [stdout] test tests::format_search_json_total_fixture_contract ... ok
[INFO] [stdout] test tests::kind_matches_all_accepts_every_kind ... ok
[INFO] [stdout] test tests::format_search_json_partial_fixture_contract ... ok
[INFO] [stdout] test tests::kind_matches_annular_includes_non_central_annular_only ... ok
[INFO] [stdout] test tests::format_search_json_preserves_order_and_every_element ... ok
[INFO] [stdout] test tests::kind_matches_total_includes_non_central_total_only ... ok
[INFO] [stdout] test tests::observer_west_longitude_absorbs_to_equivalent_east ... ok
[INFO] [stdout] test tests::parse_date_empty_is_invalid_date ... ok
[INFO] [stdout] test tests::parse_date_garbage_is_invalid_date ... ok
[INFO] [stdout] test tests::parse_date_sets_midnight_utc ... ok
[INFO] [stdout] test tests::local_args_accept_negative_lat_lon_via_clap ... ok
[INFO] [stdout] test tests::parse_utc_offset_garbage_is_invalid_timezone ... ok
[INFO] [stdout] test tests::parse_utc_offset_valid_forms_to_signed_minutes ... ok
[INFO] [stdout] test tests::run_local_invalid_date_is_invalid_date_error ... ok
[INFO] [stdout] test tests::run_local_invalid_timezone_is_invalid_timezone_error ... ok
[INFO] [stdout] test tests::run_local_json_invalid_date_still_fast_fails ... ok
[INFO] [stdout] test tests::run_local_json_invalid_timezone_still_fast_fails ... ok
[INFO] [stdout] test tests::parse_date_valid_round_trips_via_from_gregorian ... ok
[INFO] [stdout] test tests::format_search_text_contains_all_key_fields_for_total ... ok
[INFO] [stdout] test tests::run_search_from_after_to_is_range_order_error ... ok
[INFO] [stdout] test tests::run_search_invalid_from_is_invalid_date_error ... ok
[INFO] [stdout] test tests::format_search_text_rounds_drift_minute_no_sixty_seconds ... ok
[INFO] [stdout] test tests::kind_matches_hybrid_matches_hybrid_only ... ok
[INFO] [stdout] test tests::format_search_text_empty_list_is_non_panicking ... ok
[INFO] [stdout] test tests::parse_date_month_out_of_range_is_invalid_date ... ok
[INFO] [stdout] test tests::run_search_json_from_after_to_still_range_order ... ok
[INFO] [stdout] test tests::run_search_json_invalid_from_still_fast_fails ... ok
[INFO] [stdout] test tests::run_local_latitude_out_of_range_is_domain_error ... ok
[INFO] [stdout] test tests::kind_matches_partial_matches_partial_only ... ok
[INFO] [stdout] test tests::format_search_text_includes_every_eclipse_in_list ... ok
[INFO] [stdout] test tests::run_local_no_eclipse_date_reports_no_eclipse ... ok
[INFO] [stdout] test tests::format_local_json_none_is_json_null ... ok
[INFO] [stdout] test tests::run_local_2024_total_path_site_produces_output has been running for over 60 seconds
[INFO] [stdout] test tests::run_local_json_2024_total_path_site_is_valid_json has been running for over 60 seconds
[INFO] [stdout] test tests::run_search_2017_total_eclipse_appears_in_output has been running for over 60 seconds
[INFO] [stdout] test tests::run_search_json_2017_total_eclipse_is_valid_json_array has been running for over 60 seconds
[INFO] [stdout] test tests::run_search_2017_total_eclipse_appears_in_output ... ok
[INFO] [stdout] test tests::run_search_json_2017_total_eclipse_is_valid_json_array ... ok
[INFO] [stdout] test tests::run_local_2024_total_path_site_produces_output ... ok
[INFO] [stdout] test tests::run_local_json_2024_total_path_site_is_valid_json ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/umbra-0ab994a3ee025f1a)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/umbra_core-7fbdefda6a6a0b8d)
[INFO] [stdout] test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 344.03s
[INFO] [stdout] 
[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 163 tests
[INFO] [stdout] test angle::tests::signed_normalization_maps_into_half_open_interval ... ok
[INFO] [stdout] test angle::tests::two_pi_normalization_is_non_negative ... ok
[INFO] [stdout] test calendar::tests::deciseconds_midnight_carries_hour_to_day ... ok
[INFO] [stdout] test calendar::tests::deciseconds_fractional_on_grid_recovers_30_7 ... ok
[INFO] [stdout] test calendar::tests::deciseconds_plain_whole_minute_recovers_18_17_00 ... ok
[INFO] [stdout] test calendar::tests::deciseconds_second_always_in_grid_below_sixty ... ok
[INFO] [stdout] test calendar::tests::deciseconds_year_boundary_rolls_day_month_year ... ok
[INFO] [stdout] test calendar::tests::deciseconds_known_drift_whole_minute_recovers_16_00_00 ... ok
[INFO] [stdout] test calendar::tests::j2000_noon ... ok
[INFO] [stdout] test calendar::tests::meeus_example_1987 ... ok
[INFO] [stdout] test calendar::tests::midnight_is_half_less ... ok
[INFO] [stdout] test calendar::tests::rejects_invalid_fields ... ok
[INFO] [stdout] test constants::tests::julian_century_and_millennium_are_consistent ... ok
[INFO] [stdout] test constants::tests::light_time_one_au_is_about_499_seconds ... ok
[INFO] [stdout] test calendar::tests::round_trips_modern_and_future ... ok
[INFO] [stdout] test deltat::tests::composite_callable_through_delta_t_source_trait ... ok
[INFO] [stdout] test deltat::tests::composite_delta_t_extrapolates_outside_eop_coverage ... ok
[INFO] [stdout] test deltat::tests::composite_delta_t_extrapolates_when_before_leap_seconds ... ok
[INFO] [stdout] test deltat::tests::composite_callable_through_generic_bound ... ok
[INFO] [stdout] test deltat::tests::composite_delta_t_uses_identity_in_eop_and_leap_domain ... ok
[INFO] [stdout] test constants::tests::wgs84_flattening_matches_inverse_298 ... ok
[INFO] [stdout] test deltat::tests::delta_t_2000_matches_known_value ... ok
[INFO] [stdout] test deltat::tests::piece_values_match_formulas_at_interior_points ... ok
[INFO] [stdout] test deltat::tests::tt_to_ut1_subtracts_delta_t ... ok
[INFO] [stdout] test deltat::tests::uncertainty_branches_boundaries_and_growth ... ok
[INFO] [stdout] test deltat::tests::utc_to_ut1_adds_ut1_minus_utc_to_jd ... ok
[INFO] [stdout] test deltat::tests::ut1_tt_round_trip ... ok
[INFO] [stdout] test deltat::tests::composite_uncertainty_outside_eop_matches_espenak_meeus ... ok
[INFO] [stdout] test deltat::tests::decimal_year_uses_mid_month_convention ... ok
[INFO] [stdout] test deltat::tests::composite_delta_t_is_send_sync ... ok
[INFO] [stdout] test deltat::tests::piece_starts_match_constants_at_boundaries ... ok
[INFO] [stdout] test deltat::tests::composite_uncertainty_grows_into_the_future_in_extrapolation ... ok
[INFO] [stdout] test deltat::tests::composite_uncertainty_in_eop_domain_is_fixed_constant ... ok
[INFO] [stdout] test angle::tests::degrees_radians_round_trip ... ok
[INFO] [stdout] test deltat::tests::utc_to_ut1_outside_coverage_is_missing ... ok
[INFO] [stdout] test ellipsoid::tests::earth_model_equality_is_reflexive ... ok
[INFO] [stdout] test ellipsoid::tests::earth_model_is_copy ... ok
[INFO] [stdout] test ellipsoid::tests::ecef_height_moves_along_normal_by_exactly_h ... ok
[INFO] [stdout] test ellipsoid::tests::ecef_on_ellipsoid_surface_when_height_zero ... ok
[INFO] [stdout] test ellipsoid::tests::geocentric_latitude_satisfies_defining_relation ... ok
[INFO] [stdout] test ellipsoid::tests::observer_at_equator_and_pole ... ok
[INFO] [stdout] test ellipsoid::tests::observer_height_term_is_additive_and_signed ... ok
[INFO] [stdout] test ellipsoid::tests::observer_lies_on_meridian_ellipse_at_sea_level ... ok
[INFO] [stdout] test ellipsoid::tests::ecef_recovers_longitude ... ok
[INFO] [stdout] test ellipsoid::tests::observer_matches_meeus_palomar_example ... ok
[INFO] [stdout] test ellipsoid::tests::semi_minor_and_e2 ... ok
[INFO] [stdout] test eop::tests::exact_day_polar_motion_matches_record_in_radians ... ok
[INFO] [stdout] test eop::tests::from_records_rejects_duplicate_mjd ... ok
[INFO] [stdout] test eop::tests::from_records_rejects_empty ... ok
[INFO] [stdout] test eop::tests::last_record_exact_returns_ok ... ok
[INFO] [stdout] test eop::tests::interpolation_over_two_day_gap ... ok
[INFO] [stdout] test eop::tests::linear_interpolation_polar_motion_at_midpoint ... ok
[INFO] [stdout] test eop::tests::linear_interpolation_ut1_at_midpoint ... ok
[INFO] [stdout] test eop::tests::series_version_passthrough ... ok
[INFO] [stdout] test eop::tests::metadata_passthrough_with_complete_provenance ... ok
[INFO] [stdout] test eop::tests::iers_eop_data_is_send_sync ... ok
[INFO] [stdout] test julian::tests::add_days_normalizes_part2 ... ok
[INFO] [stdout] test julian::tests::centuries_at_j2000_is_zero ... ok
[INFO] [stdout] test julian::tests::days_since_preserves_subsecond_offset ... ok
[INFO] [stdout] test julian::tests::half_day_offset_is_exact ... ok
[INFO] [stdout] test julian::tests::millennia_is_one_tenth_of_centuries ... ok
[INFO] [stdout] test julian::tests::one_millennium_after_j2000 ... ok
[INFO] [stdout] test julian::tests::millennia_at_j2000_is_zero ... ok
[INFO] [stdout] test julian::tests::from_jd_round_trips ... ok
[INFO] [stdout] test julian::tests::tiny_offset_is_preserved_via_two_part ... ok
[INFO] [stdout] test matrix::tests::composed_z_rotations_add_angles ... ok
[INFO] [stdout] test matrix::tests::identity_is_neutral ... ok
[INFO] [stdout] test eop::tests::before_coverage_is_missing ... ok
[INFO] [stdout] test eop::tests::from_records_accepts_ascending ... ok
[INFO] [stdout] test matrix::tests::rotation_z_is_coordinate_rotation ... ok
[INFO] [stdout] test matrix::tests::mul_vec_sums_every_term ... ok
[INFO] [stdout] test metadata::tests::any_empty_field_breaks_provenance ... ok
[INFO] [stdout] test matrix::tests::transpose_is_inverse_rotation ... ok
[INFO] [stdout] test metadata::tests::complete_metadata_has_provenance ... ok
[INFO] [stdout] test matrix::tests::rotation_x_is_coordinate_rotation ... ok
[INFO] [stdout] test eop::tests::after_coverage_is_missing ... ok
[INFO] [stdout] test observer::tests::east_longitude_from_radians_normalizes ... ok
[INFO] [stdout] test eop::tests::coverage_spans_first_to_last_record ... ok
[INFO] [stdout] test observer::tests::east_longitude_keeps_interior_value ... ok
[INFO] [stdout] test eop::tests::from_records_rejects_descending_mjd ... ok
[INFO] [stdout] test eop::tests::exact_day_ut1_matches_record ... ok
[INFO] [stdout] test eop::tests::exact_day_first_record_1962 ... ok
[INFO] [stdout] test observer::tests::geodetic_latitude_from_degrees_round_trips_interior_point ... ok
[INFO] [stdout] test observer::tests::geodetic_latitude_from_radians_includes_boundaries ... ok
[INFO] [stdout] test observer::tests::geodetic_latitude_from_radians_rejects_out_of_range ... ok
[INFO] [stdout] test observer::tests::geodetic_latitude_includes_degree_boundaries ... ok
[INFO] [stdout] test observer::tests::geodetic_latitude_rejects_just_above_north_boundary ... ok
[INFO] [stdout] test observer::tests::geodetic_latitude_rejects_out_of_range_degrees ... ok
[INFO] [stdout] test observer::tests::kilometers_to_meters_multiplies_by_thousand ... ok
[INFO] [stdout] test observer::tests::east_longitude_radians_in_half_open_interval ... ok
[INFO] [stdout] test observer::tests::meters_kilometers_round_trip_is_identity ... ok
[INFO] [stdout] test observer::tests::east_longitude_normalizes_degrees_to_half_open_interval ... ok
[INFO] [stdout] test observer::tests::newtypes_partial_eq_distinguishes_values ... ok
[INFO] [stdout] test observer::tests::meters_to_kilometers_divides_by_thousand ... ok
[INFO] [stdout] test observer::tests::geodetic_latitude_from_radians_round_trips ... ok
[INFO] [stdout] test observer::tests::geodetic_latitude_handles_negative_interior_point ... ok
[INFO] [stdout] test observer::tests::geodetic_latitude_rejects_nan ... ok
[INFO] [stdout] test observer::tests::observer_from_degrees_normalizes_longitude ... ok
[INFO] [stdout] test observer::tests::observer_from_degrees_allows_negative_elevation ... ok
[INFO] [stdout] test observer::tests::observer_from_degrees_valid_preserves_values ... ok
[INFO] [stdout] test observer::tests::observer_from_degrees_rejects_invalid_latitude ... ok
[INFO] [stdout] test observer::tests::newtypes_are_copy ... ok
[INFO] [stdout] test solver::tests::brent_diverse_roots_converge_accurately ... ok
[INFO] [stdout] test solver::tests::golden_minimizes_cos ... ok
[INFO] [stdout] test solver::tests::golden_minimizes_parabola ... ok
[INFO] [stdout] test solver::tests::golden_minimizes_asymmetric_min_off_center ... ok
[INFO] [stdout] test solver::tests::brent_errors_when_not_bracketed ... ok
[INFO] [stdout] test solver::tests::golden_result_not_worse_than_endpoints ... ok
[INFO] [stdout] test solver::tests::brent_finds_cos_root ... ok
[INFO] [stdout] test time::tests::bundled_matches_free_function_everywhere ... ok
[INFO] [stdout] test time::tests::bundled_metadata_has_complete_provenance_and_range ... ok
[INFO] [stdout] test time::tests::bundled_tai_minus_utc_clamps_to_last_value ... ok
[INFO] [stdout] test time::tests::bundled_tai_minus_utc_before_1972_is_missing ... ok
[INFO] [stdout] test solver::tests::brent_finds_sqrt2 ... ok
[INFO] [stdout] test deltat::tests::composite_delta_t_identity_matches_term_by_term ... ok
[INFO] [stdout] test time::tests::delta_at_known_values ... ok
[INFO] [stdout] test solver::tests::brent_hits_exact_endpoint_root ... ok
[INFO] [stdout] test time::tests::before_1972_is_missing ... ok
[INFO] [stdout] test time::tests::from_entries_rejects_empty ... ok
[INFO] [stdout] test time::tests::bundled_tai_minus_utc_steps_exactly_on_boundary ... ok
[INFO] [stdout] test time::tests::bundled_tai_minus_utc_known_values ... ok
[INFO] [stdout] test time::tests::j2000_utc_to_tt_offset_is_64_184 ... ok
[INFO] [stdout] test time::tests::known_mjd_anchors ... ok
[INFO] [stdout] test time::tests::leap_second_entry_new_sets_fields ... ok
[INFO] [stdout] test time::tests::round_trip_utc_tt_utc ... ok
[INFO] [stdout] test time::tests::tai_tt_offset_is_exactly_32_184 ... ok
[INFO] [stdout] test time::tests::utc_instant_gregorian_round_trip ... ok
[INFO] [stdout] test time::tests::delta_at_steps_exactly_on_boundary ... ok
[INFO] [stdout] test time::tests::from_entries_accepts_ascending_nonempty ... ok
[INFO] [stdout] test time::tests::from_entries_rejects_descending_mjd ... ok
[INFO] [stdout] test time::tests::from_entries_rejects_duplicate_mjd ... ok
[INFO] [stdout] test time::tests::utc_to_tt_offset_is_dat_plus_32_184 ... ok
[INFO] [stdout] test timescales::tests::data_returns_constructed_time_data ... ok
[INFO] [stdout] test timescales::tests::delta_t_uncertainty_in_eop_domain_is_fixed_constant ... ok
[INFO] [stdout] test timescales::tests::delta_t_uncertainty_outside_eop_matches_espenak_meeus ... ok
[INFO] [stdout] test timescales::tests::metadata_returns_leap_then_eop_with_complete_provenance ... ok
[INFO] [stdout] test timescales::tests::polar_motion_2020_in_radians_exact ... ok
[INFO] [stdout] test timescales::tests::polar_motion_outside_eop_coverage_is_missing ... ok
[INFO] [stdout] test timescales::tests::tt_to_utc_before_1972_is_missing_leap_second ... ok
[INFO] [stdout] test timescales::tests::time_data_is_send_sync ... ok
[INFO] [stdout] test timescales::tests::delta_t_uncertainty_grows_into_the_future ... ok
[INFO] [stdout] test timescales::tests::time_scales_is_send_sync ... ok
[INFO] [stdout] test timescales::tests::tt_to_utc_round_trips_2020 ... ok
[INFO] [stdout] test timescales::tests::utc_to_tt_before_1972_is_missing_leap_second ... ok
[INFO] [stdout] test timescales::tests::utc_to_tt_matches_leap_table_plus_32_184 ... ok
[INFO] [stdout] test timescales::tests::utc_to_tt_offset_2020_is_69_184_exact ... ok
[INFO] [stdout] test timescales::tests::utc_to_tt_returns_ok_beyond_eop_coverage ... ok
[INFO] [stdout] test timescales::tests::utc_to_ut1_adds_ut1_minus_utc_2020_exact ... ok
[INFO] [stdout] test timescales::tests::utc_to_ut1_outside_eop_coverage_is_missing ... ok
[INFO] [stdout] test timescales::tests::valid_range_eop_start_after_leap_start ... ok
[INFO] [stdout] test timescales::tests::valid_range_leap_start_is_binding_lower_bound ... ok
[INFO] [stdout] test timescales::tests::valid_range_start_is_serviceable_by_all ... ok
[INFO] [stdout] test vector::tests::add_sub ... ok
[INFO] [stdout] test vector::tests::cross_all_nonzero_and_orthogonal ... ok
[INFO] [stdout] test vector::tests::cross_is_right_handed ... ok
[INFO] [stdout] test vector::tests::dot_uses_every_component ... ok
[INFO] [stdout] test vector::tests::normalized_has_unit_length_and_direction ... ok
[INFO] [stdout] test vector::tests::scale_factor_differs_from_every_component ... ok
[INFO] [stdout] test vector::tests::norm_uses_every_component ... ok
[INFO] [stdout] test vector::tests::normalized_zero_is_none ... ok
[INFO] [stdout] test constants::tests::arcsec_to_rad_is_pi_over_648000 ... ok
[INFO] [stdout] test ellipsoid::tests::ecef_equator_and_pole ... ok
[INFO] [stdout] test observer::tests::observer_new_preserves_fields ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 163 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/umbra_eclipse-c133e02a536ede6c)
[INFO] [stdout] 
[INFO] [stdout] running 451 tests
[INFO] [stdout] test axis_intercept::tests::cone_not_reaching_terminator_returns_empty ... ok
[INFO] [stdout] test axis_intercept::tests::cone_radius_is_load_bearing ... ok
[INFO] [stdout] test axis_intercept::tests::axis_missing_earth_returns_root_not_bracketed ... ok
[INFO] [stdout] test axis_intercept::tests::d_zero_matches_two_circle_closed_form ... ok
[INFO] [stdout] test axis_intercept::tests::deterministic_order_and_points ... ok
[INFO] [stdout] test axis_intercept::tests::edge_off_surface_returns_ok_none ... ok
[INFO] [stdout] test axis_intercept::tests::great_circle_distance_antipodal_equator_is_half_circumference ... ok
[INFO] [stdout] test axis_intercept::tests::great_circle_distance_equator_one_degree_lon ... ok
[INFO] [stdout] test axis_intercept::tests::great_circle_distance_one_degree_lat ... ok
[INFO] [stdout] test axis_intercept::tests::forward_roundtrip_for_axis_hitting_earth ... ok
[INFO] [stdout] test axis_intercept::tests::hemisphere_sign_follows_y ... ok
[INFO] [stdout] test axis_intercept::tests::initial_bearing_diagonal_matches_closed_form ... ok
[INFO] [stdout] test axis_intercept::tests::initial_bearing_due_east_on_equator ... ok
[INFO] [stdout] test axis_intercept::tests::great_circle_distance_same_point_is_zero ... ok
[INFO] [stdout] test axis_intercept::tests::initial_bearing_due_north_same_meridian ... ok
[INFO] [stdout] test axis_intercept::tests::initial_bearing_due_south_same_meridian ... ok
[INFO] [stdout] test axis_intercept::tests::initial_bearing_due_west_normalized_to_three_half_pi ... ok
[INFO] [stdout] test axis_intercept::tests::penumbral_edge_is_farther_from_axis_than_umbral ... ok
[INFO] [stdout] test axis_intercept::tests::quadratic_oracle_pins_root_and_geodetic ... ok
[INFO] [stdout] test axis_intercept::tests::initial_bearing_is_directional_not_symmetric ... ok
[INFO] [stdout] test axis_intercept::tests::longitude_is_normalized_into_half_open_interval ... ok
[INFO] [stdout] test axis_intercept::tests::terminator_ellipse_flattening_matters ... ok
[INFO] [stdout] test axis_intercept::tests::two_intersections_satisfy_contracts ... ok
[INFO] [stdout] test bessel_poly::tests::at_preserves_time_label_and_constant_tan_f ... ok
[INFO] [stdout] test bessel_poly::tests::at_returns_mu_normalized_into_zero_two_pi ... ok
[INFO] [stdout] test axis_intercept::tests::umbral_edge_regression_satisfies_cone_and_envelope_conditions ... ok
[INFO] [stdout] test axis_intercept::tests::quadratic_oracle_missing_line_returns_root_not_bracketed ... ok
[INFO] [stdout] test axis_intercept::tests::zero_relative_speed_returns_ok_none ... ok
[INFO] [stdout] test axis_intercept::tests::self_evident_geometry_phi_zero_lambda_minus_mu ... ok
[INFO] [stdout] test axis_intercept::tests::penumbral_edge_satisfies_cone_and_envelope_conditions ... ok
[INFO] [stdout] test bessel_poly::tests::fit_constant_source_at_degree_zero ... ok
[INFO] [stdout] test axis_intercept::tests::sign_gives_opposite_sides_of_axis ... ok
[INFO] [stdout] test axis_intercept::tests::great_circle_distance_diagonal_pair_known_value ... ok
[INFO] [stdout] test bessel_poly::tests::fit_escalates_degree_until_tolerance_met ... ok
[INFO] [stdout] test bessel_poly::tests::at_rejects_times_outside_fit_interval ... ok
[INFO] [stdout] test bessel_poly::tests::fit_error_is_finite_and_nonnegative_for_synthetic ... ok
[INFO] [stdout] test bessel_poly::tests::fit_preserves_epoch_and_interval ... ok
[INFO] [stdout] test bessel_poly::tests::fit_recovers_synthetic_polynomial_source ... ok
[INFO] [stdout] test bessel_poly::tests::fit_handles_mu_wrapping_across_two_pi ... ok
[INFO] [stdout] test bessel_poly::tests::fit_handles_mu_wrapping_decreasing ... ok
[INFO] [stdout] test axis_intercept::tests::selects_sunward_intercept ... ok
[INFO] [stdout] test bessel_poly::tests::fit_rejects_invalid_interval ... ok
[INFO] [stdout] test bessel_poly::tests::fit_requires_all_components_within_tolerance ... ok
[INFO] [stdout] test bessel_poly::tests::fit_rejects_nonfinite_interval ... ok
[INFO] [stdout] test bessel_poly::tests::fit_round_trip_with_offcenter_interval ... ok
[INFO] [stdout] test bessel_poly::tests::fit_trig_asymmetric_interval_guards_residual_sample_span ... ok
[INFO] [stdout] test bessel_poly::tests::fit_trig_source_requires_correct_sampling_geometry ... ok
[INFO] [stdout] test besselian::mu_tests::besselian_mu_ignores_axis_z_component ... ok
[INFO] [stdout] test bessel_poly::tests::usable_through_dyn_besselian_source ... ok
[INFO] [stdout] test besselian::mu_tests::besselian_mu_is_finite ... ok
[INFO] [stdout] test besselian::mu_tests::besselian_mu_matches_erfa_era_minus_alpha ... ok
[INFO] [stdout] test besselian::mu_tests::besselian_mu_subtracts_alpha_axis ... ok
[INFO] [stdout] test besselian::mu_tests::instantaneous_gamma_combines_both_components ... ok
[INFO] [stdout] test besselian::tests::declination_is_near_zero_for_equatorial_mock ... ok
[INFO] [stdout] test besselian::tests::gamma_combines_both_components ... ok
[INFO] [stdout] test besselian::tests::out_of_plane_moon_sets_y_and_negative_declination ... ok
[INFO] [stdout] test besselian::tests::both_x_and_y_nonzero_match_independent_oracle ... ok
[INFO] [stdout] test besselian::mu_tests::besselian_mu_is_normalized_into_zero_two_pi ... ok
[INFO] [stdout] test besselian::tests::central_total_has_zero_gamma_and_negative_l2 ... ok
[INFO] [stdout] test besselian::tests::minus_z_moon_gives_positive_declination ... ok
[INFO] [stdout] test besselian::tests::clear_annular_has_zero_gamma_and_positive_l2 ... ok
[INFO] [stdout] test besselian::tests::partial_axis_misses_earth_disc ... ok
[INFO] [stdout] test besselian::tests::penumbra_radius_is_about_half_earth_radius ... ok
[INFO] [stdout] test besselian::tests::shadow_miss_has_large_gamma ... ok
[INFO] [stdout] test calc_metadata::tests::fingerprint_distinguishes_accuracy_profiles ... ok
[INFO] [stdout] test besselian::tests::tan_half_angles_match_cone ... ok
[INFO] [stdout] test calc_metadata::tests::fingerprint_ignores_both_excluded_fields_together ... ok
[INFO] [stdout] test calc_metadata::tests::fingerprint_ignores_delta_t_uncertainty ... ok
[INFO] [stdout] test calc_metadata::tests::fingerprint_is_sensitive_to_each_recipe_field ... ok
[INFO] [stdout] test calc_metadata::tests::fingerprint_pins_known_recipe_value ... ok
[INFO] [stdout] test candidates::tests::all_candidate_times_are_finite ... ok
[INFO] [stdout] test candidates::tests::approx_tt_is_centered_in_window ... ok
[INFO] [stdout] test candidates::tests::approx_tt_matches_meeus_formula_for_its_lunation_number ... ok
[INFO] [stdout] test candidates::tests::candidate_just_after_range_end_is_retained_via_overhang ... ok
[INFO] [stdout] test candidates::tests::approx_tt_is_within_its_window ... ok
[INFO] [stdout] test candidates::tests::candidate_count_matches_period_over_synodic_month ... ok
[INFO] [stdout] test candidates::tests::approx_tt_matches_meeus_formula_far_from_epoch ... ok
[INFO] [stdout] test candidates::tests::candidate_just_before_range_start_is_retained_via_overhang ... ok
[INFO] [stdout] test calc_metadata::tests::fingerprint_is_deterministic_for_identical_recipe ... ok
[INFO] [stdout] test candidates::tests::lunation_numbers_are_consecutive_and_unique ... ok
[INFO] [stdout] test candidates::tests::candidates_are_sorted_by_approx_tt_ascending ... ok
[INFO] [stdout] test candidates::tests::lunation_index_origin_matches_meeus_epoch ... ok
[INFO] [stdout] test calc_metadata::tests::fingerprint_ignores_generated_at ... ok
[INFO] [stdout] test calc_metadata::tests::fingerprint_is_nonempty_lowercase_hex ... ok
[INFO] [stdout] test candidates::tests::range_starting_before_1972_is_time_error ... ok
[INFO] [stdout] test config::tests::accuracy_profile_eq_and_copy ... ok
[INFO] [stdout] test candidates::tests::window_half_width_exceeds_true_vs_mean_offset_and_is_about_one_day ... ok
[INFO] [stdout] test config::tests::engine_config_default_equals_standard ... ok
[INFO] [stdout] test config::tests::engine_config_is_copy ... ok
[INFO] [stdout] test config::tests::engine_config_reference_has_exact_fields ... ok
[INFO] [stdout] test config::tests::engine_config_standard_differs_from_reference ... ok
[INFO] [stdout] test config::tests::lunar_radius_model_iaumean_equals_penumbral_and_differs_from_umbral ... ok
[INFO] [stdout] test config::tests::lunar_radius_model_k_values_are_exact ... ok
[INFO] [stdout] test config::tests::reference_is_tighter_than_standard ... ok
[INFO] [stdout] test config::tests::solar_radius_model_iau2015_matches_constant ... ok
[INFO] [stdout] test config::tests::lunar_radius_model_name_values_are_exact ... ok
[INFO] [stdout] test config::tests::engine_config_standard_has_exact_fields ... ok
[INFO] [stdout] test besselian::mu_tests::elements_at_2017_total_eclipse_sanity ... ok
[INFO] [stdout] test besselian::mu_tests::elements_at_all_fields_finite ... ok
[INFO] [stdout] test besselian::mu_tests::elements_at_preserves_input_tt_label ... ok
[INFO] [stdout] test axis_intercept::tests::real_2017_eclipse_roundtrips_and_is_plausible ... ok
[INFO] [stdout] test besselian::mu_tests::elements_at_geom_matches_besselian_elements ... ok
[INFO] [stdout] test besselian::mu_tests::elements_at_mu_matches_besselian_mu ... ok
[INFO] [stdout] test conjunction::tests::angle_difference_changes_sign_across_window_for_both_kinds ... ok
[INFO] [stdout] test conjunction::tests::solve_zero_in_window_constant_positive_is_not_bracketed ... ok
[INFO] [stdout] test conjunction::tests::solve_zero_in_window_converges_to_small_tolerance ... ok
[INFO] [stdout] test conjunction::tests::solve_zero_in_window_cubic_single_root ... ok
[INFO] [stdout] test conjunction::tests::solve_zero_in_window_finds_known_linear_root ... ok
[INFO] [stdout] test conjunction::tests::solve_zero_in_window_finds_root_in_second_half ... ok
[INFO] [stdout] test conjunction::tests::solve_zero_in_window_root_lies_inside_window ... ok
[INFO] [stdout] test conjunction::tests::solve_zero_in_window_root_outside_window_is_not_bracketed ... ok
[INFO] [stdout] test conjunction::tests::solve_conjunction_right_ascension_is_zero_at_result ... ok
[INFO] [stdout] test eclipse_filter::tests::approx_gamma_for_2017_is_near_nasa_value ... ok
[INFO] [stdout] test conjunction::tests::solve_conjunction_2017_total_eclipse_has_small_separation ... ok
[INFO] [stdout] test conjunction::tests::solve_conjunction_ecliptic_longitude_is_zero_at_result ... ok
[INFO] [stdout] test conjunction::tests::solve_conjunction_results_are_finite ... ok
[INFO] [stdout] test conjunction::tests::solve_conjunction_both_kinds_agree_within_30_minutes ... ok
[INFO] [stdout] test conjunction::tests::solve_conjunction_result_is_within_candidate_window ... ok
[INFO] [stdout] test eclipse_filter::tests::at_least_one_new_moon_has_separation_clearly_above_limit ... ok
[INFO] [stdout] test eclipse_filter::tests::approx_gamma_matches_independent_formula ... ok
[INFO] [stdout] test conjunction::tests::solve_conjunction_converges_under_tight_tolerance ... ok
[INFO] [stdout] test eclipse_filter::tests::clear_non_eclipse_new_moons_are_rejected ... ok
[INFO] [stdout] test candidates::tests::sub_lunation_range_returns_window_crossing_candidate ... ok
[INFO] [stdout] test eclipse_filter::tests::embedded_conjunction_matches_input ... ok
[INFO] [stdout] test eclipse_filter::tests::min_separation_equals_conjunction_separation ... ok
[INFO] [stdout] test eclipse_filter::tests::known_grazing_partial_eclipses_are_all_possible ... ok
[INFO] [stdout] test bessel_poly::tests::fit_real_ephemeris_2017_has_small_residual ... ok
[INFO] [stdout] test engine::tests::build_metadata_populates_recipe_fields ... ok
[INFO] [stdout] test engine::tests::config_lunar_radius_model_affects_instantaneous_elements ... ok
[INFO] [stdout] test engine::tests::format_event_key_positive_and_negative_lunation ... ok
[INFO] [stdout] test engine::tests::instantaneous_elements_2017_gamma_matches_nasa ... ok
[INFO] [stdout] test engine::tests::instantaneous_elements_other_epoch_is_ok_and_sane ... ok
[INFO] [stdout] test engine::tests::instantaneous_elements_radii_wiring_matches_independent_besselian ... ok
[INFO] [stdout] test engine::tests::limits_north_above_south_with_plausible_band ... ok
[INFO] [stdout] test eclipse_filter::tests::sum_semidiameters_is_about_half_degree ... ok
[INFO] [stdout] test eclipse_filter::tests::sum_semidiameters_matches_independent_formula ... ok
[INFO] [stdout] test engine::tests::limits_offset_perpendicular_to_relative_velocity ... ok
[INFO] [stdout] test engine::tests::limits_satisfy_cone_exact_self_consistent_zeta ... ok
[INFO] [stdout] test eclipse_filter::tests::all_fields_are_finite_and_well_signed ... ok
[INFO] [stdout] test eclipse_filter::tests::smaller_separation_event_is_never_less_possible ... ok
[INFO] [stdout] test eclipse_filter::tests::known_real_eclipses_are_all_possible ... ok
[INFO] [stdout] test eclipse_filter::tests::real_eclipse_separation_is_below_geometric_limit ... ok
[INFO] [stdout] test eclipse_filter::tests::real_eclipses_have_possible_eclipse_reason ... ok
[INFO] [stdout] test eclipse_filter::tests::separation_below_limit_implies_possible ... ok
[INFO] [stdout] test eclipse_filter::tests::reason_is_consistent_with_possible_flag ... ok
[INFO] [stdout] test engine::tests::local_circumstances_unbracketable_window_anchors_at_global_greatest ... ok
[INFO] [stdout] test bessel_poly::tests::fit_exceeding_tolerance_errors_with_achieved ... ok
[INFO] [stdout] test conjunction::tests::solve_conjunction_time_is_near_elongation_minimum ... ok
[INFO] [stdout] test engine::tests::next_visible_is_observable_below_horizon_is_false ... ok
[INFO] [stdout] test engine::tests::next_visible_is_observable_fully_visible_is_true ... ok
[INFO] [stdout] test engine::tests::next_visible_is_observable_not_visible_is_false ... ok
[INFO] [stdout] test engine::tests::next_visible_is_observable_partial_visible_is_true ... ok
[INFO] [stdout] test engine::tests::next_visible_is_observable_sunrise_eclipse_is_true ... ok
[INFO] [stdout] test engine::tests::next_visible_is_observable_sunset_eclipse_is_true ... ok
[INFO] [stdout] test engine::tests::next_visible_is_observable_truth_table_is_exhaustive ... ok
[INFO] [stdout] test engine::tests::path_include_limits_false_yields_no_limits_but_keeps_center ... ok
[INFO] [stdout] test engine::tests::path_non_central_is_options_invariant ... ok
[INFO] [stdout] test engine::tests::path_non_central_returns_ok_without_center_line ... ok
[INFO] [stdout] test engine::tests::penumbral_edge_is_farther_from_axis_than_umbral ... ok
[INFO] [stdout] test engine::tests::penumbral_limits_are_lockstep_north_above_south ... ok
[INFO] [stdout] test engine::tests::penumbral_limits_respect_interval_loop_contract ... ok
[INFO] [stdout] test engine::tests::penumbral_limits_satisfy_exact_cone_and_envelope_conditions ... ok
[INFO] [stdout] test engine::tests::search_empty_when_no_new_moon_in_window ... ok
[INFO] [stdout] test candidates::tests::pre_2000_post_1972_range_is_nonempty_and_covers_true_new_moons ... ok
[INFO] [stdout] test engine::tests::standard_config_solar_radius_is_iau2015 ... ok
[INFO] [stdout] test engine::tests::standard_engine_bundled_instantaneous_elements_works ... ok
[INFO] [stdout] test engine::tests::standard_engine_type_is_monomorphic_and_constructs ... ok
[INFO] [stdout] test engine::tests::utc_now_returns_plausible_recent_instant ... ok
[INFO] [stdout] test engine::tests::utc_range_alias_is_time_range_of_utc ... ok
[INFO] [stdout] test error::tests::bessel_fit_exceeded_tolerance_constructs_and_is_reflexively_eq ... ok
[INFO] [stdout] test error::tests::domain_display_is_transparent ... ok
[INFO] [stdout] test error::tests::domain_error_wraps_via_question_mark ... ok
[INFO] [stdout] test error::tests::domain_wrap_has_source ... ok
[INFO] [stdout] test error::tests::eclipse_specific_variants_preserved ... ok
[INFO] [stdout] test error::tests::ephemeris_display_is_transparent ... ok
[INFO] [stdout] test error::tests::ephemeris_error_wraps_via_question_mark ... ok
[INFO] [stdout] test error::tests::ephemeris_wrap_has_source ... ok
[INFO] [stdout] test error::tests::non_exhaustive_requires_wildcard_arm ... ok
[INFO] [stdout] test error::tests::not_implemented_display_is_non_empty ... ok
[INFO] [stdout] test error::tests::not_implemented_is_constructible_and_returnable ... ok
[INFO] [stdout] test error::tests::solver_display_is_transparent ... ok
[INFO] [stdout] test error::tests::solver_error_wraps_via_question_mark ... ok
[INFO] [stdout] test error::tests::solver_wrap_has_source ... ok
[INFO] [stdout] test error::tests::time_display_is_transparent ... ok
[INFO] [stdout] test error::tests::time_error_wraps_via_question_mark ... ok
[INFO] [stdout] test error::tests::time_wrap_has_source ... ok
[INFO] [stdout] test fundamental::tests::axis_aligned_basis_is_canonical ... ok
[INFO] [stdout] test fundamental::tests::basis_is_orthonormal_and_right_handed ... ok
[INFO] [stdout] test fundamental::tests::degenerate_when_axis_parallel_to_pole ... ok
[INFO] [stdout] test fundamental::tests::x_axis_lies_in_equatorial_plane ... ok
[INFO] [stdout] test fundamental::tests::y_axis_equals_north_projection_oracle ... ok
[INFO] [stdout] test global::signed_gamma_tests::classify_is_invariant_under_axis_offset_sign_flip ... ok
[INFO] [stdout] test global::signed_gamma_tests::magnitude_of_signed_gamma_is_unchanged_for_both_signs ... ok
[INFO] [stdout] test global::signed_gamma_tests::northern_axis_keeps_positive_signed_gamma ... ok
[INFO] [stdout] test global::signed_gamma_tests::southern_axis_yields_negative_signed_gamma ... ok
[INFO] [stdout] test global::signed_gamma_tests::zero_y_axis_yields_nonnegative_gamma ... ok
[INFO] [stdout] test global::tests::central_to_noncentral_boundary ... ok
[INFO] [stdout] test global::tests::central_total_and_annular_by_l2_sign ... ok
[INFO] [stdout] test candidates::tests::boundary_new_moons_near_range_edges_are_not_dropped has been running for over 60 seconds
[INFO] [stdout] test candidates::tests::every_true_new_moon_is_inside_some_candidate_window has been running for over 60 seconds
[INFO] [stdout] test candidates::tests::nearest_candidate_offset_is_below_window_half_width has been running for over 60 seconds
[INFO] [stdout] test engine::tests::local_circumstances_angles_in_valid_ranges has been running for over 60 seconds
[INFO] [stdout] test engine::tests::local_circumstances_central_inner_outer_pa_differ has been running for over 60 seconds
[INFO] [stdout] test engine::tests::local_circumstances_central_site_is_total has been running for over 60 seconds
[INFO] [stdout] test engine::tests::local_circumstances_contact_utc_tt_consistent has been running for over 60 seconds
[INFO] [stdout] test engine::tests::local_circumstances_inner_contacts_depend_on_observer has been running for over 60 seconds
[INFO] [stdout] test engine::tests::local_circumstances_invisible_site_is_not_visible has been running for over 60 seconds
[INFO] [stdout] test engine::tests::local_circumstances_maximum_utc_tt_consistent has been running for over 60 seconds
[INFO] [stdout] test engine::tests::local_circumstances_metadata_recipe has been running for over 60 seconds
[INFO] [stdout] test engine::tests::local_circumstances_partial_site_is_partial has been running for over 60 seconds
[INFO] [stdout] test engine::tests::next_visible_eclipse_central_site_returns_2017_total has been running for over 60 seconds
[INFO] [stdout] test engine::tests::next_visible_eclipse_skips_invisible_eclipse has been running for over 60 seconds
[INFO] [stdout] test candidates::tests::every_true_new_moon_is_inside_some_candidate_window ... ok
[INFO] [stdout] test global::tests::classify_global_hybrid_interior_crossing ... ok
[INFO] [stdout] test engine::tests::search_finds_2017_08_21_total_eclipse has been running for over 60 seconds
[INFO] [stdout] test global::tests::classify_global_hybrid_synthetic ... ok
[INFO] [stdout] test global::tests::classify_global_no_eclipse_synthetic ... ok
[INFO] [stdout] test global::tests::classify_global_partial_synthetic ... ok
[INFO] [stdout] test global::tests::classify_global_total_not_hybrid_when_l2_negative_in_central_interval ... ok
[INFO] [stdout] test candidates::tests::boundary_new_moons_near_range_edges_are_not_dropped ... ok
[INFO] [stdout] test global::tests::classify_global_annular_real_2023 has been running for over 60 seconds
[INFO] [stdout] test candidates::tests::nearest_candidate_offset_is_below_window_half_width ... ok
[INFO] [stdout] test global::tests::classify_global_total_real_2017 has been running for over 60 seconds
[INFO] [stdout] test global::tests::greatest_annular_2023_contract_and_independent_checks has been running for over 60 seconds
[INFO] [stdout] test global::tests::greatest_annular_2023_path_width_and_duration_are_some has been running for over 60 seconds
[INFO] [stdout] test global::tests::greatest_annular_2023_contract_and_independent_checks ... ok
[INFO] [stdout] test global::tests::greatest_central_duration_matches_two_l2p_over_rel_speed ... ok
[INFO] [stdout] test global::tests::greatest_central_path_width_is_some_and_positive ... ok
[INFO] [stdout] test global::tests::greatest_annular_2023_path_width_and_duration_are_some ... ok
[INFO] [stdout] test global::tests::greatest_gamma_in_nasa_ballpark has been running for over 60 seconds
[INFO] [stdout] test global::tests::greatest_gamma_matches_independent_recomputation has been running for over 60 seconds
[INFO] [stdout] test global::tests::greatest_gamma_in_nasa_ballpark ... ok
[INFO] [stdout] test global::tests::greatest_gamma_matches_independent_recomputation ... ok
[INFO] [stdout] test global::tests::greatest_magnitude_exceeds_one_for_total has been running for over 60 seconds
[INFO] [stdout] test global::tests::greatest_magnitude_obscuration_match_zeta_corrected_radii has been running for over 60 seconds
[INFO] [stdout] test global::tests::classify_global_annular_real_2023 ... ok
[INFO] [stdout] test global::tests::greatest_noncentral_total_clamps_m_to_zero ... ok
[ERROR] error running command: command timed out after 900 seconds
[INFO] running `Command { std: "docker" "inspect" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c", kill_on_drop: false }`
[INFO] [stdout] 64eaf5efefc4f2bf4a60310a90dac2e3f89fd2d1d91a2a8d28bc8b1d71e12a2c
