[INFO] fetching crate rustack-s3-core 0.10.0...
[INFO] testing rustack-s3-core-0.10.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate rustack-s3-core 0.10.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate rustack-s3-core 0.10.0
[INFO] finished tweaking crates.io crate rustack-s3-core 0.10.0
[INFO] tweaked toml for crates.io crate rustack-s3-core 0.10.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rustack-s3-core 0.10.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rustack-s3-core 0.10.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3
[INFO] running `Command { std: "docker" "start" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3", 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" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3", 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" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling smallvec v1.16.0
[INFO] [stderr]    Compiling target-features v0.1.6
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling hybrid-array v0.4.14
[INFO] [stderr]    Compiling encoding_rs v0.8.40
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling crc32c v0.6.8
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling typed-builder-macro v0.23.2
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling crc32fast v1.5.1
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling uuid v1.26.0
[INFO] [stderr]    Compiling rand v0.10.2
[INFO] [stderr]    Compiling hashlink v0.11.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling crc64fast-nvme v1.2.1
[INFO] [stderr]    Compiling quick-xml v0.41.0
[INFO] [stderr]    Compiling dashmap v6.2.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling multiversion-macros v0.8.0
[INFO] [stderr]    Compiling typed-builder v0.23.2
[INFO] [stderr]    Compiling multiversion v0.8.0
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling hmac v0.13.0
[INFO] [stderr]    Compiling sha1 v0.11.0
[INFO] [stderr]    Compiling md-5 v0.11.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling yaml-rust2 v0.11.1
[INFO] [stderr]    Compiling config v0.15.25
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling rustack-s3-model v0.10.0
[INFO] [stderr]    Compiling rustack-auth v0.10.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling rustack-core v0.10.0
[INFO] [stderr]    Compiling h2 v0.4.19
[INFO] [stderr]    Compiling hyper v1.11.1
[INFO] [stderr]    Compiling rustack-s3-core v0.10.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `hyper`
[INFO] [stderr]   --> Cargo.toml:35:15
[INFO] [stderr]    |
[INFO] [stderr] 35 | [dependencies.hyper]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `hyper`
[INFO] [stderr] warning: unused dependency `quick-xml`
[INFO] [stderr]   --> Cargo.toml:48:15
[INFO] [stderr]    |
[INFO] [stderr] 48 | [dependencies.quick-xml]
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `quick-xml`
[INFO] [stderr] warning: `rustack-s3-core` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.08s
[INFO] running `Command { std: "docker" "inspect" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3", 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" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling rustack-core v0.10.0
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling h2 v0.4.19
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling hyper v1.11.1
[INFO] [stderr]    Compiling rustack-s3-core v0.10.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `hyper`
[INFO] [stderr]   --> Cargo.toml:35:15
[INFO] [stderr]    |
[INFO] [stderr] 35 | [dependencies.hyper]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `hyper`
[INFO] [stderr] warning: unused dependency `quick-xml`
[INFO] [stderr]   --> Cargo.toml:48:15
[INFO] [stderr]    |
[INFO] [stderr] 48 | [dependencies.quick-xml]
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `quick-xml`
[INFO] [stderr] warning: `rustack-s3-core` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 18.27s
[INFO] running `Command { std: "docker" "inspect" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3", 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" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused dependency `hyper`
[INFO] [stderr]   --> Cargo.toml:35:15
[INFO] [stderr]    |
[INFO] [stderr] 35 | [dependencies.hyper]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `hyper`
[INFO] [stderr] warning: unused dependency `quick-xml`
[INFO] [stderr]   --> Cargo.toml:48:15
[INFO] [stderr]    |
[INFO] [stderr] 48 | [dependencies.quick-xml]
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `quick-xml`
[INFO] [stderr] warning: `rustack-s3-core` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/rustack-s3-core/0f1511d69904195a/out/rustack_s3_core-0f1511d69904195a)
[INFO] [stdout] 
[INFO] [stdout] running 241 tests
[INFO] [stdout] test auth::tests::test_should_create_auth_with_skip_validation ... ok
[INFO] [stdout] test auth::tests::test_should_return_empty_key_when_skipping_validation ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_crc32_checksum ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_composite_checksum ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_crc32c_checksum ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_crc64nvme_checksum ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_etag_empty ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_multipart_etag_single_part ... ok
[INFO] [stdout] test auth::tests::test_should_create_auth_with_validation ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_etag_with_data ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_md5_empty ... ok
[INFO] [stdout] test auth::tests::test_should_return_test_key_when_validating ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_sha256_checksum ... ok
[INFO] [stdout] test config::tests::test_should_create_default_config ... ok
[INFO] [stdout] test checksums::tests::test_should_stream_multiple_algorithms ... ok
[INFO] [stdout] test checksums::tests::test_should_stream_md5_only ... ok
[INFO] [stdout] test config::tests::test_should_load_from_env ... ok
[INFO] [stdout] test checksums::tests::test_should_display_checksum_algorithm ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_md5_hello ... ok
[INFO] [stdout] test config::tests::test_should_parse_bool_values ... ok
[INFO] [stdout] test cors::tests::test_should_match_preflight_with_specific_headers ... ok
[INFO] [stdout] test cors::tests::test_should_match_exact_pattern ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_sha1_checksum ... ok
[INFO] [stdout] test checksums::tests::test_should_match_single_shot_and_streaming_results ... ok
[INFO] [stdout] test cors::tests::test_should_not_match_wrong_method ... ok
[INFO] [stdout] test checksums::tests::test_should_parse_checksum_algorithm ... ok
[INFO] [stdout] test checksums::tests::test_should_stream_with_sha256 ... ok
[INFO] [stdout] test config::tests::test_should_build_with_typed_builder ... ok
[INFO] [stdout] test cors::tests::test_should_match_wildcard_origin ... ok
[INFO] [stdout] test config::tests::test_should_serialize_to_camel_case_json ... ok
[INFO] [stdout] test cors::tests::test_should_not_match_wrong_origin ... ok
[INFO] [stdout] test cors::tests::test_should_delete_rules ... ok
[INFO] [stdout] test cors::tests::test_should_replace_existing_rules ... ok
[INFO] [stdout] test cors::tests::test_should_match_preflight_with_wildcard_headers ... ok
[INFO] [stdout] test cors::tests::test_should_return_none_for_unknown_bucket ... ok
[INFO] [stdout] test cors::tests::test_should_not_match_preflight_with_disallowed_header ... ok
[INFO] [stdout] test error::tests::test_should_convert_access_denied_to_s3_error ... ok
[INFO] [stdout] test error::tests::test_should_convert_bucket_already_exists_to_s3_error ... ok
[INFO] [stdout] test cors::tests::test_should_match_wildcard_pattern ... ok
[INFO] [stdout] test cors::tests::test_should_match_specific_origin ... ok
[INFO] [stdout] test checksums::tests::test_should_compute_multipart_etag ... ok
[INFO] [stdout] test error::tests::test_should_convert_max_message_length_exceeded_to_400 ... ok
[INFO] [stdout] test error::tests::test_should_convert_config_not_found_errors ... ok
[INFO] [stdout] test cors::tests::test_should_not_match_different_pattern ... ok
[INFO] [stdout] test error::tests::test_should_convert_entity_too_small_to_s3_error ... ok
[INFO] [stdout] test error::tests::test_should_convert_internal_error_to_s3_error ... ok
[INFO] [stdout] test error::tests::test_should_convert_no_such_key_to_s3_error ... ok
[INFO] [stdout] test error::tests::test_should_convert_no_such_upload_to_s3_error ... ok
[INFO] [stdout] test cors::tests::test_should_set_and_get_rules ... ok
[INFO] [stdout] test error::tests::test_should_convert_bucket_already_owned_to_s3_error ... ok
[INFO] [stdout] test error::tests::test_should_convert_bucket_not_empty_to_s3_error ... ok
[INFO] [stdout] test error::tests::test_should_convert_invalid_bucket_name_to_s3_error ... ok
[INFO] [stdout] test error::tests::test_should_convert_not_modified_to_304 ... ok
[INFO] [stdout] test ops::multipart::tests::test_should_parse_copy_source_basic ... ok
[INFO] [stdout] test ops::multipart::tests::test_should_parse_copy_source_with_nested_key ... ok
[INFO] [stdout] test error::tests::test_should_convert_precondition_failed_to_s3_error ... ok
[INFO] [stdout] test ops::object::tests::test_should_parse_copy_source_with_leading_slash ... ok
[INFO] [stdout] test ops::multipart::tests::test_should_fail_on_empty_bucket ... ok
[INFO] [stdout] test ops::object::tests::test_should_parse_copy_source_with_version_id ... ok
[INFO] [stdout] test ops::multipart::tests::test_should_parse_copy_source_with_version_id ... ok
[INFO] [stdout] test error::tests::test_should_convert_no_such_bucket_to_s3_error ... ok
[INFO] [stdout] test ops::object::tests::test_should_parse_copy_source_with_nested_key ... ok
[INFO] [stdout] test error::tests::test_should_convert_conditional_request_conflict_to_409 ... ok
[INFO] [stdout] test ops::multipart::tests::test_should_fail_on_invalid_copy_source ... ok
[INFO] [stdout] test ops::object::tests::test_should_reject_copy_source_no_key ... ok
[INFO] [stdout] test provider::tests::test_should_clone_provider ... ok
[INFO] [stdout] test ops::multipart::tests::test_should_parse_copy_source_without_leading_slash ... ok
[INFO] [stdout] test ops::object::tests::test_should_parse_copy_source_simple ... ok
[INFO] [stdout] test ops::object::tests::test_should_parse_copy_source_with_encoded_key ... ok
[INFO] [stdout] test provider::tests::test_should_share_via_arc ... ok
[INFO] [stdout] test ops::object::tests::test_should_reject_copy_source_empty_bucket ... ok
[INFO] [stdout] test provider::tests::test_should_debug_format_provider ... ok
[INFO] [stdout] test provider::tests::test_should_reset_state ... ok
[INFO] [stdout] test state::bucket::tests::test_should_create_bucket_encryption ... ok
[INFO] [stdout] test state::bucket::tests::test_should_create_object_lock_configuration ... ok
[INFO] [stdout] test ops::object::tests::test_should_reject_copy_source_empty_key ... ok
[INFO] [stdout] test snapshot::tests::test_should_reject_data_file_path_traversal ... ok
[INFO] [stdout] test state::bucket::tests::test_should_create_bucket_with_defaults ... ok
[INFO] [stdout] test snapshot::tests::test_should_accept_data_file_child_path ... ok
[INFO] [stdout] test error::tests::test_should_convert_bad_digest_to_400 ... ok
[INFO] [stdout] test ops::object::tests::test_should_parse_tagging_header_no_value ... ok
[INFO] [stdout] test ops::object::tests::test_should_parse_tagging_header_encoded ... ok
[INFO] [stdout] test state::bucket::tests::test_should_create_public_access_block_config ... ok
[INFO] [stdout] test state::bucket::tests::test_should_debug_format_bucket ... ok
[INFO] [stdout] test state::bucket::tests::test_should_create_cors_rule_config ... ok
[INFO] [stdout] test state::bucket::tests::test_should_enable_versioning ... ok
[INFO] [stdout] test state::bucket::tests::test_should_report_not_empty_with_multipart ... ok
[INFO] [stdout] test ops::object::tests::test_should_parse_tagging_header_basic ... ok
[INFO] [stdout] test state::bucket::tests::test_should_default_versioning_status_to_disabled ... ok
[INFO] [stdout] test ops::object::tests::test_should_parse_tagging_header_empty ... ok
[INFO] [stdout] test state::bucket::tests::test_should_suspend_versioning ... ok
[INFO] [stdout] test provider::tests::test_should_create_provider_with_defaults ... ok
[INFO] [stdout] test state::bucket::tests::test_should_enable_versioning_idempotent ... ok
[INFO] [stdout] test state::keystore::tests::test_should_get_version_in_unversioned_store ... ok
[INFO] [stdout] test state::keystore::tests::test_should_get_version_by_id ... ok
[INFO] [stdout] test state::keystore::tests::test_should_delete_from_keystore ... ok
[INFO] [stdout] test state::keystore::tests::test_should_delete_versioned_via_object_store ... ok
[INFO] [stdout] test error::tests::test_should_use_into_s3_error_method ... ok
[INFO] [stdout] test state::keystore::tests::test_should_default_to_unversioned ... ok
[INFO] [stdout] test state::keystore::tests::test_should_delete_specific_version ... ok
[INFO] [stdout] test state::keystore::tests::test_should_insert_delete_marker ... ok
[INFO] [stdout] test state::keystore::tests::test_should_handle_delete_marker_on_nonexistent_key ... ok
[INFO] [stdout] test state::keystore::tests::test_should_delete_version_in_unversioned_store ... ok
[INFO] [stdout] test state::bucket::tests::test_should_not_suspend_if_never_enabled ... ok
[INFO] [stdout] test ops::object::tests::test_should_preserve_existing_object_after_bad_staged_checksum ... ok
[INFO] [stdout] test state::keystore::tests::test_should_list_objects_in_keystore ... ok
[INFO] [stdout] test state::keystore::tests::test_should_list_object_versions ... ok
[INFO] [stdout] test state::keystore::tests::test_should_list_versioned_objects ... ok
[INFO] [stdout] test state::bucket::tests::test_should_report_empty_with_no_objects_or_uploads ... ok
[INFO] [stdout] test state::keystore::tests::test_should_put_and_get_in_versioned_store ... ok
[INFO] [stdout] test state::keystore::tests::test_should_replace_object_in_keystore ... ok
[INFO] [stdout] test state::keystore::tests::test_should_return_previous_on_unversioned_put ... ok
[INFO] [stdout] test state::keystore::tests::test_should_put_and_get_in_keystore ... ok
[INFO] [stdout] test state::keystore::tests::test_should_transition_to_versioned ... ok
[INFO] [stdout] test state::multipart::tests::test_should_create_multipart_upload ... ok
[INFO] [stdout] test state::object::tests::test_should_access_delete_marker_version_fields ... ok
[INFO] [stdout] test state::object::tests::test_should_access_object_version_fields ... ok
[INFO] [stdout] test state::object::tests::test_should_default_object_metadata ... ok
[INFO] [stdout] test state::keystore::tests::test_should_stack_versions_newest_first ... ok
[INFO] [stdout] test state::keystore::tests::test_should_list_with_pagination ... ok
[INFO] [stdout] test state::keystore::tests::test_should_transition_preserve_all_objects ... ok
[INFO] [stdout] test state::keystore::tests::test_should_list_with_prefix_and_delimiter ... ok
[INFO] [stdout] test state::keystore::tests::test_should_not_return_previous_on_versioned_put ... ok
[INFO] [stdout] test state::multipart::tests::test_should_put_and_get_parts ... ok
[INFO] [stdout] test state::multipart::tests::test_should_replace_existing_part ... ok
[INFO] [stdout] test state::multipart::tests::test_should_store_checksum_on_part ... ok
[INFO] [stdout] test state::object::tests::test_should_default_canned_acl_to_private ... ok
[INFO] [stdout] test state::object::tests::test_should_display_owner ... ok
[INFO] [stdout] test state::object::tests::test_should_display_permission ... ok
[INFO] [stdout] test state::object::tests::test_should_identify_delete_marker ... ok
[INFO] [stdout] test state::object::tests::test_should_use_default_owner ... ok
[INFO] [stdout] test state::service::tests::test_should_create_and_list_bucket ... ok
[INFO] [stdout] test state::service::tests::test_should_list_buckets_sorted ... ok
[INFO] [stdout] test state::service::tests::test_should_delete_empty_bucket ... ok
[INFO] [stdout] test state::service::tests::test_should_recreate_bucket_after_delete ... ok
[INFO] [stdout] test state::service::tests::test_should_get_bucket_mutable_ref ... ok
[INFO] [stdout] test state::service::tests::test_should_reject_delete_non_empty_bucket ... ok
[INFO] [stdout] test state::service::tests::test_should_create_empty_service_state ... ok
[INFO] [stdout] test state::service::tests::test_should_use_default_trait ... ok
[INFO] [stdout] test storage::tests::test_should_abort_multipart ... ok
[INFO] [stdout] test state::service::tests::test_should_reject_duplicate_bucket_different_owner ... ok
[INFO] [stdout] test state::service::tests::test_should_reject_duplicate_bucket_same_owner ... ok
[INFO] [stdout] test state::service::tests::test_should_reset_all_state ... ok
[INFO] [stdout] test state::object::tests::test_should_identify_object_as_not_delete_marker ... ok
[INFO] [stdout] test state::object::tests::test_should_reject_unknown_canned_acl ... ok
[INFO] [stdout] test storage::tests::test_should_copy_object ... ok
[INFO] [stdout] test storage::tests::test_should_not_panic_on_delete_nonexistent ... ok
[INFO] [stdout] test state::service::tests::test_should_return_error_for_nonexistent_bucket ... ok
[INFO] [stdout] test state::object::tests::test_should_roundtrip_canned_acl_from_str ... ok
[INFO] [stdout] test storage::tests::test_should_reject_invalid_range ... ok
[INFO] [stdout] test storage::tests::test_should_delete_bucket_data ... ok
[INFO] [stdout] test storage::tests::test_should_reset_all_storage ... ok
[INFO] [stdout] test storage::tests::test_should_return_error_on_copy_nonexistent_source ... ok
[INFO] [stdout] test storage::tests::test_should_return_error_on_read_missing_part ... ok
[INFO] [stdout] test storage::tests::test_should_create_default_storage ... ok
[INFO] [stdout] test state::service::tests::test_should_debug_format_service_state ... ok
[INFO] [stdout] test storage::tests::test_should_delete_object ... ok
[INFO] [stdout] test state::service::tests::test_should_get_bucket_immutable_ref ... ok
[INFO] [stdout] test utils::tests::test_should_clamp_range_end_to_content_length ... ok
[INFO] [stdout] test storage::tests::test_should_clean_up_on_overwrite ... ok
[INFO] [stdout] test storage::tests::test_should_return_error_on_read_nonexistent_object ... ok
[INFO] [stdout] test utils::tests::test_should_escape_ampersand ... ok
[INFO] [stdout] test utils::tests::test_should_escape_angle_brackets ... ok
[INFO] [stdout] test storage::tests::test_should_read_object_with_range ... ok
[INFO] [stdout] test state::service::tests::test_should_reject_delete_nonexistent_bucket ... ok
[INFO] [stdout] test utils::tests::test_should_handle_empty_string ... ok
[INFO] [stdout] test storage::tests::test_should_return_error_on_complete_with_missing_part ... ok
[INFO] [stdout] test utils::tests::test_should_escape_apostrophe ... ok
[INFO] [stdout] test utils::tests::test_should_escape_quotes ... ok
[INFO] [stdout] test utils::tests::test_should_match_if_match_unquoted ... ok
[INFO] [stdout] test utils::tests::test_should_match_if_match_same_etag ... ok
[INFO] [stdout] test storage::tests::test_should_complete_multipart_upload ... ok
[INFO] [stdout] test utils::tests::test_should_match_if_none_match_different_etag ... ok
[INFO] [stdout] test utils::tests::test_should_generate_unique_request_ids ... ok
[INFO] [stdout] test utils::tests::test_should_match_if_match_wildcard ... ok
[INFO] [stdout] test utils::tests::test_should_generate_unique_upload_ids ... ok
[INFO] [stdout] test utils::tests::test_should_not_escape_plain_text ... ok
[INFO] [stdout] test utils::tests::test_should_generate_unique_version_ids ... ok
[INFO] [stdout] test storage::tests::test_should_write_and_read_part ... ok
[INFO] [stdout] test utils::tests::test_should_not_match_if_match_different_etag ... ok
[INFO] [stdout] test utils::tests::test_should_parse_copy_source_with_nested_key ... ok
[INFO] [stdout] test cors::tests::test_should_not_match_unknown_bucket ... ok
[INFO] [stdout] test utils::tests::test_should_parse_range_from_offset ... ok
[INFO] [stdout] test utils::tests::test_should_parse_copy_source_with_version_id ... ok
[INFO] [stdout] test utils::tests::test_should_parse_range_from_zero ... ok
[INFO] [stdout] test storage::tests::test_should_write_and_read_large_object_on_disk ... ok
[INFO] [stdout] test storage::tests::test_should_write_and_read_large_part_on_disk ... ok
[INFO] [stdout] test utils::tests::test_should_parse_copy_source_simple ... ok
[INFO] [stdout] test utils::tests::test_should_parse_copy_source_with_encoded_key ... ok
[INFO] [stdout] test utils::tests::test_should_not_match_if_none_match_wildcard ... ok
[INFO] [stdout] test utils::tests::test_should_reject_range_start_beyond_length ... ok
[INFO] [stdout] test utils::tests::test_should_reject_range_on_empty_content ... ok
[INFO] [stdout] test utils::tests::test_should_not_match_if_none_match_same_etag ... ok
[INFO] [stdout] test utils::tests::test_should_return_rfc3339_timestamp ... ok
[INFO] [stdout] test utils::tests::test_should_parse_range_start_end ... ok
[INFO] [stdout] test utils::tests::test_should_roundtrip_continuation_token ... ok
[INFO] [stdout] test utils::tests::test_should_parse_range_suffix ... ok
[INFO] [stdout] test utils::tests::test_should_reject_invalid_range_no_prefix ... ok
[INFO] [stdout] test utils::tests::test_should_reject_suffix_range_zero ... ok
[INFO] [stdout] test utils::tests::test_should_roundtrip_empty_continuation_token ... ok
[INFO] [stdout] test validation::tests::test_should_accept_absent_content_md5 ... ok
[INFO] [stdout] test validation::tests::test_should_accept_correct_content_md5 ... ok
[INFO] [stdout] test validation::tests::test_should_accept_empty_metadata ... ok
[INFO] [stdout] test validation::tests::test_should_accept_valid_bucket_names ... ok
[INFO] [stdout] test validation::tests::test_should_accept_metadata_at_limit ... ok
[INFO] [stdout] test validation::tests::test_should_accept_valid_tag_set ... ok
[INFO] [stdout] test validation::tests::test_should_accept_valid_tag_value ... ok
[INFO] [stdout] test validation::tests::test_should_reject_bucket_ending_with_hyphen ... ok
[INFO] [stdout] test validation::tests::test_should_reject_bucket_starting_with_hyphen ... ok
[INFO] [stdout] test validation::tests::test_should_accept_valid_object_keys ... ok
[INFO] [stdout] test validation::tests::test_should_reject_empty_object_key ... ok
[INFO] [stdout] test validation::tests::test_should_accept_valid_tag_key ... ok
[INFO] [stdout] test validation::tests::test_should_reject_empty_tag_key ... ok
[INFO] [stdout] test utils::tests::test_should_parse_copy_source_with_leading_slash ... ok
[INFO] [stdout] test utils::tests::test_should_reject_copy_source_no_key ... ok
[INFO] [stdout] test utils::tests::test_should_reject_invalid_continuation_token ... ok
[INFO] [stdout] test utils::tests::test_should_reject_suffix_range_exceeding_length ... ok
[INFO] [stdout] test utils::tests::test_should_reject_copy_source_empty_bucket ... ok
[INFO] [stdout] test utils::tests::test_should_reject_copy_source_empty_key ... ok
[INFO] [stdout] test validation::tests::test_should_reject_invalid_base64_content_md5 ... ok
[INFO] [stdout] test validation::tests::test_should_reject_consecutive_dots_in_bucket_name ... ok
[INFO] [stdout] test utils::tests::test_should_reject_range_start_greater_than_end ... ok
[INFO] [stdout] test validation::tests::test_should_accept_valid_metadata ... ok
[INFO] [stdout] test validation::tests::test_should_reject_ip_address_bucket_name ... ok
[INFO] [stdout] test validation::tests::test_should_reject_long_bucket_name ... ok
[INFO] [stdout] test validation::tests::test_should_reject_s3alias_suffix_bucket_name ... ok
[INFO] [stdout] test validation::tests::test_should_reject_short_bucket_name ... ok
[INFO] [stdout] test validation::tests::test_should_reject_sthree_prefix_bucket_name ... ok
[INFO] [stdout] test validation::tests::test_should_reject_tags_with_invalid_key ... ok
[INFO] [stdout] test validation::tests::test_should_reject_oversized_metadata ... ok
[INFO] [stdout] test validation::tests::test_should_reject_tags_with_invalid_value ... ok
[INFO] [stdout] test validation::tests::test_should_reject_too_long_tag_key ... ok
[INFO] [stdout] test validation::tests::test_should_reject_wrong_content_md5 ... ok
[INFO] [stdout] test validation::tests::test_should_reject_xn_prefix_bucket_name ... ok
[INFO] [stdout] test validation::tests::test_should_reject_too_long_object_key ... ok
[INFO] [stdout] test validation::tests::test_should_reject_too_long_tag_value ... ok
[INFO] [stdout] test validation::tests::test_should_reject_too_many_tags ... ok
[INFO] [stdout] test validation::tests::test_should_reject_uppercase_bucket_name ... ok
[INFO] [stdout] test utils::tests::test_should_return_positive_timestamp_millis ... ok
[INFO] [stdout] test storage::tests::test_should_write_and_read_small_object ... ok
[INFO] [stdout] test storage::tests::test_should_read_all_bytes_from_large_on_disk_object ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 241 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustack_s3_core
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test src/checksums.rs - checksums::compute_checksum (line 167) ... ok
[INFO] [stdout] test src/cors.rs - cors::CorsIndex (line 64) ... ok
[INFO] [stdout] test src/provider.rs - provider::RustackS3 (line 24) ... ok
[INFO] [stdout] test src/error.rs - error (line 11) ... ok
[INFO] [stdout] test src/utils.rs - utils::is_valid_if_match (line 189) ... ok
[INFO] [stdout] test src/config.rs - config::S3Config::from_env (line 99) ... ok
[INFO] [stdout] test src/config.rs - config::S3Config (line 17) ... ok
[INFO] [stdout] test src/utils.rs - utils::generate_request_id (line 64) ... ok
[INFO] [stdout] test src/storage.rs - storage::InMemoryStorage (line 405) ... ok
[INFO] [stdout] test src/checksums.rs - checksums::StreamingHasher (line 255) ... ok
[INFO] [stdout] test src/utils.rs - utils::generate_upload_id (line 45) ... ok
[INFO] [stdout] test src/checksums.rs - checksums::compute_md5 (line 102) ... ok
[INFO] [stdout] test src/utils.rs - utils::encode_continuation_token (line 242) ... ok
[INFO] [stdout] test src/auth.rs - auth::RustackAuth (line 18) ... ok
[INFO] [stdout] test src/utils.rs - utils::timestamp_millis (line 84) ... ok
[INFO] [stdout] test src/utils.rs - utils::parse_range_header (line 131) ... ok
[INFO] [stdout] test src/validation.rs - validation::validate_bucket_name (line 53) ... ok
[INFO] [stdout] test src/validation.rs - validation::validate_tag_value (line 210) ... ok
[INFO] [stdout] test src/validation.rs - validation::validate_metadata (line 280) ... ok
[INFO] [stdout] test src/utils.rs - utils::parse_copy_source (line 289) ... ok
[INFO] [stdout] test src/validation.rs - validation::validate_tag_key (line 176) ... ok
[INFO] [stdout] test src/utils.rs - utils::is_valid_if_none_match (line 212) ... ok
[INFO] [stdout] test src/checksums.rs - checksums::compute_multipart_etag (line 143) ... ok
[INFO] [stdout] test src/validation.rs - validation::validate_content_md5 (line 318) ... ok
[INFO] [stdout] test src/checksums.rs - checksums::compute_etag (line 122) ... ok
[INFO] [stdout] test src/utils.rs - utils::generate_version_id (line 24) ... ok
[INFO] [stdout] test src/checksums.rs - checksums::compute_composite_checksum (line 214) ... ok
[INFO] [stdout] test src/validation.rs - validation::validate_tags (line 241) ... ok
[INFO] [stdout] test src/utils.rs - utils::timestamp_rfc3339 (line 99) ... ok
[INFO] [stdout] test src/utils.rs - utils::xml_escape (line 346) ... ok
[INFO] [stdout] test src/validation.rs - validation::validate_object_key (line 145) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.21s; merged doctests compilation took 1.11s
[INFO] running `Command { std: "docker" "inspect" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3", kill_on_drop: false }`
[INFO] [stdout] 7d6b4c4e4c82c2bb7ff3bafc44bfcee38c3d9ed5b4bc71dbf8b1ab90672c69c3
