[INFO] fetching crate siderust-ffi 0.1.0... [INFO] testing siderust-ffi-0.1.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate siderust-ffi 0.1.0 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate siderust-ffi 0.1.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate siderust-ffi 0.1.0 [INFO] tweaked toml for crates.io crate siderust-ffi 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate siderust-ffi 0.1.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate siderust-ffi 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded qtty-derive v0.4.1 [INFO] [stderr] Downloaded tempoch-ffi v0.2.0 [INFO] [stderr] Downloaded tempoch v0.4.0 [INFO] [stderr] Downloaded tempoch-core v0.4.0 [INFO] [stderr] Downloaded qtty v0.4.1 [INFO] [stderr] Downloaded affn-derive v0.1.3 [INFO] [stderr] Downloaded qtty v0.3.1 [INFO] [stderr] Downloaded qtty-ffi v0.4.1 [INFO] [stderr] Downloaded qtty-derive v0.3.1 [INFO] [stderr] Downloaded cheby v0.1.0 [INFO] [stderr] Downloaded cbindgen v0.29.2 [INFO] [stderr] Downloaded qtty-core v0.3.1 [INFO] [stderr] Downloaded affn v0.4.1 [INFO] [stderr] Downloaded safe_arch v1.0.0 [INFO] [stderr] Downloaded qtty-core v0.4.1 [INFO] [stderr] Downloaded wide v1.1.1 [INFO] [stderr] Downloaded siderust v0.6.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0c93b38f0bd223b1eb2a7e58e8b9349f825639f9d6beda6d9ed6a4b114883a85 [INFO] running `Command { std: "docker" "start" "-a" "0c93b38f0bd223b1eb2a7e58e8b9349f825639f9d6beda6d9ed6a4b114883a85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0c93b38f0bd223b1eb2a7e58e8b9349f825639f9d6beda6d9ed6a4b114883a85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c93b38f0bd223b1eb2a7e58e8b9349f825639f9d6beda6d9ed6a4b114883a85", kill_on_drop: false }` [INFO] [stdout] 0c93b38f0bd223b1eb2a7e58e8b9349f825639f9d6beda6d9ed6a4b114883a85 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 78bc1309540a27b468d2db8ecc9835d62a28db515a4b650715f326fc0df5d75a [INFO] running `Command { std: "docker" "start" "-a" "78bc1309540a27b468d2db8ecc9835d62a28db515a4b650715f326fc0df5d75a", kill_on_drop: false }` [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling cbindgen v0.29.2 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling safe_arch v1.0.0 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling wide v1.1.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling toml v0.9.12+spec-1.1.0 [INFO] [stderr] Compiling simba v0.9.1 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling qtty-derive v0.4.1 [INFO] [stderr] Compiling qtty-derive v0.3.1 [INFO] [stderr] Compiling nalgebra-macros v0.3.0 [INFO] [stderr] Compiling affn-derive v0.1.3 [INFO] [stderr] Compiling qtty-core v0.4.1 [INFO] [stderr] Compiling qtty-core v0.3.1 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling siderust v0.6.0 [INFO] [stderr] Compiling nalgebra v0.34.1 [INFO] [stderr] Compiling qtty-ffi v0.4.1 [INFO] [stderr] Compiling tempoch-ffi v0.2.0 [INFO] [stderr] Compiling siderust-ffi v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling qtty v0.4.1 [INFO] [stderr] Compiling tempoch-core v0.4.0 [INFO] [stderr] Compiling tempoch v0.4.0 [INFO] [stderr] Compiling qtty v0.3.1 [INFO] [stderr] Compiling cheby v0.1.0 [INFO] [stderr] Compiling affn v0.4.1 [INFO] [stdout] warning: associated function `generic_target` is never used [INFO] [stdout] --> src/types.rs:426:19 [INFO] [stdout] | [INFO] [stdout] 376 | impl SiderustSubject { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 426 | pub(crate) fn generic_target(handle: *const crate::target::SiderustGenericTarget) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.66s [INFO] running `Command { std: "docker" "inspect" "78bc1309540a27b468d2db8ecc9835d62a28db515a4b650715f326fc0df5d75a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78bc1309540a27b468d2db8ecc9835d62a28db515a4b650715f326fc0df5d75a", kill_on_drop: false }` [INFO] [stdout] 78bc1309540a27b468d2db8ecc9835d62a28db515a4b650715f326fc0df5d75a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 700e0c2578ec91254b94bf9f1825552da80cb719729d601fd2216793b725fedc [INFO] running `Command { std: "docker" "start" "-a" "700e0c2578ec91254b94bf9f1825552da80cb719729d601fd2216793b725fedc", kill_on_drop: false }` [INFO] [stderr] Compiling siderust-ffi v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated function `generic_target` is never used [INFO] [stdout] --> src/types.rs:426:19 [INFO] [stdout] | [INFO] [stdout] 376 | impl SiderustSubject { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 426 | pub(crate) fn generic_target(handle: *const crate::target::SiderustGenericTarget) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.97s [INFO] running `Command { std: "docker" "inspect" "700e0c2578ec91254b94bf9f1825552da80cb719729d601fd2216793b725fedc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "700e0c2578ec91254b94bf9f1825552da80cb719729d601fd2216793b725fedc", kill_on_drop: false }` [INFO] [stdout] 700e0c2578ec91254b94bf9f1825552da80cb719729d601fd2216793b725fedc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4d2275356240dd902e711f27b2bd1b9bf3629c183cb5880b86fce6b0cc7ddcba [INFO] running `Command { std: "docker" "start" "-a" "4d2275356240dd902e711f27b2bd1b9bf3629c183cb5880b86fce6b0cc7ddcba", kill_on_drop: false }` [INFO] [stderr] warning: associated function `generic_target` is never used [INFO] [stderr] --> src/types.rs:426:19 [INFO] [stderr] | [INFO] [stderr] 376 | impl SiderustSubject { [INFO] [stderr] | -------------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 426 | pub(crate) fn generic_target(handle: *const crate::target::SiderustGenericTarget) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `siderust-ffi` (lib) generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/siderust_ffi-addde0e1992210b2) [INFO] [stdout] [INFO] [stdout] running 340 tests [INFO] [stdout] test altitude::tests::free_null_pointers_safe ... ok [INFO] [stdout] test altitude::tests::icrs_altitude_at_ok ... ok [INFO] [stdout] test altitude::tests::icrs_below_threshold_ok ... ok [INFO] [stdout] test altitude::tests::icrs_altitude_null_out ... ok [INFO] [stdout] test altitude::tests::icrs_below_threshold_wrong_frame ... ok [INFO] [stdout] test altitude::tests::icrs_above_threshold_wrong_frame ... ok [INFO] [stdout] test altitude::tests::icrs_from_c_correct_frame ... ok [INFO] [stdout] test altitude::tests::icrs_from_c_wrong_frame ... ok [INFO] [stdout] test altitude::tests::moon_altitude_at_null_ptr ... ok [INFO] [stdout] test altitude::tests::icrs_above_threshold_ok ... ok [INFO] [stdout] test altitude::tests::star_altitude_null_handle ... ok [INFO] [stdout] test altitude::tests::star_altitude_at_ok ... ok [INFO] [stdout] test altitude::tests::star_above_threshold_ok ... ok [INFO] [stdout] test altitude::tests::star_below_threshold_null_handle ... ok [INFO] [stdout] test altitude::tests::star_below_threshold_ok ... ok [INFO] [stdout] test altitude::tests::star_above_threshold_null_handle ... ok [INFO] [stdout] test altitude::tests::star_culminations_null_handle ... ok [INFO] [stdout] test altitude::tests::star_crossings_ok ... ok [INFO] [stdout] test altitude::tests::star_crossings_null_handle ... ok [INFO] [stdout] test altitude::tests::icrs_altitude_wrong_frame ... ok [INFO] [stdout] test altitude::tests::star_altitude_null_out ... ok [INFO] [stdout] test altitude::tests::star_culminations_ok ... ok [INFO] [stdout] test altitude::tests::sun_above_threshold_invalid_window ... ok [INFO] [stdout] test altitude::tests::window_invalid_period ... ok [INFO] [stdout] test altitude::tests::window_valid_period ... ok [INFO] [stdout] test azimuth::tests::icrs_azimuth_at_null_out ... ok [INFO] [stdout] test azimuth::tests::free_null_pointers_safe ... ok [INFO] [stdout] test azimuth::tests::icrs_azimuth_at_ok ... ok [INFO] [stdout] test azimuth::tests::icrs_azimuth_crossings_wrong_frame ... ok [INFO] [stdout] test altitude::tests::sun_altitude_at_null_ptr ... ok [INFO] [stdout] test azimuth::tests::icrs_azimuth_at_wrong_frame ... ok [INFO] [stdout] test altitude::tests::sun_altitude_at_is_finite ... ok [INFO] [stdout] test azimuth::tests::icrs_azimuth_crossings_ok ... ok [INFO] [stdout] test azimuth::tests::moon_azimuth_at_null_out ... ok [INFO] [stdout] test altitude::tests::moon_altitude_at_is_finite ... ok [INFO] [stdout] test azimuth::tests::star_azimuth_at_null_out ... ok [INFO] [stdout] test azimuth::tests::star_azimuth_at_null_handle ... ok [INFO] [stdout] test azimuth::tests::star_azimuth_crossings_null_handle ... ok [INFO] [stdout] test azimuth::tests::star_azimuth_crossings_ok ... ok [INFO] [stdout] test azimuth::tests::star_azimuth_at_ok ... ok [INFO] [stdout] test azimuth::tests::sun_azimuth_at_null_out ... ok [INFO] [stdout] test azimuth::tests::sun_azimuth_at_is_finite ... ok [INFO] [stdout] test azimuth::tests::moon_azimuth_at_is_finite ... ok [INFO] [stdout] test azimuth::tests::sun_crossings_invalid_window ... ok [INFO] [stdout] test azimuth::tests::sun_extrema_invalid_window ... ok [INFO] [stdout] test azimuth::tests::sun_azimuth_crossings_ok ... ok [INFO] [stdout] test azimuth::tests::sun_in_range_invalid_window ... ok [INFO] [stdout] test bodies::tests::catalog_all_known_stars ... ok [INFO] [stdout] test bodies::tests::catalog_lowercase_name ... ok [INFO] [stdout] test bodies::tests::catalog_null_name ... ok [INFO] [stdout] test bodies::tests::catalog_null_out ... ok [INFO] [stdout] test bodies::tests::catalog_unknown_star ... ok [INFO] [stdout] test bodies::tests::custom_star_mu_alpha_star_convention ... ok [INFO] [stdout] test bodies::tests::custom_star_no_proper_motion ... ok [INFO] [stdout] test bodies::tests::custom_star_null_name_returns_null_pointer ... ok [INFO] [stdout] test bodies::tests::custom_star_null_out_returns_null_pointer ... ok [INFO] [stdout] test bodies::tests::custom_star_with_proper_motion ... ok [INFO] [stdout] test bodies::tests::earth_ok ... ok [INFO] [stdout] test azimuth::tests::sun_azimuth_extrema_ok ... ok [INFO] [stdout] test bodies::tests::mars_ok ... ok [INFO] [stdout] test bodies::tests::mercury_ok ... ok [INFO] [stdout] test bodies::tests::jupiter_ok ... ok [INFO] [stdout] test bodies::tests::planet_null_ptr ... ok [INFO] [stdout] test bodies::tests::saturn_ok ... ok [INFO] [stdout] test bodies::tests::neptune_ok ... ok [INFO] [stdout] test bodies::tests::star_free_null_is_safe ... ok [INFO] [stdout] test bodies::tests::star_name_buffer_too_small ... ok [INFO] [stdout] test altitude::tests::sun_altitude_periods_ok ... ok [INFO] [stdout] test bodies::tests::star_name_roundtrip ... ok [INFO] [stdout] test bodies::tests::star_name_null_ptr ... ok [INFO] [stdout] test bodies::tests::star_null_handle_returns_nan ... ok [INFO] [stdout] test bodies::tests::uranus_ok ... ok [INFO] [stdout] test bodies::tests::venus_ok ... ok [INFO] [stdout] test body::tests::all_bodies_return_finite_azimuth ... ok [INFO] [stdout] test body::tests::all_bodies_return_finite_altitude ... ok [INFO] [stdout] test body::tests::body_altitude_at_mars_is_finite ... ok [INFO] [stdout] test body::tests::body_altitude_at_null_ptr ... ok [INFO] [stdout] test body::tests::body_altitude_at_sun_is_finite ... ok [INFO] [stdout] test altitude::tests::moon_altitude_periods_ok ... ok [INFO] [stdout] test azimuth::tests::sun_in_azimuth_range_ok ... ok [INFO] [stdout] test body::tests::body_azimuth_at_mars_is_finite ... ok [INFO] [stdout] test body::tests::body_azimuth_at_sun_is_finite ... ok [INFO] [stdout] test azimuth::tests::moon_azimuth_extrema_ok ... ok [INFO] [stdout] test altitude::tests::moon_below_threshold_ok ... ok [INFO] [stdout] test body::tests::body_azimuth_crossings_sun ... ok [INFO] [stdout] test altitude::tests::moon_above_threshold_ok ... ok [INFO] [stdout] test body::tests::body_altitude_periods_sun_succeeds ... ok [INFO] [stdout] test altitude::tests::moon_crossings_ok ... ok [INFO] [stdout] test body::tests::body_azimuth_extrema_sun_succeeds ... ok [INFO] [stdout] test azimuth::tests::moon_azimuth_crossings_ok ... ok [INFO] [stdout] test azimuth::tests::moon_in_azimuth_range_ok ... ok [INFO] [stdout] test coordinates::tests::cartesian_dir_ecliptic_to_icrs ... ok [INFO] [stdout] test coordinates::tests::cartesian_dir_icrs_to_ecliptic_j2000 ... ok [INFO] [stdout] test coordinates::tests::cartesian_dir_icrs_to_equatorial_j2000 ... ok [INFO] [stdout] test coordinates::tests::cartesian_dir_icrs_to_equatorial_mean_of_date ... ok [INFO] [stdout] test coordinates::tests::cartesian_dir_icrs_to_equatorial_true_of_date ... ok [INFO] [stdout] test coordinates::tests::cartesian_dir_icrs_to_icrs_identity ... ok [INFO] [stdout] test coordinates::tests::cartesian_dir_invalid_dst_frame ... ok [INFO] [stdout] test coordinates::tests::cartesian_dir_invalid_src_frame ... ok [INFO] [stdout] test coordinates::tests::cartesian_dir_null_out ... ok [INFO] [stdout] test coordinates::tests::cartesian_pos_ecliptic_to_icrs ... ok [INFO] [stdout] test coordinates::tests::cartesian_pos_icrs_to_ecliptic_j2000 ... ok [INFO] [stdout] test coordinates::tests::cartesian_pos_icrs_to_equatorial_j2000 ... ok [INFO] [stdout] test coordinates::tests::cartesian_pos_icrs_to_equatorial_mean_of_date ... ok [INFO] [stdout] test coordinates::tests::cartesian_pos_icrs_to_equatorial_true_of_date ... ok [INFO] [stdout] test coordinates::tests::cartesian_pos_icrs_to_icrf ... ok [INFO] [stdout] test coordinates::tests::cartesian_pos_icrs_to_icrs_identity ... ok [INFO] [stdout] test coordinates::tests::cartesian_pos_invalid_dst_frame ... ok [INFO] [stdout] test coordinates::tests::cartesian_pos_invalid_src_frame ... ok [INFO] [stdout] test coordinates::tests::cartesian_pos_null_out ... ok [INFO] [stdout] test coordinates::tests::center_transform_helio_to_bary ... ok [INFO] [stdout] test coordinates::tests::center_transform_helio_to_geo ... ok [INFO] [stdout] test coordinates::tests::center_transform_invalid_dst_center ... ok [INFO] [stdout] test coordinates::tests::center_transform_invalid_src_center ... ok [INFO] [stdout] test coordinates::tests::center_transform_null_out ... ok [INFO] [stdout] test coordinates::tests::center_transform_same_center_is_identity ... ok [INFO] [stdout] test coordinates::tests::ecliptic_j2000_to_horizontal ... ok [INFO] [stdout] test coordinates::tests::ecliptic_j2000_to_icrs ... ok [INFO] [stdout] test coordinates::tests::equatorial_j2000_to_icrs ... ok [INFO] [stdout] test coordinates::tests::equatorial_mean_of_date_to_horizontal ... ok [INFO] [stdout] test coordinates::tests::equatorial_mean_of_date_to_icrs ... ok [INFO] [stdout] test coordinates::tests::equatorial_true_of_date_to_horizontal ... ok [INFO] [stdout] test coordinates::tests::equatorial_true_of_date_to_icrs ... ok [INFO] [stdout] test coordinates::tests::from_bodycentric_null_out ... ok [INFO] [stdout] test coordinates::tests::galactic_dst_frame_returns_error ... ok [INFO] [stdout] test coordinates::tests::geodetic_to_ecef_greenwich ... ok [INFO] [stdout] test coordinates::tests::geodetic_to_ecef_null_out ... ok [INFO] [stdout] test coordinates::tests::horizontal_dst_frame_returns_error ... ok [INFO] [stdout] test coordinates::tests::icrs_to_ecliptic_j2000 ... ok [INFO] [stdout] test coordinates::tests::icrs_to_equatorial_j2000 ... ok [INFO] [stdout] test coordinates::tests::icrs_to_equatorial_mean_of_date ... ok [INFO] [stdout] test coordinates::tests::icrs_to_equatorial_true_of_date ... ok [INFO] [stdout] test coordinates::tests::icrs_to_horizontal_vega ... ok [INFO] [stdout] test coordinates::tests::icrs_to_icrs_is_identity ... ok [INFO] [stdout] test coordinates::tests::kepler_position_earth_at_j2000 ... ok [INFO] [stdout] test coordinates::tests::kepler_position_null_out ... ok [INFO] [stdout] test coordinates::tests::to_bodycentric_and_back_roundtrip ... ok [INFO] [stdout] test coordinates::tests::to_bodycentric_barycentric_input ... ok [INFO] [stdout] test coordinates::tests::to_bodycentric_heliocentric_input ... ok [INFO] [stdout] test coordinates::tests::to_bodycentric_invalid_center ... ok [INFO] [stdout] test coordinates::tests::to_bodycentric_null_out ... ok [INFO] [stdout] test coordinates::tests::to_horizontal_null_out ... ok [INFO] [stdout] test coordinates::tests::to_horizontal_unsupported_src_frame ... ok [INFO] [stdout] test coordinates::tests::transform_frame_null_out ... ok [INFO] [stdout] test coordinates::tests::unsupported_src_frame_returns_error ... ok [INFO] [stdout] test ephemeris::tests::earth_barycentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::earth_barycentric_null_ptr ... ok [INFO] [stdout] test ephemeris::tests::earth_heliocentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::earth_heliocentric_null_ptr ... ok [INFO] [stdout] test ephemeris::tests::jupiter_barycentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::jupiter_barycentric_null ... ok [INFO] [stdout] test ephemeris::tests::jupiter_heliocentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::jupiter_heliocentric_null ... ok [INFO] [stdout] test ephemeris::tests::mars_barycentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::mars_barycentric_null ... ok [INFO] [stdout] test ephemeris::tests::mars_heliocentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::mars_heliocentric_null ... ok [INFO] [stdout] test body::tests::body_in_azimuth_range_sun_succeeds ... ok [INFO] [stdout] test ephemeris::tests::mercury_barycentric_null ... ok [INFO] [stdout] test ephemeris::tests::mercury_barycentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::mercury_heliocentric_null ... ok [INFO] [stdout] test ephemeris::tests::mercury_heliocentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::moon_geocentric_null_ptr ... ok [INFO] [stdout] test ephemeris::tests::neptune_barycentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::neptune_barycentric_null ... ok [INFO] [stdout] test ephemeris::tests::neptune_heliocentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::neptune_heliocentric_null ... ok [INFO] [stdout] test ephemeris::tests::moon_geocentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::saturn_barycentric_null ... ok [INFO] [stdout] test ephemeris::tests::saturn_heliocentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::saturn_heliocentric_null ... ok [INFO] [stdout] test ephemeris::tests::sun_barycentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::sun_barycentric_null_ptr ... ok [INFO] [stdout] test ephemeris::tests::uranus_barycentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::uranus_barycentric_null ... ok [INFO] [stdout] test ephemeris::tests::uranus_heliocentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::uranus_heliocentric_null ... ok [INFO] [stdout] test ephemeris::tests::venus_barycentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::venus_barycentric_null ... ok [INFO] [stdout] test ephemeris::tests::venus_heliocentric_at_j2000 ... ok [INFO] [stdout] test ephemeris::tests::venus_heliocentric_null ... ok [INFO] [stdout] test observatories::tests::el_paranal_returns_ok ... ok [INFO] [stdout] test observatories::tests::geodetic_new_stores_values ... ok [INFO] [stdout] test observatories::tests::la_silla_returns_ok ... ok [INFO] [stdout] test observatories::tests::mauna_kea_returns_ok ... ok [INFO] [stdout] test observatories::tests::null_ptr_el_paranal ... ok [INFO] [stdout] test observatories::tests::null_ptr_geodetic_new ... ok [INFO] [stdout] test observatories::tests::null_ptr_la_silla ... ok [INFO] [stdout] test observatories::tests::null_ptr_mauna_kea ... ok [INFO] [stdout] test observatories::tests::null_ptr_roque ... ok [INFO] [stdout] test observatories::tests::roque_de_los_muchachos_returns_ok ... ok [INFO] [stdout] test phase::tests::find_phase_events_invalid_window ... ok [INFO] [stdout] test ephemeris::tests::saturn_barycentric_at_j2000 ... ok [INFO] [stdout] test altitude::tests::sun_culminations_ok ... ok [INFO] [stdout] test body::tests::body_crossings_mars ... ok [INFO] [stdout] test body::tests::body_in_azimuth_range_mars_succeeds ... ok [INFO] [stdout] test phase::tests::geocentric_phase_null_out ... ok [INFO] [stdout] test altitude::tests::sun_below_threshold_ok ... ok [INFO] [stdout] test phase::tests::illumination_above_invalid_window ... ok [INFO] [stdout] test phase::tests::geocentric_phase_valid ... ok [INFO] [stdout] test altitude::tests::sun_above_threshold_ok ... ok [INFO] [stdout] test phase::tests::illumination_below_invalid_window ... ok [INFO] [stdout] test altitude::tests::sun_crossings_ok ... ok [INFO] [stdout] test body::tests::body_above_threshold_jupiter ... ok [INFO] [stdout] test phase::tests::illumination_range_invalid_window ... ok [INFO] [stdout] test body::tests::body_azimuth_extrema_moon_succeeds ... ok [INFO] [stdout] test body::tests::body_above_threshold_sun ... ok [INFO] [stdout] test phase::tests::phase_events_free_null_safe ... ok [INFO] [stdout] test phase::tests::phase_label_new_moon ... ok [INFO] [stdout] test phase::tests::phase_label_null_out ... ok [INFO] [stdout] test phase::tests::topocentric_phase_null_out ... ok [INFO] [stdout] test phase::tests::topocentric_phase_valid ... ok [INFO] [stdout] test body::tests::body_altitude_periods_jupiter_succeeds ... ok [INFO] [stdout] test qtty_integration::tests::above_threshold_qty_rejects_non_angle ... ok [INFO] [stdout] test qtty_integration::tests::altitude_at_qty_sun ... ok [INFO] [stdout] test runtime_ephemeris::tests::free_null_is_safe ... ok [INFO] [stdout] test runtime_ephemeris::tests::load_bsp_nonexistent_file ... ok [INFO] [stdout] test runtime_ephemeris::tests::load_bsp_null_out ... ok [INFO] [stdout] test runtime_ephemeris::tests::load_bsp_null_path ... ok [INFO] [stdout] test runtime_ephemeris::tests::load_bytes_invalid_data ... ok [INFO] [stdout] test runtime_ephemeris::tests::load_bytes_null_data ... ok [INFO] [stdout] test runtime_ephemeris::tests::query_null_handle ... ok [INFO] [stdout] test subject::tests::above_threshold_icrs ... ok [INFO] [stdout] test subject::tests::above_threshold_star ... ok [INFO] [stdout] test body::tests::body_below_threshold_sun_succeeds ... ok [INFO] [stdout] test subject::tests::above_threshold_target ... ok [INFO] [stdout] test subject::tests::altitude_at_generic_target ... ok [INFO] [stdout] test subject::tests::altitude_at_generic_target_with_pm ... ok [INFO] [stdout] test subject::tests::altitude_at_icrs ... ok [INFO] [stdout] test subject::tests::altitude_at_mars ... ok [INFO] [stdout] test subject::tests::altitude_at_moon ... ok [INFO] [stdout] test subject::tests::altitude_at_null_out ... ok [INFO] [stdout] test subject::tests::altitude_at_null_star_handle ... ok [INFO] [stdout] test subject::tests::altitude_at_star ... ok [INFO] [stdout] test subject::tests::altitude_at_sun ... ok [INFO] [stdout] test subject::tests::altitude_at_target ... ok [INFO] [stdout] test subject::tests::altitude_periods_star_unsupported ... ok [INFO] [stdout] test subject::tests::altitude_periods_sun ... ok [INFO] [stdout] test subject::tests::azimuth_at_icrs ... ok [INFO] [stdout] test subject::tests::azimuth_at_star ... ok [INFO] [stdout] test subject::tests::azimuth_at_sun ... ok [INFO] [stdout] test subject::tests::azimuth_at_target ... ok [INFO] [stdout] test subject::tests::azimuth_crossings_sun ... ok [INFO] [stdout] test subject::tests::azimuth_extrema_sun ... ok [INFO] [stdout] test body::tests::body_below_threshold_moon_returns_ok ... ok [INFO] [stdout] test subject::tests::crossings_star ... ok [INFO] [stdout] test body::tests::body_culminations_venus ... ok [INFO] [stdout] test altitude::tests::moon_culminations_ok ... ok [INFO] [stdout] test subject::tests::culminations_target ... ok [INFO] [stdout] test subject::tests::above_threshold_sun ... ok [INFO] [stdout] test target::tests::above_threshold_invalid_window ... ok [INFO] [stdout] test target::tests::above_threshold_null_handle ... ok [INFO] [stdout] test target::tests::above_threshold_ok ... ok [INFO] [stdout] test target::tests::altitude_at_is_finite ... ok [INFO] [stdout] test target::tests::altitude_at_null_handle ... ok [INFO] [stdout] test target::tests::altitude_at_null_out ... ok [INFO] [stdout] test target::tests::azimuth_at_is_finite ... ok [INFO] [stdout] test target::tests::azimuth_at_null_handle ... ok [INFO] [stdout] test target::tests::azimuth_at_null_out ... ok [INFO] [stdout] test target::tests::azimuth_crossings_invalid_window ... ok [INFO] [stdout] test target::tests::azimuth_crossings_null_handle ... ok [INFO] [stdout] test target::tests::azimuth_crossings_ok ... ok [INFO] [stdout] test target::tests::below_threshold_invalid_window ... ok [INFO] [stdout] test target::tests::below_threshold_null_handle ... ok [INFO] [stdout] test target::tests::below_threshold_ok ... ok [INFO] [stdout] test target::tests::create_and_free ... ok [INFO] [stdout] test target::tests::create_null_out ... ok [INFO] [stdout] test target::tests::crossings_null_handle ... ok [INFO] [stdout] test target::tests::crossings_ok ... ok [INFO] [stdout] test target::tests::culminations_null_handle ... ok [INFO] [stdout] test target::tests::culminations_ok ... ok [INFO] [stdout] test target::tests::dec_deg_roundtrip ... ok [INFO] [stdout] test target::tests::dec_null_out ... ok [INFO] [stdout] test target::tests::epoch_jd_roundtrip ... ok [INFO] [stdout] test target::tests::epoch_null_out ... ok [INFO] [stdout] test target::tests::free_null_safe ... ok [INFO] [stdout] test target::tests::ra_deg_roundtrip ... ok [INFO] [stdout] test target::tests::ra_null_handle ... ok [INFO] [stdout] test target::tests::ra_null_out ... ok [INFO] [stdout] test tests::version_returns_expected_value ... ok [INFO] [stdout] test types::tests::altitude_query_to_rust ... ok [INFO] [stdout] test types::tests::azimuth_crossing_event_ffi_from_rising ... ok [INFO] [stdout] test types::tests::azimuth_crossing_event_ffi_from_setting ... ok [INFO] [stdout] test types::tests::azimuth_extremum_ffi_from_max ... ok [INFO] [stdout] test types::tests::azimuth_extremum_ffi_from_min ... ok [INFO] [stdout] test types::tests::center_from_str_aliases ... ok [INFO] [stdout] test types::tests::center_from_str_canonical ... ok [INFO] [stdout] test types::tests::center_roundtrip ... ok [INFO] [stdout] test types::tests::crossing_event_from_rust_rising ... ok [INFO] [stdout] test types::tests::crossing_event_from_rust_setting ... ok [INFO] [stdout] test types::tests::culmination_event_from_rust_max ... ok [INFO] [stdout] test types::tests::culmination_event_from_rust_min ... ok [INFO] [stdout] test types::tests::enum_clone_and_eq ... ok [INFO] [stdout] test types::tests::enum_debug ... ok [INFO] [stdout] test types::tests::ffi_from_period_mjd ... ok [INFO] [stdout] test types::tests::frame_from_str_aliases ... ok [INFO] [stdout] test types::tests::frame_from_str_canonical ... ok [INFO] [stdout] test types::tests::frame_from_str_case_insensitive ... ok [INFO] [stdout] test types::tests::frame_from_str_unknown ... ok [INFO] [stdout] test types::tests::frame_roundtrip ... ok [INFO] [stdout] test types::tests::geodetic_roundtrip ... ok [INFO] [stdout] test types::tests::layout_azimuth_crossing_event ... ok [INFO] [stdout] test types::tests::layout_azimuth_extremum ... ok [INFO] [stdout] test types::tests::layout_body_enum ... ok [INFO] [stdout] test types::tests::layout_cartesian_dir ... ok [INFO] [stdout] test types::tests::layout_cartesian_pos ... ok [INFO] [stdout] test types::tests::layout_cartesian_vel ... ok [INFO] [stdout] test types::tests::layout_center_enum ... ok [INFO] [stdout] test types::tests::layout_crossing_event ... ok [INFO] [stdout] test types::tests::layout_culmination_event ... ok [INFO] [stdout] test types::tests::layout_frame_enum ... ok [INFO] [stdout] test types::tests::layout_geodetic ... ok [INFO] [stdout] test types::tests::layout_moon_phase_geometry ... ok [INFO] [stdout] test types::tests::layout_orbit ... ok [INFO] [stdout] test types::tests::layout_phase_event ... ok [INFO] [stdout] test types::tests::layout_planet ... ok [INFO] [stdout] test types::tests::layout_search_opts ... ok [INFO] [stdout] test types::tests::layout_spherical_dir ... ok [INFO] [stdout] test types::tests::layout_status_enum ... ok [INFO] [stdout] test types::tests::orbit_roundtrip ... ok [INFO] [stdout] test types::tests::planet_from_rust_earth ... ok [INFO] [stdout] test types::tests::search_opts_default ... ok [INFO] [stdout] test types::tests::search_opts_to_rust_with_scan_step ... ok [INFO] [stdout] test types::tests::search_opts_to_rust_without_scan_step ... ok [INFO] [stdout] test types::tests::search_opts_zero_tolerance_uses_default ... ok [INFO] [stdout] test qtty_integration::tests::above_threshold_qty_accepts_radians ... ok [INFO] [stdout] test subject::tests::in_azimuth_range_sun ... ok [INFO] [stdout] test phase::tests::illumination_below_ok ... ok [INFO] [stdout] test subject::tests::below_threshold_sun ... ok [INFO] [stdout] test phase::tests::illumination_above_ok ... ok [INFO] [stdout] test subject::tests::crossings_sun ... ok [INFO] [stdout] test subject::tests::culminations_sun ... ok [INFO] [stdout] test phase::tests::find_phase_events_null_count has been running for over 60 seconds [INFO] [stdout] test phase::tests::find_phase_events_null_out has been running for over 60 seconds [INFO] [stdout] test phase::tests::find_phase_events_returns_events has been running for over 60 seconds [INFO] [stdout] test phase::tests::find_phase_events_with_custom_scan_step has been running for over 60 seconds [INFO] [stdout] test phase::tests::illumination_below_with_custom_scan_step ... ok [INFO] [stdout] test phase::tests::illumination_above_with_custom_scan_step has been running for over 60 seconds [INFO] [stdout] test phase::tests::illumination_range_ok has been running for over 60 seconds [INFO] [stdout] test phase::tests::illumination_range_with_custom_scan_step has been running for over 60 seconds [INFO] [stdout] test phase::tests::illumination_above_with_custom_scan_step ... ok [INFO] [stdout] test phase::tests::illumination_range_ok ... ok [INFO] [stdout] test phase::tests::find_phase_events_null_out ... ok [INFO] [stdout] test phase::tests::find_phase_events_returns_events ... ok [INFO] [stdout] test phase::tests::find_phase_events_null_count ... ok [INFO] [stdout] test phase::tests::find_phase_events_with_custom_scan_step ... ok [INFO] [stdout] test phase::tests::illumination_range_with_custom_scan_step ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 340 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 111.92s [INFO] [stdout] [INFO] [stderr] Running tests/ffi_smoke.rs (/opt/rustwide/target/debug/deps/ffi_smoke-9bdafe6d045b7f05) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test icrs_azimuth_wrong_frame_returns_error ... ok [INFO] [stdout] test invalid_period_end_before_start ... ok [INFO] [stdout] test null_ptr_guard_altitude_out ... ok [INFO] [stdout] test star_unknown_name_returns_error ... ok [INFO] [stdout] test target_create_and_free ... ok [INFO] [stdout] test null_ptr_guard_star_handle ... ok [INFO] [stdout] test star_custom_create_and_free ... ok [INFO] [stdout] test star_catalog_create_and_free ... ok [INFO] [stdout] test null_ptr_guard_target_handle ... ok [INFO] [stdout] test moon_azimuth_crossings_alloc_and_free ... ok [INFO] [stdout] test null_ptr_guard_crossings_out ... ok [INFO] [stdout] test sun_culminations_alloc_and_free ... ok [INFO] [stdout] test sun_crossings_alloc_and_free ... ok [INFO] [stdout] test sun_periods_above_threshold_alloc_and_free ... ok [INFO] [stdout] test phase_events_alloc_and_free ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 26.28s [INFO] [stdout] [INFO] [stderr] Doc-tests siderust_ffi [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/ffi_utils.rs - ffi_utils::check_out (line 45) ... ignored [INFO] [stdout] test src/ffi_utils.rs - ffi_utils::dispatch_body (line 73) ... ignored [INFO] [stdout] test src/ffi_utils.rs - ffi_utils::dispatch_subject (line 140) ... ignored [INFO] [stdout] test src/ffi_utils.rs - ffi_utils::ffi_guard (line 20) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4d2275356240dd902e711f27b2bd1b9bf3629c183cb5880b86fce6b0cc7ddcba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4d2275356240dd902e711f27b2bd1b9bf3629c183cb5880b86fce6b0cc7ddcba", kill_on_drop: false }` [INFO] [stdout] 4d2275356240dd902e711f27b2bd1b9bf3629c183cb5880b86fce6b0cc7ddcba