[INFO] cloning repository https://github.com/youichi-uda/ferro-protocols
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/youichi-uda/ferro-protocols" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyouichi-uda%2Fferro-protocols", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyouichi-uda%2Fferro-protocols'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0ff639ab87895b1f9b410f6d063dcc9f66cfe601
[INFO] testing youichi-uda/ferro-protocols 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%2Fyouichi-uda%2Fferro-protocols" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/youichi-uda/ferro-protocols
[INFO] finished tweaking git repo https://github.com/youichi-uda/ferro-protocols
[INFO] tweaked toml for git repo https://github.com/youichi-uda/ferro-protocols written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/youichi-uda/ferro-protocols 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/youichi-uda/ferro-protocols 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] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded get-size-derive2 v0.7.4
[INFO] [stderr]   Downloaded littrs-ruff-text-size v0.6.2
[INFO] [stderr]   Downloaded attribute-derive v0.10.5
[INFO] [stderr]   Downloaded get-size2 v0.7.4
[INFO] [stderr]   Downloaded attribute-derive-macro v0.10.5
[INFO] [stderr]   Downloaded manyhow-macros v0.11.4
[INFO] [stderr]   Downloaded quote-use-macros v0.8.4
[INFO] [stderr]   Downloaded littrs-ruff-python-trivia v0.6.2
[INFO] [stderr]   Downloaded is-macro v0.3.7
[INFO] [stderr]   Downloaded collection_literals v1.0.3
[INFO] [stderr]   Downloaded unicode_names2_generator v1.3.0
[INFO] [stderr]   Downloaded quote-use v0.8.4
[INFO] [stderr]   Downloaded manyhow v0.11.4
[INFO] [stderr]   Downloaded proc-macro-utils v0.10.0
[INFO] [stderr]   Downloaded littrs-ruff-source-file v0.6.2
[INFO] [stderr]   Downloaded derive-where v1.6.1
[INFO] [stderr]   Downloaded interpolator v0.5.0
[INFO] [stderr]   Downloaded quick-xml v0.39.2
[INFO] [stderr]   Downloaded littrs-ruff-python-ast v0.6.2
[INFO] [stderr]   Downloaded littrs-ruff-python-parser v0.6.2
[INFO] [stderr]   Downloaded unicode_names2 v1.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c
[INFO] running `Command { std: "docker" "start" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c", 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" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c" "/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" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c", 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" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c" "/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 libc v0.2.186
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling collection_literals v1.0.3
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling interpolator v0.5.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling prometheus v0.14.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling proc-macro-utils v0.10.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling rustls v0.23.39
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling manyhow-macros v0.11.4
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling manyhow v0.11.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling quote-use-macros v0.8.4
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling derive-where v1.6.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling is-macro v0.3.7
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling quote-use v0.8.4
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling attribute-derive-macro v0.10.5
[INFO] [stderr]    Compiling unicode_names2_generator v1.3.0
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling unicode_names2 v1.3.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling attribute-derive v0.10.5
[INFO] [stderr]    Compiling get-size-derive2 v0.7.4
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling get-size2 v0.7.4
[INFO] [stderr]    Compiling littrs-ruff-text-size v0.6.2
[INFO] [stderr]    Compiling littrs-ruff-source-file v0.6.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling littrs-ruff-python-trivia v0.6.2
[INFO] [stderr]    Compiling littrs-ruff-python-ast v0.6.2
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling quick-xml v0.39.2
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling ferro-blob-store v1.0.0 (/opt/rustwide/workdir/crates/ferro-blob-store)
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling ferro-lumberjack v1.0.0 (/opt/rustwide/workdir/crates/ferro-lumberjack)
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling littrs-ruff-python-parser v0.6.2
[INFO] [stderr]    Compiling ferro-airflow-dag-parser v1.0.1 (/opt/rustwide/workdir/crates/ferro-airflow-dag-parser)
[INFO] [stderr]    Compiling ferro-cargo-registry-server v1.0.0 (/opt/rustwide/workdir/crates/ferro-cargo-registry-server)
[INFO] [stderr]    Compiling ferro-oci-server v1.0.0 (/opt/rustwide/workdir/crates/ferro-oci-server)
[INFO] [stderr]    Compiling ferro-maven-layout v1.0.0 (/opt/rustwide/workdir/crates/ferro-maven-layout)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 06s
[INFO] running `Command { std: "docker" "inspect" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c", 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" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c" "/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 serde v1.0.228
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling littrs-ruff-python-ast v0.6.2
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling quick-xml v0.39.2
[INFO] [stderr]    Compiling rcgen v0.13.2
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling littrs-ruff-python-parser v0.6.2
[INFO] [stderr]    Compiling ferro-airflow-dag-parser v1.0.1 (/opt/rustwide/workdir/crates/ferro-airflow-dag-parser)
[INFO] [stderr]    Compiling ferro-blob-store v1.0.0 (/opt/rustwide/workdir/crates/ferro-blob-store)
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ferro-lumberjack v1.0.0 (/opt/rustwide/workdir/crates/ferro-lumberjack)
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling ferro-oci-server v1.0.0 (/opt/rustwide/workdir/crates/ferro-oci-server)
[INFO] [stderr]    Compiling ferro-cargo-registry-server v1.0.0 (/opt/rustwide/workdir/crates/ferro-cargo-registry-server)
[INFO] [stderr]    Compiling ferro-maven-layout v1.0.0 (/opt/rustwide/workdir/crates/ferro-maven-layout)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 16s
[INFO] running `Command { std: "docker" "inspect" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c", 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" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.59s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ferro_airflow_dag_parser-6036ae09c1e1a131)
[INFO] [stdout] 
[INFO] [stdout] running 47 tests
[INFO] [stdout] test cache::tests::hash_is_stable_across_runs ... ok
[INFO] [stdout] test common::tests::dag_id_from_str_round_trips ... ok
[INFO] [stdout] test common::tests::dag_id_rejects_invalid_chars ... ok
[INFO] [stdout] test common::tests::dag_id_rejects_empty ... ok
[INFO] [stdout] test common::tests::make_dag_id_wraps_validation_error ... ok
[INFO] [stdout] test common::tests::push_unique_task_keeps_first_seen_order ... ok
[INFO] [stdout] test common::tests::task_id_accepts_dotted_dashed_underscored ... ok
[INFO] [stdout] test common::tests::dag_id_displays_inner ... ok
[INFO] [stdout] test common::tests::extracted_dag_round_trips_through_json ... ok
[INFO] [stdout] test cache::tests::missing_file_surfaces_io_error ... ok
[INFO] [stdout] test common::tests::dag_id_rejects_too_long ... ok
[INFO] [stdout] test common::tests::task_id_try_from_string_round_trips ... ok
[INFO] [stdout] test dynamic_markers::tests::marker_kind_strings ... ok
[INFO] [stdout] test line_index::tests::empty_source_collapses_to_one_one ... ok
[INFO] [stdout] test line_index::tests::newline_advances_line ... ok
[INFO] [stdout] test line_index::tests::first_byte_is_line_one_col_one ... ok
[INFO] [stdout] test panic_safe::tests::happy_path_returns_parsed ... ok
[INFO] [stdout] test line_index::tests::offset_past_eof_clamps_to_last_line ... ok
[INFO] [stdout] test dynamic_markers::tests::detects_import_time_branching ... ok
[INFO] [stdout] test dynamic_markers::tests::detects_chain_splat ... ok
[INFO] [stdout] test dynamic_markers::tests::detects_dynamic_schedule_expr ... ok
[INFO] [stdout] test panic_safe::tests::lex_reject_flags_tstrings ... ok
[INFO] [stdout] test dynamic_markers::tests::detects_for_loop_task_generation ... ok
[INFO] [stdout] test dynamic_markers::tests::no_markers_on_simple_dag ... ok
[INFO] [stdout] test cache::tests::invalidate_drops_entry ... ok
[INFO] [stdout] test dynamic_markers::tests::detects_unsupported_taskflow_expand ... ok
[INFO] [stdout] test cache::tests::peek_returns_none_when_unparsed ... ok
[INFO] [stdout] test cache::tests::first_call_parses_second_call_hits_cache ... ok
[INFO] [stdout] test dynamic_markers::tests::detects_path_stem_dag_id ... ok
[INFO] [stdout] test dynamic_markers::tests::detects_fstring_task_id ... ok
[INFO] [stdout] test panic_safe::tests::nesting_depth_exceeds_is_exact_at_the_cap_boundary ... ok
[INFO] [stdout] test panic_safe::tests::parser_error_returns_parse_variant ... ok
[INFO] [stdout] test panic_safe::tests::panic_payload_message_handles_unknown_shape ... ok
[INFO] [stdout] test panic_safe::tests::nesting_depth_exceeds_at_production_cap ... ok
[INFO] [stdout] test panic_safe::tests::nesting_depth_exceeds_reports_depth_only_past_cap ... ok
[INFO] [stdout] test panic_safe::tests::shield_returns_ok_when_closure_does_not_panic ... ok
[INFO] [stdout] test ruff_impl::tests::extracts_simple_with_dag ... ok
[INFO] [stdout] test cache::tests::rewrite_invalidates_cache_via_hash ... ok
[INFO] [stdout] test ruff_impl::tests::extracts_dag_decorator ... ok
[INFO] [stdout] test cache::tests::clear_drops_everything ... ok
[INFO] [stdout] test ruff_impl::tests::parse_error_surfaces ... ok
[INFO] [stdout] test ruff_impl::tests::invalid_dag_id_literal_surfaces_as_invalid_identifier ... ok
[INFO] [stdout] test panic_safe::tests::lex_reject_has_no_false_positives_on_real_expressions ... ok
[INFO] [stdout] test panic_safe::tests::lex_reject_catches_non_bracket_recursion_vectors ... ok
[INFO] [stdout] test panic_safe::tests::shield_converts_static_str_panic_to_internal ... ok
[INFO] [stdout] test panic_safe::tests::shield_converts_string_panic_to_internal ... ok
[INFO] [stdout] test panic_safe::tests::parse_module_safely_catches_upstream_parser_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 47 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api_dynamic_markers.rs (/opt/rustwide/target/debug/deps/api_dynamic_markers-919f8a7a1f95d272)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test example_dags_coverage_summary ... ok
[INFO] [stdout] test detects_import_time_branching_pattern ... ok
[INFO] [stdout] test detects_chain_splat_pattern ... ok
[INFO] [stdout] test detects_path_stem_dag_id_pattern ... ok
[INFO] [stdout] test detects_unsupported_taskflow_pattern ... ok
[INFO] [stdout] test detects_fstring_task_id_pattern ... ok
[INFO] [stdout] test parse_outcome_includes_markers_when_present ... ok
[INFO] [stdout] test detects_dynamic_schedule_expr_pattern ... ok
[INFO] [stdout] test detects_for_loop_task_generation_pattern ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api_extract_all_static_dags.rs (/opt/rustwide/target/debug/deps/api_extract_all_static_dags-db19128ec87f1630)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test returns_empty_vec_when_no_dag_present ... ok
[INFO] [stdout] test returns_each_dag_in_source_order ... ok
[INFO] [stdout] test recovers_dag_decorator_and_with_dag_in_one_file ... ok
[INFO] [stdout] test each_dag_has_independent_task_ids ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api_extract_static_dag.rs (/opt/rustwide/target/debug/deps/api_extract_static_dag-3f83224c1e7de5c3)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test returns_default_for_empty_source ... ok
[INFO] [stdout] test picks_first_dag_when_multiple_present ... ok
[INFO] [stdout] test recovers_dag_id_task_ids_and_edges ... ok
[INFO] [stdout] test syntax_error_surfaces ... ok
[INFO] [stderr]      Running tests/api_invalid_id.rs (/opt/rustwide/target/debug/deps/api_invalid_id-087bcd473a552037)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api_parse_cache.rs (/opt/rustwide/target/debug/deps/api_parse_cache-3ff376271eb6351a)
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test safe_punctuation_is_accepted ... ok
[INFO] [stdout] test dag_id_too_long_is_rejected ... ok
[INFO] [stdout] test parse_error_outranks_invalid_identifier ... ok
[INFO] [stdout] test dag_id_with_slash_is_rejected ... ok
[INFO] [stdout] test task_id_with_invalid_char_is_rejected ... ok
[INFO] [stdout] test dag_id_empty_is_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test first_then_hit ... ok
[INFO] [stdout] test invalidate_removes_one_entry ... ok
[INFO] [stdout] test peek_does_not_populate ... ok
[INFO] [stdout] test clear_drops_everything ... ok
[INFO] [stdout] test cache_is_clone_cheap_and_shared ... ok
[INFO] [stdout] test concurrent_get_or_parse_is_race_free ... ok
[INFO] [stderr]      Running tests/conformance.rs (/opt/rustwide/target/debug/deps/conformance-b9d8bda2fb66e031)
[INFO] [stdout] test rewrite_changes_hash_and_dag_id ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test upstream_example_bash_operator_recovers_fan_out_edges ... ok
[INFO] [stdout] test upstream_dags_yield_one_dag_each_via_extract_all ... ok
[INFO] [stdout] test upstream_tutorial_records_default_args ... ok
[INFO] [stdout] test upstream_example_bash_operator_recovers_dag_id ... ok
[INFO] [stdout] test upstream_tutorial_recovers_three_tasks ... ok
[INFO] [stdout] test upstream_example_bash_operator_recovers_all_seven_tasks ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mutation_guard.rs (/opt/rustwide/target/debug/deps/mutation_guard-df8b7aa7a9a983b4)
[INFO] [stdout] 
[INFO] [stdout] running 61 tests
[INFO] [stdout] test bracket_depth_far_over_cap_rejected ... ok
[INFO] [stdout] test bracket_depth_one_over_cap_rejected ... ok
[INFO] [stdout] test dag_decorator_via_attribute_is_recognized ... ok
[INFO] [stdout] test dag_id_one_over_max_len_is_rejected ... ok
[INFO] [stdout] test chain_helper_via_attribute_is_recognized ... ok
[INFO] [stdout] test dag_context_does_not_leak_past_the_with_block ... ok
[INFO] [stdout] test bare_name_decorator_that_is_not_dag_is_ignored ... ok
[INFO] [stdout] test dag_decorator_context_does_not_leak_past_the_function ... ok
[INFO] [stdout] test chain_splat_inside_dag_is_flagged ... ok
[INFO] [stdout] test ann_assign_target_collects_task ... ok
[INFO] [stdout] test duplicate_edges_are_deduplicated ... ok
[INFO] [stdout] test dyn_dag_decorator_via_attribute_opens_context ... ok
[INFO] [stdout] test dyn_nested_chain_splat_in_call_args_is_reached_by_recursion ... ok
[INFO] [stdout] test cache_hit_returns_identical_hash ... ok
[INFO] [stdout] test dyn_non_chain_splat_call_inside_dag_is_not_flagged ... ok
[INFO] [stdout] test dyn_task_decorator_call_via_call_callee_flags_taskflow ... ok
[INFO] [stdout] test dyn_non_dag_with_block_does_not_open_dag_context ... ok
[INFO] [stdout] test chain_splat_outside_dag_is_not_flagged ... ok
[INFO] [stdout] test constant_if_guarding_dag_is_not_branching ... ok
[INFO] [stdout] test extract_recovers_full_dag_shape ... ok
[INFO] [stdout] test for_loop_non_operator_call_is_not_flagged ... ok
[INFO] [stdout] test bracket_depth_exactly_at_cap_passes ... ok
[INFO] [stdout] test assign_value_inside_dag_is_walked_for_markers ... ok
[INFO] [stdout] test ann_assign_value_inside_dag_is_walked_for_markers ... ok
[INFO] [stdout] test dyn_non_task_decorator_call_does_not_flag_taskflow ... ok
[INFO] [stdout] test dag_id_at_exact_max_len_is_accepted ... ok
[INFO] [stdout] test dyn_task_decorator_call_via_attribute_flags_taskflow ... ok
[INFO] [stdout] test dyn_zero_arg_task_decorator_call_is_not_dynamic ... ok
[INFO] [stdout] test dynamic_schedule_marker_reports_exact_line ... ok
[INFO] [stdout] test dag_callable_via_attribute_is_recognized ... ok
[INFO] [stdout] test distinct_edges_sharing_an_endpoint_are_all_kept ... ok
[INFO] [stdout] test closing_brackets_reduce_depth_so_balanced_input_passes ... ok
[INFO] [stdout] test keyword_not_chain_rejected_by_recursion_cap ... ok
[INFO] [stdout] test recursion_run_far_over_cap_rejected ... ok
[INFO] [stdout] test fstring_task_id_marker_reports_exact_line_and_rendering ... ok
[INFO] [stdout] test dyn_dag_callable_via_attribute_opens_context ... ok
[INFO] [stdout] test for_loop_operator_construction_is_flagged_via_attribute ... ok
[INFO] [stdout] test ruff_bare_name_dag_decorator_registers_dag ... ok
[INFO] [stdout] test path_stem_marker_reports_exact_line_and_col ... ok
[INFO] [stdout] test import_time_branching_under_nonconstant_if_is_flagged ... ok
[INFO] [stdout] test ruff_impl_extract_returns_first_dag_not_default ... ok
[INFO] [stdout] test nested_class_body_is_walked_for_dags ... ok
[INFO] [stdout] test dyn_non_dag_decorator_does_not_open_dag_context ... ok
[INFO] [stdout] test non_dag_attribute_call_is_not_a_dag ... ok
[INFO] [stdout] test ruff_non_dag_name_call_decorator_is_ignored ... ok
[INFO] [stdout] test ruff_non_task_decorated_function_in_dag_is_not_a_task ... ok
[INFO] [stdout] test ruff_task_decorator_call_form_registers_task ... ok
[INFO] [stdout] test set_upstream_records_reversed_edge ... ok
[INFO] [stdout] test non_task_decorated_function_is_not_a_task ... ok
[INFO] [stdout] test set_downstream_records_directed_edge ... ok
[INFO] [stdout] test task_id_at_exact_max_len_is_accepted ... ok
[INFO] [stdout] test task_decorator_via_attribute_collects_function_name ... ok
[INFO] [stdout] test ruff_non_dag_attribute_call_decorator_is_ignored ... ok
[INFO] [stdout] test recursion_run_exactly_at_cap_passes ... ok
[INFO] [stdout] test setter_arg_resolved_through_call_and_attribute ... ok
[INFO] [stdout] test taskflow_expand_decorator_is_flagged_but_bare_task_is_not ... ok
[INFO] [stdout] test taskflow_decorator_call_with_only_positional_arg_is_dynamic ... ok
[INFO] [stderr]      Running tests/stack_safety.rs (/opt/rustwide/target/debug/deps/stack_safety-21a6ef4194aea053)
[INFO] [stdout] test source_hash_matches_exact_fxhash_xor_value ... ok
[INFO] [stdout] test distinct_sources_hash_differently ... ok
[INFO] [stdout] test while_and_try_bodies_are_walked_for_dag_context ... ok
[INFO] [stdout] test schedule_stringifies_each_literal_kind ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 61 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test alternating_mixed_prefix_operators_rejected ... ok
[INFO] [stdout] test lambda_chain_rejected ... ok
[INFO] [stdout] test conditional_chain_rejected ... ok
[INFO] [stdout] test power_chain_rejected ... ok
[INFO] [stdout] test prefix_await_chain_rejected ... ok
[INFO] [stdout] test legitimate_async_not_rejected ... ok
[INFO] [stdout] test async_keyword_chain_rejected ... ok
[INFO] [stdout] test tstring_rejected_not_fatal ... ok
[INFO] [stdout] test prefix_byte_operator_chains_rejected ... ok
[INFO] [stdout] test prefix_not_chain_rejected ... ok
[INFO] [stdout] test long_legit_task_chain_passes ... ok
[INFO] [stdout] test deep_bracket_nesting_rejected ... ok
[INFO] [stdout] test deepest_real_world_dag_depth_passes ... ok
[INFO] [stdout] test yield_chain_rejected ... ok
[INFO] [stdout] test legitimate_yield_and_import_not_rejected ... ok
[INFO] [stdout] test implicit_continuation_prefix_chain_rejected ... ok
[INFO] [stdout] test marker_path_decorator_call_chain_does_not_abort ... ok
[INFO] [stdout] test yield_from_chain_rejected ... ok
[INFO] [stdout] test legitimate_multiline_bracketed_expr_not_rejected ... ok
[INFO] [stdout] test left_associative_arithmetic_chain_passes ... ok
[INFO] [stdout] test deep_statement_indent_rejected ... ok
[INFO] [stdout] test moderately_deep_call_chain_in_shift_returns ... ok
[INFO] [stdout] test deep_attribute_chain_schedule_does_not_abort ... ok
[INFO] [stdout] test deep_shift_chain_in_dag_does_not_abort ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.82s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ferro_blob_store-f98a5a458e149dae)
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test digest::tests::parse_missing_separator ... ok
[INFO] [stdout] test digest::tests::parse_bad_length ... ok
[INFO] [stdout] test digest::tests::try_from_string_round_trips_exact ... ok
[INFO] [stdout] test digest::tests::parse_bad_hex ... ok
[INFO] [stdout] test digest::tests::into_string_is_exact_wire_form ... ok
[INFO] [stdout] test digest::tests::sha512_of_round_trips ... ok
[INFO] [stdout] test digest::tests::upper_case_hex_is_normalized ... ok
[INFO] [stdout] test digest::tests::sha256_of_round_trips ... ok
[INFO] [stdout] test digest::tests::parse_unsupported_algo ... ok
[INFO] [stdout] test fs::tests::tmp_dir_is_under_root ... ok
[INFO] [stdout] test memory::tests::delete_missing_is_ok ... ok
[INFO] [stdout] test memory::tests::clone_shares_storage ... ok
[INFO] [stdout] test memory::tests::get_returns_not_found ... ok
[INFO] [stdout] test fs::tests::fs_put_rejects_digest_mismatch ... ok
[INFO] [stdout] test memory::tests::is_empty_tracks_contents ... ok
[INFO] [stdout] test memory::tests::len_counts_distinct_puts ... ok
[INFO] [stdout] test fs::tests::fs_delete_missing_ok ... ok
[INFO] [stdout] test memory::tests::contains_and_list ... ok
[INFO] [stdout] test memory::tests::put_get_round_trip ... ok
[INFO] [stdout] test fs::tests::fs_contains_non_not_found_error_propagates ... ok
[INFO] [stdout] test fs::tests::fs_layout_uses_two_char_prefix ... ok
[INFO] [stdout] test fs::tests::fs_get_missing_returns_not_found ... ok
[INFO] [stdout] test memory::tests::delete_actually_removes ... ok
[INFO] [stdout] test fs::tests::fs_get_non_not_found_error_propagates ... ok
[INFO] [stdout] test fs::tests::fs_delete_removes_and_propagates_real_errors ... ok
[INFO] [stdout] test memory::tests::put_rejects_digest_mismatch ... ok
[INFO] [stdout] test fs::tests::fs_list_finds_all_entries ... ok
[INFO] [stdout] test fs::tests::fs_put_get_round_trip ... ok
[INFO] [stdout] test fs::tests::fs_list_skips_non_two_char_prefix_dir ... ok
[INFO] [stdout] test fs::tests::fs_contains_absent_is_false ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ferro_cargo_registry_server-3c9005685d0c21db)
[INFO] [stdout] test fs::tests::fs_concurrent_put_same_digest_no_corruption ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 89 tests
[INFO] [stdout] test error::tests::duplicate_version_is_409 ... ok
[INFO] [stdout] test error::tests::checksum_mismatch_is_400 ... ok
[INFO] [stdout] test config::tests::config_json_round_trip ... ok
[INFO] [stdout] test error::tests::persistence_is_500 ... ok
[INFO] [stdout] test error::tests::name_conflict_is_409 ... ok
[INFO] [stdout] test error::tests::invalid_name_is_400 ... ok
[INFO] [stdout] test error::tests::storage_digest_mismatch_is_400 ... ok
[INFO] [stdout] test error::tests::storage_io_error_is_500 ... ok
[INFO] [stdout] test error::tests::storage_not_found_is_404 ... ok
[INFO] [stdout] test error::tests::storage_invalid_digest_is_400 ... ok
[INFO] [stdout] test handlers::tests::derive_index_path_matches_index_path_layout ... ok
[INFO] [stdout] test config::tests::dl_template_matches_spec ... ok
[INFO] [stdout] test handlers::tests::rollback_publish_removes_fully_emptied_record ... ok
[INFO] [stdout] test handlers::tests::rollback_publish_keeps_record_with_surviving_owners ... ok
[INFO] [stdout] test error::tests::not_found_is_404 ... ok
[INFO] [stdout] test index::tests::entry_from_manifest_non_renamed_dep_has_no_package ... ok
[INFO] [stdout] test index::tests::entry_accepts_version_key_fallback ... ok
[INFO] [stdout] test index::tests::dep_default_features_defaults_to_true ... ok
[INFO] [stdout] test handlers::tests::yank_rolls_back_in_memory_flag_when_persist_fails ... ok
[INFO] [stdout] test handlers::tests::yank_succeeds_with_persistence_disabled ... ok
[INFO] [stdout] test error::tests::not_implemented_is_501 ... ok
[INFO] [stdout] test handlers::tests::rollback_publish_keeps_record_with_surviving_sibling_version ... ok
[INFO] [stdout] test index::tests::entry_from_manifest_pulls_cksum_in ... ok
[INFO] [stdout] test index::tests::line_serialisation_has_no_embedded_newlines ... ok
[INFO] [stdout] test index::tests::render_and_parse_round_trip ... ok
[INFO] [stdout] test metrics::tests::handler_for_classifies_known_routes ... ok
[INFO] [stdout] test metrics::tests::handler_for_each_matched_arm_is_distinct ... ok
[INFO] [stdout] test metrics::tests::method_label_maps_each_method ... ok
[INFO] [stdout] test metrics::tests::handler_for_unmatched_is_bounded ... ok
[INFO] [stdout] test metrics::tests::encode_emits_prometheus_text_format ... ok
[INFO] [stdout] test name::tests::canonical_name_folds_case_and_hyphen ... ok
[INFO] [stdout] test metrics::tests::metrics_debug_renders_struct_name ... ok
[INFO] [stdout] test handlers::tests::owner_add_rolls_back_when_persist_fails ... ok
[INFO] [stdout] test name::tests::index_path_empty_name_is_empty_string ... ok
[INFO] [stdout] test name::tests::index_path_layout_by_length ... ok
[INFO] [stdout] test name::tests::index_path_lowercases ... ok
[INFO] [stdout] test name::tests::name_length_boundary_is_inclusive_at_max ... ok
[INFO] [stdout] test name::tests::invalid_crate_names ... ok
[INFO] [stdout] test name::tests::valid_crate_names ... ok
[INFO] [stdout] test owners::tests::mutation_response_carries_optional_msg ... ok
[INFO] [stdout] test name::tests::validate_surface_error ... ok
[INFO] [stdout] test owners::tests::owners_response_round_trips ... ok
[INFO] [stdout] test index::tests::entry_from_manifest_maps_version_req_and_rename ... ok
[INFO] [stdout] test persist::tests::missing_snapshot_loads_empty ... ok
[INFO] [stdout] test publish::tests::exact_fit_metadata_consumes_whole_rest_then_fails_at_crate_len ... ok
[INFO] [stdout] test persist::tests::absent_snapshot_takes_notfound_arm_silently ... ok
[INFO] [stdout] test publish::tests::invalid_json_is_rejected ... ok
[INFO] [stdout] test publish::tests::round_trip_encode_decode ... ok
[INFO] [stdout] test publish::tests::exact_four_byte_prefix_is_read_not_rejected ... ok
[INFO] [stdout] test persist::tests::corrupt_snapshot_loads_empty ... ok
[INFO] [stdout] test publish::tests::short_body_is_rejected ... ok
[INFO] [stdout] test publish::tests::truncated_metadata_is_rejected ... ok
[INFO] [stdout] test publish::tests::truncated_tarball_is_rejected ... ok
[INFO] [stdout] test router::tests::publish_body_limit_is_documented_size ... ok
[INFO] [stdout] test persist::tests::load_drops_crate_when_all_versions_corrupt ... ok
[INFO] [stdout] test handlers::tests::publish_rollback_keeps_blob_referenced_by_other_crate ... ok
[INFO] [stdout] test serve::tests::from_env_smoke ... ok
[INFO] [stdout] test publish::tests::under_fit_metadata_is_truncated ... ok
[INFO] [stdout] test serve::tests::from_vars_applies_defaults_when_unset ... ok
[INFO] [stdout] test serve::tests::default_config_without_api_is_rejected ... ok
[INFO] [stdout] test serve::tests::from_vars_reads_overrides ... ok
[INFO] [stdout] test serve::tests::from_vars_treats_empty_api_as_unset ... ok
[INFO] [stdout] test persist::tests::save_propagates_non_already_exists_create_error ... ok
[INFO] [stdout] test serve::tests::resolve_api_host_checked_derives_for_concrete_addr ... ok
[INFO] [stdout] test serve::tests::resolve_api_host_checked_honours_explicit_with_wildcard_listen ... ok
[INFO] [stdout] test handlers::tests::publish_rollback_deletes_truly_orphan_blob ... ok
[INFO] [stdout] test serve::tests::resolve_api_host_checked_rejects_port_zero ... ok
[INFO] [stdout] test persist::tests::save_handles_create_new_temp_collision ... ok
[INFO] [stdout] test serve::tests::probe_routes_healthz_reports_ok_json ... ok
[INFO] [stdout] test serve::tests::build_state_creates_missing_data_dir ... ok
[INFO] [stdout] test serve::tests::resolve_api_host_prefers_explicit_then_derives ... ok
[INFO] [stdout] test serve::tests::init_tracing_is_idempotent ... ok
[INFO] [stdout] test owners::tests::owners_request_is_a_bare_users_list ... ok
[INFO] [stdout] test serve::tests::socket_addr_parses_valid_listen ... ok
[INFO] [stdout] test serve::tests::socket_addr_rejects_garbage ... ok
[INFO] [stdout] test index::tests::empty_lines_are_skipped_on_parse ... ok
[INFO] [stdout] test serve::tests::serve_rejects_invalid_listen_before_binding ... ok
[INFO] [stdout] [2m2026-07-11T00:50:30.120032Z[0m [32m INFO[0m [2mferro_cargo_registry_server::persist[0m[2m:[0m loaded durable index snapshot [3mcrates[0m[2m=[0m1
[INFO] [stdout] test tests::crate_name_is_stable ... ok
[INFO] [stdout] test serve::tests::resolve_api_host_checked_rejects_wildcard_without_explicit_api ... ok
[INFO] [stdout] test persist::tests::load_drops_entry_with_invalid_cksum ... ok
[INFO] [stdout] test persist::tests::unreadable_snapshot_takes_non_notfound_arm ... ok
[INFO] [stdout] test version::tests::rejects_non_semver ... ok
[INFO] [stdout] test yank::tests::ok_body_matches_spec ... ok
[INFO] [stdout] test router::tests::publish_over_configured_limit_is_413 ... ok
[INFO] [stdout] test serve::tests::build_app_serves_probes_and_config ... ok
[INFO] [stdout] test persist::tests::save_is_atomic_no_tmp_left_behind ... ok
[INFO] [stdout] test persist::tests::save_then_load_round_trips_entries_owners_and_digests ... ok
[INFO] [stdout] test version::tests::accepts_common_versions ... ok
[INFO] [stdout] [2m2026-07-11T00:50:30.131389Z[0m [32m INFO[0m [2mferro_cargo_registry_server::persist[0m[2m:[0m loaded durable index snapshot [3mcrates[0m[2m=[0m1
[INFO] [stderr]      Running unittests src/bin/ferro-cargo-registry-server.rs (/opt/rustwide/target/debug/deps/ferro_cargo_registry_server-628d245437f42544)
[INFO] [stdout] test persist::tests::repeated_saves_round_trip_without_temp_buildup ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 89 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cargo_e2e.rs (/opt/rustwide/target/debug/deps/cargo_e2e-d988cbdc4e12c462)
[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 1 test
[INFO] [stderr]      Running tests/conformance.rs (/opt/rustwide/target/debug/deps/conformance-1606539a1fde293c)
[INFO] [stdout] test real_cargo_publish_fetch_yank_owners_round_trip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.98s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test upstream_config_json_parses_into_index_config ... ok
[INFO] [stdout] test upstream_anyhow_index_parses_with_dev_deps ... ok
[INFO] [stdout] test upstream_index_lines_render_back_to_canonical_shape ... ok
[INFO] [stdout] test upstream_serde_index_parses ... ok
[INFO] [stdout] test upstream_index_lines_contain_no_embedded_newlines ... ok
[INFO] [stderr]      Running tests/http_roundtrip.rs (/opt/rustwide/target/debug/deps/http_roundtrip-9c1d2d50d56a6af9)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test config_json_round_trip ... ok
[INFO] [stdout] test git_index_stub_returns_501 ... ok
[INFO] [stdout] test invalid_semver_rejected ... ok
[INFO] [stdout] test checksum_mismatch_rejected ... ok
[INFO] [stdout] test publish_then_download_tarball ... ok
[INFO] [stdout] test publish_then_sparse_index_lists_entry ... ok
[INFO] [stdout] test owners_add_list_remove ... ok
[INFO] [stdout] test rejected_duplicate_publish_leaves_no_orphan_blob ... ok
[INFO] [stdout] test republishing_same_version_is_rejected_and_immutable ... ok
[INFO] [stdout] test yank_then_unyank_flips_index_flag ... ok
[INFO] [stdout] test sparse_index_honours_if_none_match ... ok
[INFO] [stdout] test hyphen_underscore_and_case_collisions_are_rejected ... ok
[INFO] [stdout] test mixed_case_publish_is_fetchable_at_lowercase_path ... ok
[INFO] [stdout] test failed_publish_leaves_no_phantom_entry_to_yank ... ok
[INFO] [stdout] test root_relative_two_segment_index_serves_entry ... ok
[INFO] [stdout] test owner_ids_are_sequential_and_distinct ... ok
[INFO] [stdout] test rejected_name_collision_leaves_no_orphan_blob ... ok
[INFO] [stdout] test publish_persist_failure_returns_500_rolls_back_and_leaves_no_orphan_blob ... ok
[INFO] [stdout] test index_state_survives_simulated_restart ... ok
[INFO] [stdout] test unknown_crate_download_404 ... ok
[INFO] [stdout] test publish_over_two_mib_succeeds ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/metrics.rs (/opt/rustwide/target/debug/deps/metrics-75e0f500163a6c79)
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.61s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test request_counter_increments_for_hit_route ... ok
[INFO] [stdout] test metrics_endpoint_emits_prometheus_text_format ... ok
[INFO] [stdout] test metrics_scrape_is_self_instrumented ... ok
[INFO] [stdout] test crate_version_gauge_tracks_published_crate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ferro_lumberjack-8a2fe3909d2800d3)
[INFO] [stdout] 
[INFO] [stdout] running 102 tests
[INFO] [stdout] test client::tests::pick_host_sticky_uses_modulo_of_cursor ... ok
[INFO] [stdout] test client::tests::builder_requires_hosts ... ok
[INFO] [stdout] test client::tests::host_count_reflects_configured_hosts ... ok
[INFO] [stdout] test client::tests::next_seq_reports_advanced_watermark ... ok
[INFO] [stdout] test frame::tests::ack_needs_exactly_six_bytes ... ok
[INFO] [stdout] test client::tests::empty_batch_returns_zero ... ok
[INFO] [stdout] test client::tests::build_window_payload_skips_compression_when_disabled ... ok
[INFO] [stdout] test client::tests::partial_ack_surfaces_partial_error ... ok
[INFO] [stdout] test client::tests::unexpected_ack_version_is_error ... ok
[INFO] [stdout] test client::tests::happy_path_uncompressed_round_trip ... ok
[INFO] [stdout] test client::tests::client_debug_includes_field_values ... ok
[INFO] [stdout] test client::tests::over_count_ack_is_unexpected_ack ... ok
[INFO] [stdout] test client::tests::full_ack_returns_count ... ok
[INFO] [stdout] test frame::tests::decode_ack_round_trip ... ok
[INFO] [stdout] test frame::tests::compressed_header_boundary_is_strictly_less_than_six ... ok
[INFO] [stdout] test client::tests::build_window_payload_compresses_only_when_shrinking ... ok
[INFO] [stdout] test frame::tests::compressed_payload_cap_is_strictly_greater_than ... ok
[INFO] [stdout] test frame::tests::decode_caps_oversize_json_payload ... ok
[INFO] [stdout] test client::tests::zero_acked_count_is_unexpected_ack ... ok
[INFO] [stdout] test client::tests::pick_host_load_balanced_round_robins_with_modulo ... ok
[INFO] [stdout] test frame::tests::compressed_needs_six_header_bytes ... ok
[INFO] [stdout] test client::tests::build_window_payload_does_not_compress_incompressible_small_batch ... ok
[INFO] [stdout] test frame::tests::decode_handles_byte_at_a_time_feeds ... ok
[INFO] [stdout] test frame::tests::decode_handles_concatenated_frames ... ok
[INFO] [stdout] test frame::tests::compressed_read_pos_advances_by_six_plus_len ... ok
[INFO] [stdout] test frame::tests::decode_json_round_trip ... ok
[INFO] [stdout] test frame::tests::decode_rejects_unknown_frame_type ... ok
[INFO] [stdout] test frame::tests::decode_window_round_trip ... ok
[INFO] [stdout] test frame::tests::decode_rejects_bad_version ... ok
[INFO] [stdout] test frame::tests::decoder_compacts_after_consuming_half ... ok
[INFO] [stdout] test frame::tests::encode_ack_layout ... ok
[INFO] [stdout] test frame::tests::feed_and_predicate_requires_both_operands ... ok
[INFO] [stdout] test frame::tests::encode_json_frame_layout ... ok
[INFO] [stdout] test frame::tests::decode_compressed_round_trip ... ok
[INFO] [stdout] test frame::tests::feed_compacts_when_read_pos_at_least_half ... ok
[INFO] [stdout] test frame::tests::encode_window_layout ... ok
[INFO] [stdout] test frame::tests::feed_compacts_strictly_above_half ... ok
[INFO] [stdout] test frame::tests::decode_caps_zlib_bomb ... ok
[INFO] [stdout] test frame::tests::decompress_cap_is_inclusive_at_limit ... ok
[INFO] [stdout] test frame::tests::feed_does_not_compact_when_read_pos_below_half ... ok
[INFO] [stdout] test frame::tests::feed_does_not_compact_when_read_pos_zero ... ok
[INFO] [stdout] test frame::tests::feed_half_uses_integer_division_not_mod_or_mul ... ok
[INFO] [stdout] test frame::tests::json_needs_ten_header_bytes_then_payload ... ok
[INFO] [stdout] test frame::tests::json_payload_cap_is_strictly_greater_than ... ok
[INFO] [stdout] test frame::tests::frame_type_wire_bytes_are_exact ... ok
[INFO] [stdout] test frame::tests::legacy_d_frame_key_and_val_len_caps ... ok
[INFO] [stdout] test frame::tests::legacy_d_frame_key_and_val_len_caps_accept_at_exactly_cap ... ok
[INFO] [stdout] test frame::tests::legacy_d_frame_pair_length_boundaries ... ok
[INFO] [stdout] test frame::tests::next_frame_min_header_boundary_is_strictly_less_than_two ... ok
[INFO] [stdout] test frame::tests::window_needs_exactly_six_bytes ... ok
[INFO] [stdout] test sequence::tests::advance_wraps ... ok
[INFO] [stdout] test sequence::tests::at_least_across_wrap ... ok
[INFO] [stdout] test sequence::tests::at_least_basic ... ok
[INFO] [stdout] test sequence::tests::exact_match_wraps_around ... ok
[INFO] [stdout] test sequence::tests::round_trip_u32 ... ok
[INFO] [stdout] test sequence::tests::exact_match ... ok
[INFO] [stdout] test server::tests::consume_slot_decrements_and_guards ... ok
[INFO] [stdout] test server::tests::default_window_caps_are_documented_values ... ok
[INFO] [stdout] test server::tests::d_frame_before_window_is_rejected ... ok
[INFO] [stdout] test server::tests::data_frame_before_window_is_rejected ... ok
[INFO] [stdout] test server::tests::accumulated_bytes_above_cap_is_rejected_mid_window ... ok
[INFO] [stdout] test server::tests::declared_window_count_above_cap_is_rejected_before_accumulating ... ok
[INFO] [stdout] test server::tests::clean_eof_before_window_returns_none ... ok
[INFO] [stdout] test server::tests::byte_cap_is_enforced_inside_compressed_batch ... ok
[INFO] [stdout] test frame::tests::legacy_d_frame_header_boundary_is_ten ... ok
[INFO] [stdout] test frame::tests::legacy_d_frame_is_decoded_as_unknown_and_advances ... ok
[INFO] [stdout] test server::tests::read_chunk_constant_is_8_kib ... ok
[INFO] [stdout] test tests::default_max_frame_payload_is_exactly_64_mib ... ok
[INFO] [stdout] test server::tests::empty_window_returns_empty_events ... ok
[INFO] [stdout] test server::tests::window_exactly_at_caps_still_succeeds ... ok
[INFO] [stdout] test server::tests::reads_simple_uncompressed_window ... ok
[INFO] [stdout] test server::tests::truncated_window_is_unexpected_eof ... ok
[INFO] [stdout] test server::tests::window_of_legacy_d_frames_completes ... ok
[INFO] [stdout] test server::tests::split_window_across_socket_reads ... ok
[INFO] [stdout] test tls::tests::add_ca_pem_file_propagates_read_error ... ok
[INFO] [stdout] test tests::protocol_version_byte_is_ascii_two ... ok
[INFO] [stdout] test server::tests::mixed_json_and_d_frames_consume_correct_slots ... ok
[INFO] [stdout] test server::tests::reads_compressed_window ... ok
[INFO] [stdout] test tls::tests::key_pem_file_propagates_read_error ... ok
[INFO] [stdout] test tls::tests::empty_pem_input_is_rejected ... ok
[INFO] [stdout] test tls::tests::malformed_pem_input_is_rejected ... ok
[INFO] [stdout] test tls::tests::parse_sni_strips_port ... ok
[INFO] [stdout] test tls::tests::cert_pem_file_propagates_read_error ... ok
[INFO] [stdout] test tls::tests::server_builder_rejects_empty_cert_pem ... ok
[INFO] [stdout] test tls::tests::server_builder_rejects_missing_key_pem ... ok
[INFO] [stdout] test tls::tests::server_builder_requires_cert_chain ... ok
[INFO] [stdout] test tls::tests::parse_sni_strips_v6_brackets ... ok
[INFO] [stdout] test tls::tests::dangerous_disable_builds ... ok
[INFO] [stdout] test tls::tests::default_builder_uses_webpki_roots ... ok
[INFO] [stdout] test tls::tests::server_tls_builder_debug_renders_fields ... ok
[INFO] [stdout] test tls::tests::add_self_signed_pem_ok ... ok
[INFO] [stdout] test tls::tests::add_ca_pem_file_reads_real_file ... ok
[INFO] [stdout] test tls::tests::server_builder_round_trip ... ok
[INFO] [stdout] test tls::tests::cert_and_key_pem_files_round_trip_from_disk ... ok
[INFO] [stdout] test frame::tests::prop_ack_round_trip ... ok
[INFO] [stdout] test tls::tests::server_builder_requires_key_after_cert ... ok
[INFO] [stdout] test frame::tests::prop_window_round_trip ... ok
[INFO] [stdout] test server::tests::consecutive_windows_on_same_connection ... ok
[INFO] [stdout] test frame::tests::prop_json_frame_round_trip ... ok
[INFO] [stdout] test client::tests::ack_timeout_surfaces_as_timeout_error ... ok
[INFO] [stdout] test frame::tests::prop_compressed_round_trip ... ok
[INFO] [stdout] test frame::tests::prop_decoder_does_not_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 102 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/client_server_e2e.rs (/opt/rustwide/target/debug/deps/client_server_e2e-978fe82167b4f17f)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test e2e_single_window_uncompressed ... ok
[INFO] [stdout] test e2e_multiple_consecutive_windows ... ok
[INFO] [stdout] test e2e_host_failover_to_second_host ... ok
[INFO] [stdout] test e2e_single_window_compressed ... ok
[INFO] [stdout] test e2e_tls_with_dangerous_disable_verification ... ok
[INFO] [stdout] test e2e_tls_round_trip_with_self_signed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/conformance.rs (/opt/rustwide/target/debug/deps/conformance-6d5fb005dba145fd)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test upstream_fixture_frame_header_bytes_match_lumberjack_v2_spec ... ok
[INFO] [stdout] test upstream_logstash_ack_decodes_with_correct_seq ... ok
[INFO] [stdout] test upstream_beats_window_split_feed_chunks_decode_identically ... ok
[INFO] [stdout] test upstream_beats_window_decodes_to_window_plus_two_json_frames ... 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]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-a43ba1afd0b72f75)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test split_feed_does_not_lose_frames ... ok
[INFO] [stdout] test end_to_end_window_with_compressed_inner ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ferro_maven_layout-cc699d5f8cf61a8f)
[INFO] [stdout] test ack_seq_validation_with_wrap_around ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 62 tests
[INFO] [stdout] test checksum::tests::extension_round_trips_with_from_extension ... ok
[INFO] [stdout] test checksum::tests::hex_len_matches_each_algo ... ok
[INFO] [stdout] test checksum::tests::from_extension_maps_every_known_algo ... ok
[INFO] [stdout] test checksum::tests::sha256_of_abc_is_known_vector ... ok
[INFO] [stdout] test checksum::tests::md5_returns_none_from_compute ... ok
[INFO] [stdout] test coordinate::tests::accepted_coordinate_renders_no_traversal_segment ... ok
[INFO] [stdout] test checksum::tests::parse_sidecar_bare_form ... ok
[INFO] [stdout] test checksum::tests::parse_sidecar_with_filename_suffix ... ok
[INFO] [stdout] test checksum::tests::sha1_of_abc_is_known_vector ... ok
[INFO] [stdout] test coordinate::tests::classifier_is_inserted_before_extension ... ok
[INFO] [stdout] test coordinate::tests::display_uses_colon_form ... ok
[INFO] [stdout] test checksum::tests::parse_sidecar_rejects_wrong_length ... ok
[INFO] [stdout] test coordinate::tests::dot_component_rejected_as_path_traversal ... ok
[INFO] [stdout] test coordinate::tests::empty_group_id_rejected ... ok
[INFO] [stdout] test coordinate::tests::dotdot_component_rejected_as_path_traversal ... ok
[INFO] [stdout] test coordinate::tests::jar_filename_without_classifier ... ok
[INFO] [stdout] test coordinate::tests::nul_and_control_chars_rejected ... ok
[INFO] [stdout] test coordinate::tests::repository_path_dots_become_slashes ... ok
[INFO] [stdout] test coordinate::tests::slash_in_artifact_id_rejected ... ok
[INFO] [stdout] test error::tests::invalid_path_maps_to_400 ... ok
[INFO] [stdout] test error::tests::not_found_maps_to_404 ... ok
[INFO] [stdout] test error::tests::storage_io_maps_to_500 ... ok
[INFO] [stdout] test error::tests::storage_not_found_maps_to_404 ... ok
[INFO] [stdout] test error::tests::storage_invalid_digest_maps_to_400 ... ok
[INFO] [stdout] test layout::tests::accepted_paths_never_render_a_traversal_segment ... ok
[INFO] [stdout] test layout::tests::compound_tar_gz_extension_preserved ... ok
[INFO] [stdout] test error::tests::storage_digest_mismatch_maps_to_400 ... ok
[INFO] [stdout] test layout::tests::four_segment_artifact_path_is_accepted ... ok
[INFO] [stdout] test layout::tests::deep_version_level_metadata_resolves_group_and_artifact ... ok
[INFO] [stdout] test layout::tests::fuzz_crash_path_traversal_input_is_rejected ... ok
[INFO] [stdout] test layout::tests::parses_metadata_under_artifact_id ... ok
[INFO] [stdout] test layout::tests::parses_pom ... ok
[INFO] [stdout] test layout::tests::layout_is_snapshot_reflects_version ... ok
[INFO] [stdout] test layout::tests::parses_classifier_jar ... ok
[INFO] [stdout] test layout::tests::empty_classifier_with_extension_is_rejected ... ok
[INFO] [stdout] test layout::tests::dotdot_component_path_is_rejected ... ok
[INFO] [stdout] test layout::tests::three_segment_artifact_path_is_rejected ... ok
[INFO] [stdout] test layout::tests::three_segment_metadata_path_is_accepted ... ok
[INFO] [stdout] test metadata::tests::artifact_index_picks_release_and_latest ... ok
[INFO] [stdout] test layout::tests::parses_sha1_sidecar ... ok
[INFO] [stdout] test metadata::tests::both_group_and_artifact_present_is_accepted ... ok
[INFO] [stdout] test layout::tests::parses_metadata_under_version ... ok
[INFO] [stdout] test metadata::tests::missing_artifact_id_is_rejected ... ok
[INFO] [stdout] test layout::tests::rejects_too_short_path ... ok
[INFO] [stdout] test layout::tests::round_trip_path_to_coordinate_and_back ... ok
[INFO] [stdout] test layout::tests::parses_simple_jar_path ... ok
[INFO] [stdout] test metadata::tests::serialise_contains_metadata_root ... ok
[INFO] [stdout] test metadata::tests::missing_group_id_is_rejected ... ok
[INFO] [stdout] test pom::tests::malformed_xml_fails ... ok
[INFO] [stdout] test pom::tests::missing_artifact_id_fails ... ok
[INFO] [stdout] test snapshot::tests::compose_version_inserts_timestamp_and_build_number ... ok
[INFO] [stdout] test tests::crate_name_is_stable ... ok
[INFO] [stdout] test pom::tests::parses_full_pom ... ok
[INFO] [stdout] test snapshot::tests::base_version_strips_suffix ... ok
[INFO] [stdout] test pom::tests::inherits_group_and_version_from_parent ... ok
[INFO] [stdout] test metadata::tests::snapshot_metadata_roundtrip ... ok
[INFO] [stdout] test metadata::tests::malformed_xml_fails ... ok
[INFO] [stdout] test error::tests::coordinate_and_pom_and_metadata_and_checksum_map_to_400 ... ok
[INFO] [stdout] test snapshot::tests::timestamp_formats_as_maven_wants ... ok
[INFO] [stdout] test snapshot::tests::snapshot_suffix_detection ... ok
[INFO] [stdout] test pom::tests::quick_xml_unreachable_panic_caught_2026_05_15 ... ok
[INFO] [stdout] test metadata::tests::quick_xml_unreachable_panic_caught_metadata ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 62 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/chaos_metadata_race.rs (/opt/rustwide/target/debug/deps/chaos_metadata_race-1ccd976ee12d6a4e)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stderr]      Running tests/conformance.rs (/opt/rustwide/target/debug/deps/conformance-6b07c558b0de5ffc)
[INFO] [stdout] test regen_from_concurrent_versions_retains_both ... ok
[INFO] [stdout] test two_snapshots_merge_without_loss ... ok
[INFO] [stdout] test merged_metadata_round_trips_through_xml ... 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 4 tests
[INFO] [stdout] test upstream_commons_lang3_pom_has_parent_block ... ok
[INFO] [stdout] test upstream_commons_lang3_pom_parses ... ok
[INFO] [stdout] test upstream_commons_lang3_metadata_parses ... ok
[INFO] [stdout] test upstream_metadata_round_trips_via_to_xml ... 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]      Running tests/http_roundtrip.rs (/opt/rustwide/target/debug/deps/http_roundtrip-ae737ea84f071860)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test get_missing_is_404 ... ok
[INFO] [stdout] test head_missing_is_404 ... ok
[INFO] [stdout] test get_generated_maven_metadata_xml ... ok
[INFO] [stdout] test bypassing_reference_check_loses_shared_blob ... ok
[INFO] [stdout] test head_returns_no_body ... ok
[INFO] [stdout] test put_pom_matching_coordinate_accepted ... ok
[INFO] [stdout] test put_checksum_sidecar_matching_accepted ... ok
[INFO] [stdout] test delete_removes_artifact ... ok
[INFO] [stdout] test put_pom_mismatched_coordinate_rejected ... ok
[INFO] [stdout] test put_jar_then_get_jar_round_trip ... ok
[INFO] [stdout] test delete_preserves_blob_while_other_path_references_digest ... ok
[INFO] [stdout] test put_checksum_sidecar_mismatch_rejected ... ok
[INFO] [stdout] test get_sha1_sidecar_computed_on_the_fly ... ok
[INFO] [stdout] test delete_keeps_blob_shared_by_another_path ... ok
[INFO] [stdout] test head_returns_get_headers_without_body ... ok
[INFO] [stdout] test snapshot_put_generates_version_metadata ... ok
[INFO] [stdout] test artifact_content_types_per_extension ... ok
[INFO] [stdout] test put_artifact_over_default_body_limit_succeeds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.45s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ferro_oci_server-4d89cb200d36fd62)
[INFO] [stdout] 
[INFO] [stdout] running 111 tests
[INFO] [stdout] test error::tests::code_wire_strings_match_spec ... ok
[INFO] [stdout] test error::tests::body_contains_single_error_entry ... ok
[INFO] [stdout] test error::tests::blob_store_error_maps_to_oci_codes ... ok
[INFO] [stdout] test error::tests::default_statuses_align_with_spec ... ok
[INFO] [stdout] test error::tests::every_code_has_wire_string_and_status ... ok
[INFO] [stdout] test error::tests::status_override_wins_over_code_default ... ok
[INFO] [stdout] test error::tests::with_detail_is_surfaced_in_body ... ok
[INFO] [stdout] test handlers::blob_upload::tests::would_exceed_cap_saturates_on_overflow ... ok
[INFO] [stdout] test handlers::blob_upload::tests::would_exceed_cap_boundary_is_inclusive_under_strict_greater ... ok
[INFO] [stdout] test handlers::manifest::tests::multi_byte_range_content_length_is_exact ... ok
[INFO] [stdout] test handlers::manifest::tests::parse_byte_range_equal_bounds_is_satisfiable ... ok
[INFO] [stdout] test handlers::manifest::tests::range_request_for_last_byte_is_partial_not_unsatisfiable ... ok
[INFO] [stdout] test manifest::tests::empty_image_index_has_no_manifests ... ok
[INFO] [stdout] test media_types::tests::arbitrary_vnd_json_is_artifact ... ok
[INFO] [stdout] test manifest::tests::image_manifest_round_trips_via_json ... ok
[INFO] [stdout] test manifest::tests::image_index_with_two_platforms_round_trips ... ok
[INFO] [stdout] test media_types::tests::charset_parameter_is_stripped ... ok
[INFO] [stdout] test media_types::tests::oci_image_manifest_is_classified_as_image ... ok
[INFO] [stdout] test media_types::tests::vnd_prefix_without_json_suffix_is_not_artifact ... ok
[INFO] [stdout] test media_types::tests::oci_image_index_is_classified_as_index ... ok
[INFO] [stdout] test media_types::tests::plain_json_is_rejected ... ok
[INFO] [stdout] test metrics::tests::handler_for_classifies_wildcard_tails ... ok
[INFO] [stdout] test metrics::tests::handler_for_classifies_known_routes ... ok
[INFO] [stdout] test metrics::tests::method_label_maps_every_known_method ... ok
[INFO] [stdout] test reference::tests::empty_tag_is_rejected ... ok
[INFO] [stdout] test reference::tests::is_digest_and_as_digest_distinguish_variants ... ok
[INFO] [stdout] test metrics::tests::metrics_debug_impl_names_the_struct ... ok
[INFO] [stdout] test reference::tests::mixed_dash_dot_separator_run_is_rejected ... ok
[INFO] [stdout] test metrics::tests::encode_emits_prometheus_text_format ... ok
[INFO] [stdout] test reference::tests::name_at_exact_max_length_is_valid_over_is_rejected ... ok
[INFO] [stdout] test reference::tests::internal_invalid_separator_is_rejected ... ok
[INFO] [stdout] test reference::tests::bad_digest_reference_is_rejected ... ok
[INFO] [stdout] test metrics::tests::handler_for_unmatched_is_bounded_to_other ... ok
[INFO] [stdout] test reference::tests::nested_path_name_is_valid ... ok
[INFO] [stdout] test reference::tests::leading_separator_is_rejected ... ok
[INFO] [stdout] test metrics::tests::handler_for_probe_routes_are_labelled ... ok
[INFO] [stdout] test reference::tests::tag_at_exact_max_length_boundary ... ok
[INFO] [stdout] test reference::tests::tag_reference_parses ... ok
[INFO] [stdout] test reference::tests::tag_starting_with_dot_is_rejected ... ok
[INFO] [stdout] test reference::tests::tag_starting_with_underscore_is_valid ... ok
[INFO] [stdout] test reference::tests::tag_with_colon_is_rejected_as_invalid_reference ... ok
[INFO] [stdout] test reference::tests::too_long_name_is_rejected ... ok
[INFO] [stdout] test reference::tests::trailing_separator_is_rejected ... ok
[INFO] [stdout] test reference::tests::underscore_and_dot_and_dash_separators_are_valid ... ok
[INFO] [stdout] test reference::tests::uppercase_is_rejected ... ok
[INFO] [stdout] test registry::tests::default_session_ttl_is_one_hour ... ok
[INFO] [stdout] test registry::tests::delete_by_tag_returns_false ... ok
[INFO] [stdout] test registry::tests::delete_by_digest_drops_only_tags_pointing_at_it ... ok
[INFO] [stdout] test registry::tests::expired_session_is_evicted_on_access ... ok
[INFO] [stdout] test registry::tests::complete_upload_removes_the_session ... ok
[INFO] [stdout] test registry::tests::idle_sessions_are_swept_on_new_upload_freeing_capacity ... ok
[INFO] [stdout] test registry::tests::manifest_put_and_lookup_by_digest_and_tag ... ok
[INFO] [stdout] test registry::tests::corrupt_metadata_file_starts_empty_not_panics ... ok
[INFO] [stdout] test registry::tests::in_memory_registry_does_not_write_metadata_file ... ok
[INFO] [stdout] test reference::tests::simple_single_component_name_is_valid ... ok
[INFO] [stdout] test registry::tests::list_tags_last_cursor_is_strictly_after ... ok
[INFO] [stdout] test registry::tests::out_of_order_chunk_is_rejected ... ok
[INFO] [stdout] test registry::tests::r3_2_in_memory_path_never_fails_persist ... ok
[INFO] [stdout] test registry::tests::list_repositories_last_cursor_is_strictly_after ... ok
[INFO] [stdout] test registry::tests::load_snapshot_non_notfound_io_error_is_err ... ok
[INFO] [stdout] test registry::tests::failed_first_put_to_new_repo_leaves_catalog_empty ... ok
[INFO] [stdout] test registry::tests::r5_3_delete_referrer_manifest_prunes_its_descriptor ... ok
[INFO] [stdout] test registry::tests::r5_3_delete_referrer_prunes_across_multiple_subjects ... ok
[INFO] [stdout] test registry::tests::start_append_take_cycle ... ok
[INFO] [stdout] test registry::tests::sweep_idle_uploads_returns_count_swept ... ok
[INFO] [stdout] test registry::tests::load_snapshot_missing_file_is_ok_none ... ok
[INFO] [stdout] test registry::tests::r3_1_load_drops_manifest_whose_key_digest_mismatches_body ... ok
[INFO] [stdout] test registry::tests::start_upload_enforces_concurrent_session_cap ... ok
[INFO] [stdout] test router::app_state_tests::blob_count_reflects_increments_and_saturating_decrements ... ok
[INFO] [stdout] test router::app_state_tests::blob_count_saturates_at_zero_never_negative ... ok
[INFO] [stdout] test router::dispatch::tests::split_nested_blob_path ... ok
[INFO] [stdout] test router::dispatch::tests::split_referrers ... ok
[INFO] [stdout] test registry::tests::put_with_subject_persist_failure_rolls_back_manifest_tag_and_referrer ... ok
[INFO] [stdout] test router::dispatch::tests::split_tags_list ... ok
[INFO] [stdout] test serve::tests::blob_store_in_memory_when_unset ... ok
[INFO] [stdout] test router::app_state_tests::r3_3_concurrent_same_digest_put_increments_gauge_once ... ok
[INFO] [stdout] test router::app_state_tests::r3_3_distinct_digests_each_counted_once ... ok
[INFO] [stdout] test router::dispatch::tests::split_none_for_bare_name ... ok
[INFO] [stdout] test router::dispatch::tests::split_simple_manifest_path ... ok
[INFO] [stdout] test serve::tests::from_raw_reads_overrides ... ok
[INFO] [stdout] test serve::tests::from_raw_treats_empty_storage_dir_as_inmemory ... ok
[INFO] [stdout] test registry::tests::put_with_subject_success_registers_manifest_tag_and_referrer ... ok
[INFO] [stdout] [2m2026-07-11T00:50:33.235710Z[0m [32m INFO[0m [2mferro_oci_server::serve[0m[2m:[0m ferro-oci-server starting [3mconfig[0m[2m=[0mConfig { listen: "definitely-not-an-addr", storage_dir: None }
[INFO] [stdout] test serve::tests::serve_rejects_invalid_listen_before_binding ... ok
[INFO] [stdout] test serve::tests::init_tracing_is_idempotent ... ok
[INFO] [stdout] test serve::tests::blob_store_creates_fs_dir ... ok
[INFO] [stdout] test serve::tests::socket_addr_parses_valid_listen ... ok
[INFO] [stdout] test serve::tests::build_app_serves_probes_v2_and_metrics ... ok
[INFO] [stdout] test serve::tests::socket_addr_rejects_garbage ... ok
[INFO] [stdout] test tests::crate_name_is_stable ... ok
[INFO] [stdout] test upload::tests::append_updates_offset ... ok
[INFO] [stdout] test upload::tests::checked_length_handles_full_u64_range_without_overflow ... ok
[INFO] [stdout] test upload::tests::checked_length_normal_range_is_exact ... ok
[INFO] [stdout] test upload::tests::content_range_parse_bare_form ... ok
[INFO] [stdout] test registry::tests::r3_5_write_snapshot_round_trips_and_leaves_no_temp ... ok
[INFO] [stdout] [2m2026-07-11T00:50:33.238366Z[0m [31mERROR[0m [2mferro_oci_server::registry[0m[2m:[0m failed to persist registry metadata snapshot; rolling back mutation [3mpath[0m[2m=[0m/tmp/.tmpzCx0NN/metadata.json [3merror[0m[2m=[0mIs a directory (os error 21)
[INFO] [stdout] [2m2026-07-11T00:50:33.240379Z[0m [32m INFO[0m [2mferro_oci_server::registry[0m[2m:[0m loaded persisted registry metadata [3mpath[0m[2m=[0m/tmp/.tmpt8be92/metadata.json [3mrepos[0m[2m=[0m1
[INFO] [stdout] test upload::tests::content_range_parse_bytes_prefix ... ok
[INFO] [stdout] test upload::tests::equal_start_end_is_a_valid_single_byte_range ... ok
[INFO] [stdout] test upload::tests::content_range_parse_with_total ... ok
[INFO] [stdout] test upload::tests::content_range_rejects_reversed ... ok
[INFO] [stdout] test registry::tests::failed_put_to_existing_repo_leaves_other_manifests_intact ... ok
[INFO] [stdout] test upload::tests::content_range_rejects_garbage ... ok
[INFO] [stdout] test serve::tests::from_env_smoke ... ok
[INFO] [stdout] test upload::tests::take_bytes_returns_everything_and_resets ... ok
[INFO] [stdout] [2m2026-07-11T00:50:33.241702Z[0m [31mERROR[0m [2mferro_oci_server::registry[0m[2m:[0m failed to persist registry metadata snapshot; rolling back mutation [3mpath[0m[2m=[0m/tmp/.tmp344TKj/metadata.json [3merror[0m[2m=[0mIs a directory (os error 21)
[INFO] [stdout] test serve::tests::build_app_persisted_serves_v2_and_survives_restart ... ok
[INFO] [stdout] [2m2026-07-11T00:50:33.243158Z[0m [31mERROR[0m [2mferro_oci_server::registry[0m[2m:[0m failed to persist registry metadata snapshot; rolling back mutation [3mpath[0m[2m=[0m/tmp/.tmpv3J14Z/metadata.json [3merror[0m[2m=[0mIs a directory (os error 21)
[INFO] [stdout] [2m2026-07-11T00:50:33.243423Z[0m [32m INFO[0m [2mferro_oci_server::registry[0m[2m:[0m loaded persisted registry metadata [3mpath[0m[2m=[0m/tmp/.tmp8cYczz/metadata.json [3mrepos[0m[2m=[0m1
[INFO] [stdout] test reference::tests::digest_reference_parses ... ok
[INFO] [stdout] test reference::tests::empty_component_is_rejected ... ok
[INFO] [stdout] test registry::tests::referrers_filter_by_artifact_type ... ok
[INFO] [stdout] test serve::tests::from_raw_applies_defaults_when_unset ... ok
[INFO] [stdout] test registry::tests::metadata_persists_across_simulated_restart ... ok
[INFO] [stdout] test registry::tests::r5_3_delete_referrer_persist_failure_does_not_prune ... ok
[INFO] [stdout] [2m2026-07-11T00:50:33.250815Z[0m [31mERROR[0m [2mferro_oci_server::registry[0m[2m:[0m failed to persist registry metadata snapshot; rolling back mutation [3mpath[0m[2m=[0m/tmp/.tmpaQlZTG/metadata.json [3merror[0m[2m=[0mIs a directory (os error 21)
[INFO] [stdout] test registry::tests::referrer_leg_persist_failure_does_not_strand_manifest ... ok
[INFO] [stdout] test registry::tests::r3_2_persist_failure_rolls_back_put_and_returns_error ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- registry::tests::r3_2_persist_failure_rolls_back_put_and_returns_error stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'registry::tests::r3_2_persist_failure_rolls_back_put_and_returns_error' (5184) panicked at crates/ferro-oci-server/src/registry.rs:2211:9:
[INFO] [stdout] a manifest PUT that cannot be persisted must return an error, not Ok
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x57951b8295e8 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x57951b8295e8 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x57951b8295e8 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x57951b8295e8 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x57951b84111a - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x57951b84111a - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x57951b82e3e2 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x57951b82e3e2 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x57951b805d46 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x57951b805d46 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x57951b820989 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x57951b3c6aec - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x57951b3c6aec - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x57951b820c02 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x57951b820c02 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x57951b805e34 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x57951b7facd9 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x57951b806c6d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x57951b84198c - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x57951b35ecb8 - ferro_oci_server[c9161bdd86764028]::registry::tests::r3_2_persist_failure_rolls_back_put_and_returns_error::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ferro-oci-server/src/registry.rs:2211:9
[INFO] [stdout]   20:     0x57951b2ecda2 - <core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>> as core[8fb95b77d25ab6c8]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/future/future.rs:133:9
[INFO] [stdout]   21:     0x57951b2ece1d - <core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>> as core[8fb95b77d25ab6c8]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x57951b2c9fed - <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:778:70
[INFO] [stdout]   23:     0x57951b2c9eeb - tokio[624266d824868b46]::task::coop::with_budget::<core[8fb95b77d25ab6c8]::task::poll::Poll<()>, <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   24:     0x57951b2c9eeb - tokio[624266d824868b46]::task::coop::budget::<core[8fb95b77d25ab6c8]::task::poll::Poll<()>, <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   25:     0x57951b2c9eeb - <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:778:25
[INFO] [stdout]   26:     0x57951b2b6060 - <tokio[624266d824868b46]::runtime::scheduler::current_thread::Context>::enter::<core[8fb95b77d25ab6c8]::task::poll::Poll<()>, <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:451:19
[INFO] [stdout]   27:     0x57951b2c805d - <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:777:44
[INFO] [stdout]   28:     0x57951b2c7304 - <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:865:68
[INFO] [stdout]   29:     0x57951b30713b - <tokio[624266d824868b46]::runtime::context::scoped::Scoped<tokio[624266d824868b46]::runtime::scheduler::Context>>::set::<<tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::option::Option<()>>::{closure#0}, (alloc[a7ee25936407c584]::boxed::Box<tokio[624266d824868b46]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   30:     0x57951b2018a9 - tokio[624266d824868b46]::runtime::context::set_scheduler::<(alloc[a7ee25936407c584]::boxed::Box<tokio[624266d824868b46]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>), <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context.rs:181:38
[INFO] [stdout]   31:     0x57951b2d0192 - <std[10d71ac2c42b111e]::thread::local::LocalKey<tokio[624266d824868b46]::runtime::context::Context>>::try_with::<tokio[624266d824868b46]::runtime::context::set_scheduler<(alloc[a7ee25936407c584]::boxed::Box<tokio[624266d824868b46]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>), <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[a7ee25936407c584]::boxed::Box<tokio[624266d824868b46]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   32:     0x57951b2cfd1e - <std[10d71ac2c42b111e]::thread::local::LocalKey<tokio[624266d824868b46]::runtime::context::Context>>::with::<tokio[624266d824868b46]::runtime::context::set_scheduler<(alloc[a7ee25936407c584]::boxed::Box<tokio[624266d824868b46]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>), <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[a7ee25936407c584]::boxed::Box<tokio[624266d824868b46]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   33:     0x57951b1fc29d - tokio[624266d824868b46]::runtime::context::set_scheduler::<(alloc[a7ee25936407c584]::boxed::Box<tokio[624266d824868b46]::runtime::scheduler::current_thread::Core>, core[8fb95b77d25ab6c8]::option::Option<()>), <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context.rs:181:17
[INFO] [stdout]   34:     0x57951b2b9560 - <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>::{closure#0}, core[8fb95b77d25ab6c8]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:865:27
[INFO] [stdout]   35:     0x57951b2b9856 - <tokio[624266d824868b46]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:765:24
[INFO] [stdout]   36:     0x57951b2c6300 - <tokio[624266d824868b46]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:205:33
[INFO] [stdout]   37:     0x57951b308a83 - tokio[624266d824868b46]::runtime::context::runtime::enter_runtime::<<tokio[624266d824868b46]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   38:     0x57951b2b4a01 - <tokio[624266d824868b46]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/current_thread/mod.rs:193:9
[INFO] [stdout]   39:     0x57951b2cfa44 - <tokio[624266d824868b46]::runtime::runtime::Runtime>::block_on_inner::<core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/runtime.rs:371:52
[INFO] [stdout]   40:     0x57951b2cfc0f - <tokio[624266d824868b46]::runtime::runtime::Runtime>::block_on::<core[8fb95b77d25ab6c8]::pin::Pin<&mut dyn core[8fb95b77d25ab6c8]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/runtime.rs:345:18
[INFO] [stdout]   41:     0x57951b36d6c1 - ferro_oci_server[c9161bdd86764028]::registry::tests::r3_2_persist_failure_rolls_back_put_and_returns_error
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ferro-oci-server/src/registry.rs:2222:10
[INFO] [stdout]   42:     0x57951b34e947 - ferro_oci_server[c9161bdd86764028]::registry::tests::r3_2_persist_failure_rolls_back_put_and_returns_error::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ferro-oci-server/src/registry.rs:2171:69
[INFO] [stdout]   43:     0x57951b1f1206 - <ferro_oci_server[c9161bdd86764028]::registry::tests::r3_2_persist_failure_rolls_back_put_and_returns_error::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x57951b3b9bcb - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x57951b3b9bcb - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   46:     0x57951b3c7445 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   47:     0x57951b3c7445 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   48:     0x57951b3c7445 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   49:     0x57951b3c7445 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   50:     0x57951b3c7445 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   51:     0x57951b3c7445 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   52:     0x57951b3c7445 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   53:     0x57951b3c0d54 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   54:     0x57951b3c0d54 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   55:     0x57951b3ca4c2 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   56:     0x57951b3ca4c2 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   57:     0x57951b3ca4c2 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   58:     0x57951b3ca4c2 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   59:     0x57951b3ca4c2 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   60:     0x57951b3ca4c2 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   61:     0x57951b3ca4c2 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   62:     0x57951b828a5f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   63:     0x57951b828a5f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   64:     0x7a3412b38aa4 - <unknown>
[INFO] [stdout]   65:     0x7a3412bc5a64 - clone
[INFO] [stdout]   66:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     registry::tests::r3_2_persist_failure_rolls_back_put_and_returns_error
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 110 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p ferro-oci-server --lib`
[INFO] running `Command { std: "docker" "inspect" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c", kill_on_drop: false }`
[INFO] [stdout] 2c1a0ab20ec0394cf4451b171dc0059c57f757410952c5a938016d6cc2bbc20c
