[INFO] fetching crate labkey-rs 0.2.1... [INFO] testing labkey-rs-0.2.1 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate labkey-rs 0.2.1 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate labkey-rs 0.2.1 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate labkey-rs 0.2.1 [INFO] tweaked toml for crates.io crate labkey-rs 0.2.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate labkey-rs 0.2.1 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate labkey-rs 0.2.1 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "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/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3ca19c1a23a210fa3bf3bdca1addf5b2d805e9d728b46d8e6c424e0be43cb820 [INFO] running `Command { std: "docker" "start" "-a" "3ca19c1a23a210fa3bf3bdca1addf5b2d805e9d728b46d8e6c424e0be43cb820", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3ca19c1a23a210fa3bf3bdca1addf5b2d805e9d728b46d8e6c424e0be43cb820", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3ca19c1a23a210fa3bf3bdca1addf5b2d805e9d728b46d8e6c424e0be43cb820", kill_on_drop: false }` [INFO] [stdout] 3ca19c1a23a210fa3bf3bdca1addf5b2d805e9d728b46d8e6c424e0be43cb820 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 566531ffed208d3fd3b0f6782f33278822437cccc2b9437d1759e70c285a1c01 [INFO] running `Command { std: "docker" "start" "-a" "566531ffed208d3fd3b0f6782f33278822437cccc2b9437d1759e70c285a1c01", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling aws-lc-rs v1.16.1 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling netrc v0.4.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling aws-lc-sys v0.38.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [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 zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling bon-macros v3.9.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling bon v3.9.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling labkey-rs v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 12s [INFO] running `Command { std: "docker" "inspect" "566531ffed208d3fd3b0f6782f33278822437cccc2b9437d1759e70c285a1c01", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "566531ffed208d3fd3b0f6782f33278822437cccc2b9437d1759e70c285a1c01", kill_on_drop: false }` [INFO] [stdout] 566531ffed208d3fd3b0f6782f33278822437cccc2b9437d1759e70c285a1c01 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 58c60899b5bc1dfd71a6ea5d66b7ba091a423610cd6dd5f737eb8d08084584dc [INFO] running `Command { std: "docker" "start" "-a" "58c60899b5bc1dfd71a6ea5d66b7ba091a423610cd6dd5f737eb8d08084584dc", kill_on_drop: false }` [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling labkey-rs v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 01s [INFO] running `Command { std: "docker" "inspect" "58c60899b5bc1dfd71a6ea5d66b7ba091a423610cd6dd5f737eb8d08084584dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "58c60899b5bc1dfd71a6ea5d66b7ba091a423610cd6dd5f737eb8d08084584dc", kill_on_drop: false }` [INFO] [stdout] 58c60899b5bc1dfd71a6ea5d66b7ba091a423610cd6dd5f737eb8d08084584dc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 51bc51e0a4b68d2d5a592123ebc8fee10db9ae0681d7a341990705cd44bdc339 [INFO] running `Command { std: "docker" "start" "-a" "51bc51e0a4b68d2d5a592123ebc8fee10db9ae0681d7a341990705cd44bdc339", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/labkey_rs-f8b8bf3f7975d534) [INFO] [stdout] [INFO] [stdout] running 526 tests [INFO] [stdout] test assay::tests::fit_type_round_trips_all_variants ... ok [INFO] [stdout] test assay::tests::fit_type_variant_count_regression ... ok [INFO] [stdout] test assay::tests::assay_link_round_trips_all_variants ... ok [INFO] [stdout] test assay::tests::assay_protocol_round_trips_all_expected_fields ... ok [INFO] [stdout] test assay::tests::get_assay_batch_body_serializes_expected_keys ... ok [INFO] [stdout] test assay::tests::get_assays_body_sends_flat_fields ... ok [INFO] [stdout] test assay::tests::assay_design_deserializes_with_link_keys ... ok [INFO] [stdout] test assay::tests::get_assay_run_validation_rejects_blank_lsid ... ok [INFO] [stdout] test assay::tests::get_assay_batch_envelope_extracts_batch ... ok [INFO] [stdout] test assay::tests::get_nab_runs_params_omit_max_rows_when_not_provided ... ok [INFO] [stdout] test assay::tests::get_nab_runs_params_use_query_max_rows_for_positive_limits ... ok [INFO] [stdout] test assay::tests::fit_type_serializes_exact_wire_values ... ok [INFO] [stdout] test assay::tests::assay_design_deserializes_minimal_with_defaults ... ok [INFO] [stdout] test assay::tests::assay_link_variant_count_regression ... ok [INFO] [stdout] test assay::tests::get_assays_body_omits_unset_fields ... ok [INFO] [stdout] test assay::tests::get_nab_runs_params_use_query_prefixes_and_filter_encoding ... ok [INFO] [stdout] test assay::tests::batch_type_alias_is_run_group ... ok [INFO] [stdout] test assay::tests::assay_link_serializes_exact_wire_values ... ok [INFO] [stdout] test assay::tests::get_protocol_params_support_provider_and_id_modes ... ok [INFO] [stdout] test assay::tests::import_run_json_mode_with_file_sends_json_and_binary_parts ... ok [INFO] [stdout] test assay::tests::get_nab_runs_validation_rejects_blank_assay_name ... ok [INFO] [stdout] test assay::tests::import_run_json_mode_with_non_file_source_sends_single_json_part ... ok [INFO] [stdout] test assay::tests::get_study_nab_graph_url_params_omit_optional_fields_when_absent ... ok [INFO] [stdout] test assay::tests::import_run_response_deserializes_happy_path ... ok [INFO] [stdout] test assay::tests::import_run_non_json_mode_uses_expected_part_names_and_bracket_keys ... ok [INFO] [stdout] test assay::tests::import_run_response_deserializes_minimal_path ... ok [INFO] [stdout] test assay::tests::import_run_bracket_keys_handle_special_characters ... ok [INFO] [stdout] test assay::tests::import_run_response_deserializes_success_url_lowercase_wire_key_and_assay_id ... ok [INFO] [stdout] test assay::tests::get_protocol_validation_rejects_blank_provider_name ... ok [INFO] [stdout] test assay::tests::import_run_use_json_false_matches_default_multipart_mode ... ok [INFO] [stdout] test assay::tests::get_study_nab_graph_url_params_emit_repeated_id_keys ... ok [INFO] [stdout] test assay::tests::get_study_nab_runs_params_emit_repeated_object_ids_keys ... ok [INFO] [stdout] test assay::tests::object_id_validation_rejects_empty_and_blank_values ... ok [INFO] [stdout] test assay::tests::protocol_envelope_extraction_requires_response_data ... ok [INFO] [stdout] test assay::tests::get_study_nab_runs_params_omit_optional_fields_when_absent ... ok [INFO] [stdout] test assay::tests::save_assay_batch_response_deserializes_envelope ... ok [INFO] [stdout] test assay::tests::save_assay_runs_body_serializes_protocol_and_runs ... ok [INFO] [stdout] test assay::tests::validate_save_assay_runs_rejects_blank_protocol_name ... ok [INFO] [stdout] test assay::tests::validate_save_assay_batch_rejects_blank_protocol_name ... ok [INFO] [stdout] test assay::tests::validate_save_assay_runs_rejects_empty_runs ... ok [INFO] [stdout] test assay::tests::save_assay_batch_body_serializes_assay_id_mode ... ok [INFO] [stdout] test assay::tests::save_assay_batch_body_serializes_protocol_name_mode ... ok [INFO] [stdout] test assay::tests::import_run_source_variants_map_to_expected_part_names ... ok [INFO] [stdout] test assay::tests::import_run_validation_rejects_invalid_inputs ... ok [INFO] [stdout] test assay::tests::validate_get_assay_batch_rejects_blank_protocol_name ... ok [INFO] [stdout] test assay::tests::save_assay_runs_response_deserializes_runs_array ... ok [INFO] [stdout] test assay::tests::save_protocol_body_serializes_directly_from_assay_protocol ... ok [INFO] [stdout] test assay::tests::validate_save_assay_batch_rejects_non_positive_assay_id ... ok [INFO] [stdout] test assay::tests::validate_save_assay_batch_accepts_valid_inputs ... ok [INFO] [stdout] test client::tests::check_for_embedded_exception_detects_exception_in_200_body ... ok [INFO] [stdout] test client::tests::check_for_embedded_exception_ignores_exception_as_value_not_key ... ok [INFO] [stdout] test client::tests::check_for_embedded_exception_returns_none_for_empty_body ... ok [INFO] [stdout] test client::tests::check_for_embedded_exception_returns_none_for_normal_response ... ok [INFO] [stdout] test client::tests::check_for_embedded_exception_returns_none_when_exception_is_null ... ok [INFO] [stdout] test client::tests::client_config_new_defaults_are_stable ... ok [INFO] [stdout] test client::tests::client_config_struct_literal_still_constructs_in_crate ... ok [INFO] [stdout] test client::tests::check_for_embedded_exception_handles_exception_with_errors_array ... ok [INFO] [stdout] test client::tests::build_url_encodes_ampersand_in_container ... ok [INFO] [stdout] test client::tests::csrf_token_header_is_absent_when_not_configured ... ok [INFO] [stdout] test client::tests::build_post_request_matches_expected_url_and_headers ... ok [INFO] [stdout] test client::tests::from_netrc_reader_finds_matching_host ... ok [INFO] [stdout] test client::tests::from_netrc_reader_returns_error_for_empty_content ... ok [INFO] [stdout] test client::tests::from_netrc_reader_returns_error_for_missing_password ... ok [INFO] [stdout] test client::tests::from_netrc_reader_returns_error_for_unknown_host ... ok [INFO] [stdout] test client::tests::from_netrc_reader_selects_first_matching_host_from_multiple_entries ... ok [INFO] [stdout] test client::tests::build_url_no_context_path ... ok [INFO] [stdout] test assay::tests::get_assay_run_body_contains_required_lsid ... ok [INFO] [stdout] test client::tests::new_accepts_self_signed_certs_option ... ok [INFO] [stdout] test client::tests::build_post_request_with_params_matches_expected_query_and_headers ... ok [INFO] [stdout] test client::tests::build_url_with_container_override ... ok [INFO] [stdout] test client::tests::new_rejects_invalid_url ... ok [INFO] [stdout] test client::tests::request_options_default_values ... ok [INFO] [stdout] test common::tests::audit_behavior_round_trip_none ... ok [INFO] [stdout] test common::tests::audit_behavior_round_trip_detailed ... ok [INFO] [stdout] test common::tests::audit_behavior_round_trip_summary ... ok [INFO] [stdout] test client::tests::build_url_bare_container ... ok [INFO] [stdout] test client::tests::build_url_encodes_special_characters_in_container ... ok [INFO] [stdout] test client::tests::build_get_request_applies_timeout_option ... ok [INFO] [stdout] test client::tests::build_get_request_matches_expected_url_and_headers ... ok [INFO] [stdout] test assay::tests::all_assay_endpoint_urls_match_expected_routes ... ok [INFO] [stdout] test di::tests::reset_transform_state_response_deserializes_success ... ok [INFO] [stdout] test di::tests::reset_transform_state_response_deserializes_minimal ... ok [INFO] [stdout] test common::tests::audit_behavior_variant_count_regression ... ok [INFO] [stdout] test common::tests::container_filter_to_string_returns_expected_wire_value ... ok [INFO] [stdout] test client::tests::build_url_basic ... ok [INFO] [stdout] test client::tests::build_url_strips_extra_slashes ... ok [INFO] [stdout] test client::tests::build_url_root_container ... ok [INFO] [stdout] test common::tests::opt_returns_none_for_none_value ... ok [INFO] [stdout] test client::tests::csrf_token_header_is_sent_when_configured ... ok [INFO] [stdout] test common::tests::opt_returns_key_value_pair_for_some_value ... ok [INFO] [stdout] test di::tests::update_body_includes_only_enabled_when_verbose_logging_unset ... ok [INFO] [stdout] test di::tests::transform_id_body_sends_string_transform_id_for_numeric_selector ... ok [INFO] [stdout] test di::tests::run_transform_response_deserializes_minimal ... ok [INFO] [stdout] test di::tests::transform_id_body_sends_string_transform_id_for_name_selector ... ok [INFO] [stdout] test di::tests::update_body_sends_only_transform_id_when_no_optionals_set ... ok [INFO] [stdout] test di::tests::validation_accepts_valid_selectors ... ok [INFO] [stdout] test di::tests::run_transform_response_deserializes_all_java_fields ... ok [INFO] [stdout] test di::tests::validation_rejects_blank_name ... ok [INFO] [stdout] test di::tests::update_body_includes_enabled_and_verbose_logging_when_set ... ok [INFO] [stdout] test di::tests::update_transform_configuration_response_deserializes_with_result_envelope ... ok [INFO] [stdout] test domain::tests::domain_design_and_field_use_uri_wire_keys ... ok [INFO] [stdout] test domain::tests::conditional_format_round_trips_serde ... ok [INFO] [stdout] test domain::tests::domain_kind_variant_count_regression ... ok [INFO] [stdout] test domain::tests::drop_domain_body_uses_expected_keys ... ok [INFO] [stdout] test di::tests::validation_rejects_non_positive_id ... ok [INFO] [stdout] test domain::tests::get_properties_body_omits_property_uris_when_none ... ok [INFO] [stdout] test domain::tests::domain_design_round_trip ... ok [INFO] [stdout] test domain::tests::domain_field_deserializes_java_typed_fields ... ok [INFO] [stdout] test error::tests::api_error_body_deserializes_from_json ... ok [INFO] [stdout] test domain::tests::validate_name_expressions_body_serializes_include_name_preview ... ok [INFO] [stdout] test domain::tests::domain_kind_round_trips_all_variants ... ok [INFO] [stdout] test domain::tests::property_usages_envelope_extracts_data ... ok [INFO] [stdout] test error::tests::api_error_body_display_with_message_and_class ... ok [INFO] [stdout] test domain::tests::property_usages_missing_data_returns_unexpected_response ... ok [INFO] [stdout] test error::tests::api_error_body_deserializes_with_missing_fields ... ok [INFO] [stdout] test domain::tests::get_properties_body_serializes_property_uris_with_acronym_casing ... ok [INFO] [stdout] test error::tests::api_error_body_display_with_message_only ... ok [INFO] [stdout] test error::tests::is_api_version_error_returns_true_for_api_version_exception ... ok [INFO] [stdout] test error::tests::is_api_version_error_uses_strict_equality_not_substring ... ok [INFO] [stdout] test error::tests::is_api_version_error_returns_false_for_non_api_variants ... ok [INFO] [stdout] test error::tests::labkey_error_display_unexpected_response ... ok [INFO] [stdout] test error::tests::is_api_version_error_returns_false_when_exception_class_is_none ... ok [INFO] [stdout] test error::tests::labkey_error_display_api_variant ... ok [INFO] [stdout] test error::tests::labkey_error_from_url_parse_error ... ok [INFO] [stdout] test error::tests::labkey_error_from_serde_json_error ... ok [INFO] [stdout] test error::tests::api_error_body_display_without_message ... ok [INFO] [stdout] test experiment::tests::batch_and_runs_envelope_extraction_handles_success_and_missing_fields ... ok [INFO] [stdout] test experiment::tests::create_hidden_run_group_body_uses_exactly_one_input_mode ... ok [INFO] [stdout] test di::tests::update_transform_configuration_response_deserializes_minimal ... ok [INFO] [stdout] test domain::tests::domain_kind_serializes_to_expected_wire_values ... ok [INFO] [stdout] test experiment::tests::entity_kind_name_round_trips_all_variants ... ok [INFO] [stdout] test experiment::tests::entity_kind_name_serializes_exact_wire_values ... ok [INFO] [stdout] test experiment::tests::exp_data_deserializes_absolute_path ... ok [INFO] [stdout] test experiment::tests::exp_object_deserializes_row_id ... ok [INFO] [stdout] test experiment::tests::exp_object_row_id_defaults_when_absent ... ok [INFO] [stdout] test experiment::tests::exp_type_round_trips_all_variants ... ok [INFO] [stdout] test experiment::tests::entity_kind_name_rejects_unknown_wire_value ... ok [INFO] [stdout] test experiment::tests::exp_type_variant_count_regression ... ok [INFO] [stdout] test experiment::tests::get_entity_sequence_params_include_seq_type_and_optional_fields ... ok [INFO] [stdout] test experiment::tests::experiment_batch_and_run_validation_rejects_invalid_input ... ok [INFO] [stdout] test experiment::tests::lineage_node_deserializes_exp_type_into_typed_field ... ok [INFO] [stdout] test experiment::tests::lineage_run_step_defaults_activity_fields_when_absent ... ok [INFO] [stdout] test experiment::tests::lineage_run_step_deserializes_with_activity_metadata ... ok [INFO] [stdout] test experiment::tests::lineage_single_lsid_edge_case_uses_deprecated_singular_param ... ok [INFO] [stdout] test experiment::tests::lineage_params_include_repeated_lsids_and_exp_type_wire_value ... ok [INFO] [stdout] test experiment::tests::lineage_response_deserializes_nodes_hashmap ... ok [INFO] [stdout] test experiment::tests::resolve_params_include_repeated_lsids_and_converter_flags ... ok [INFO] [stdout] test experiment::tests::resolve_envelope_extracts_data ... ok [INFO] [stdout] test experiment::tests::entity_kind_name_variant_count_regression ... ok [INFO] [stdout] test experiment::tests::resolve_validation_rejects_missing_or_blank_lsids ... ok [INFO] [stdout] test experiment::tests::run_group_batch_protocol_id_defaults_to_zero_when_absent ... ok [INFO] [stdout] test experiment::tests::run_group_round_trips_serde ... ok [INFO] [stdout] test experiment::tests::run_new_fields_default_when_absent ... ok [INFO] [stdout] test experiment::tests::resolve_missing_data_returns_unexpected_response ... ok [INFO] [stdout] test error::tests::is_api_version_error_returns_false_for_other_exception_class ... ok [INFO] [stdout] test experiment::tests::save_materials_delegates_to_insert_rows_samples_schema ... ok [INFO] [stdout] test experiment::tests::save_batch_body_wraps_single_batch_in_array ... ok [INFO] [stdout] test experiment::tests::save_batch_body_omits_assay_id_when_none ... ok [INFO] [stdout] test experiment::tests::run_deserializes_five_new_fields ... ok [INFO] [stdout] test experiment::tests::run_group_batch_protocol_id_deserializes_present_value ... ok [INFO] [stdout] test experiment::tests::lineage_validation_rejects_missing_and_conflicting_lsid_inputs ... ok [INFO] [stdout] test experiment::tests::validate_assay_identity_rejects_whitespace_only_name ... ok [INFO] [stdout] test experiment::tests::set_entity_sequence_body_serializes_seq_type_and_omits_absent_optionals ... ok [INFO] [stdout] test experiment::tests::exp_data_absolute_path_defaults_when_absent ... ok [INFO] [stdout] test filter::tests::all_array_contains_variants_are_semicolon_separated ... ok [INFO] [stdout] test filter::tests::all_array_covers_every_variant ... ok [INFO] [stdout] test experiment::tests::seq_type_round_trips_all_variants ... ok [INFO] [stdout] test experiment::tests::seq_type_variant_count_regression ... ok [INFO] [stdout] test filter::tests::between_filter_with_comma_separated_values ... ok [INFO] [stdout] test experiment::tests::lineage_node_deserializes_nested_parents_and_children ... ok [INFO] [stdout] test client::tests::new_accepts_proxy_url_option ... ok [INFO] [stdout] test filter::tests::between_variants_are_comma_separated ... ok [INFO] [stdout] test filter::tests::container_filter_deserializes_from_string ... ok [INFO] [stdout] test filter::tests::container_filter_round_trips_all_variants ... ok [INFO] [stdout] test filter::tests::description_empty_filters_returns_empty_string ... ok [INFO] [stdout] test filter::tests::default_filter_is_always_in_the_types_list ... ok [INFO] [stdout] test filter::tests::description_no_value_filter_omits_trailing_space ... ok [INFO] [stdout] test filter::tests::description_multiple_filters_joined_with_and ... ok [INFO] [stdout] test filter::tests::display_text_covers_all_variants ... ok [INFO] [stdout] test filter::tests::display_text_date_variants_match_non_date_counterparts ... ok [INFO] [stdout] test filter::tests::display_text_matches_upstream_js_values ... ok [INFO] [stdout] test filter::tests::empty_single_value_produces_empty_string ... ok [INFO] [stdout] test filter::tests::empty_multi_vec_produces_empty_string ... ok [INFO] [stdout] test filter::tests::encode_filters_empty_array_returns_empty ... ok [INFO] [stdout] test filter::tests::container_filter_rejects_unknown_variant_on_deserialization ... ok [INFO] [stdout] test filter::tests::description_single_filter ... ok [INFO] [stdout] test filter::tests::encode_filters_handles_duplicate_column_and_type_as_separate_entries ... ok [INFO] [stdout] test filter::tests::encode_filters_keeps_no_value_filter_types ... ok [INFO] [stdout] test filter::tests::encode_filters_preserves_special_characters_in_column_names_and_values ... ok [INFO] [stdout] test filter::tests::container_filter_serializes_to_expected_string ... ok [INFO] [stdout] test filter::tests::between_json_encoding_contains_correct_values ... ok [INFO] [stdout] test filter::tests::default_filter_for_column_type_matches_js_defaults ... ok [INFO] [stdout] test filter::tests::encode_filters_produces_correct_pairs ... ok [INFO] [stdout] test filter::tests::encode_filters_with_custom_data_region ... ok [INFO] [stdout] test filter::tests::filter_type_url_suffix_snapshot ... ok [INFO] [stdout] test filter::tests::filter_types_for_date_uses_date_specific_operators ... ok [INFO] [stdout] test filter::tests::filter_types_float_and_int_have_same_operators ... ok [INFO] [stdout] test filter::tests::equal_filter_encoding ... ok [INFO] [stdout] test filter::tests::filter_types_for_int_excludes_text_operators ... ok [INFO] [stdout] test filter::tests::encode_filters_skips_value_required_filter_with_no_value ... ok [INFO] [stdout] test filter::tests::filter_types_for_array_uses_array_operators ... ok [INFO] [stdout] test filter::tests::filter_type_accessor_returns_correct_op ... ok [INFO] [stdout] test filter::tests::filter_types_for_boolean_is_limited ... ok [INFO] [stdout] test filter::tests::filter_types_mv_enabled_appends_missing_value_operators ... ok [INFO] [stdout] test filter::tests::from_name_accepts_js_aliases ... ok [INFO] [stdout] test filter::tests::from_parameters_handles_json_encoded_multi_value ... ok [INFO] [stdout] test filter::tests::from_parameters_handles_multi_valued_in_filter ... ok [INFO] [stdout] test filter::tests::from_parameters_round_trips_with_encode_filters ... ok [INFO] [stdout] test filter::tests::from_parameters_handles_no_value_filter ... ok [INFO] [stdout] test filter::tests::from_parameters_skips_params_without_tilde ... ok [INFO] [stdout] test filter::tests::from_parameters_skips_wrong_data_region ... ok [INFO] [stdout] test filter::tests::from_parameters_empty_input_returns_empty ... ok [INFO] [stdout] test filter::tests::from_parameters_handles_between_filter ... ok [INFO] [stdout] test filter::tests::from_parameters_handles_table_wise_q_filter ... ok [INFO] [stdout] test filter::tests::filter_types_for_string_includes_text_operators ... ok [INFO] [stdout] test filter::tests::from_name_returns_none_for_unknown ... ok [INFO] [stdout] test filter::tests::has_missing_value_filter_has_empty_value ... ok [INFO] [stdout] test client::tests::custom_user_agent_is_applied_to_client_configuration ... ok [INFO] [stdout] test filter::tests::in_filter_with_semicolon_separated_values ... ok [INFO] [stdout] test filter::tests::from_parameters_skips_unknown_suffixes ... ok [INFO] [stdout] test filter::tests::in_filter_uses_json_encoding_when_value_contains_separator ... ok [INFO] [stdout] test filter::tests::is_blank_filter_has_empty_value ... ok [INFO] [stdout] test filter::tests::merge_with_empty_base_returns_column_filters ... ok [INFO] [stdout] test filter::tests::merge_with_empty_replacement_removes_column ... ok [INFO] [stdout] test filter::tests::merge_replaces_column_filters ... ok [INFO] [stdout] test filter::tests::multi_value_on_non_multi_filter_falls_back_to_semicolon ... ok [INFO] [stdout] test filter::tests::merge_with_no_matching_column_preserves_all ... ok [INFO] [stdout] test filter::tests::json_column_type_from_type_string_case_insensitive ... ok [INFO] [stdout] test filter::tests::from_url_suffix_returns_none_for_unknown ... ok [INFO] [stdout] test filter::tests::json_column_type_from_type_string_covers_all_variants ... ok [INFO] [stdout] test filter::tests::json_column_type_from_type_string_accepts_aliases ... ok [INFO] [stdout] test filter::tests::programmatic_name_matches_java_canonical_names ... ok [INFO] [stdout] test filter::tests::q_filter_forces_column_to_star ... ok [INFO] [stdout] test filter::tests::single_element_multi_value ... ok [INFO] [stdout] test filter::tests::value_required_filter_types ... ok [INFO] [stdout] test filter::tests::where_filter_is_table_wise_and_uses_star_column ... ok [INFO] [stdout] test filter::tests::url_suffix_round_trips_through_from_url_suffix ... ok [INFO] [stdout] test list::tests::create_list_falls_back_to_options_name_when_no_domain_design_provided ... ok [INFO] [stdout] test list::tests::create_list_delegation_maps_int_list_expected_fields ... ok [INFO] [stdout] test list::tests::create_list_gives_domain_design_name_precedence_over_options_name ... ok [INFO] [stdout] test filter::tests::no_value_filter_types ... ok [INFO] [stdout] test list::tests::create_list_preserves_domain_design_with_none_name ... ok [INFO] [stdout] test list::tests::auto_increment_integer_maps_to_int_list_domain_with_key_type ... ok [INFO] [stdout] test list::tests::list_key_type_variant_count_regression ... ok [INFO] [stdout] test list::tests::validation_rejects_domain_design_with_shorthand_fields ... ok [INFO] [stdout] test list::tests::shorthand_indices_fold_into_domain_design ... ok [INFO] [stdout] test list::tests::shorthand_description_folds_into_domain_design ... ok [INFO] [stdout] test filter::tests::programmatic_name_round_trips_through_from_name ... ok [INFO] [stdout] test list::tests::validation_accepts_domain_design_without_shorthands ... ok [INFO] [stdout] test message::tests::message_enums_round_trip_and_counts_remain_stable ... ok [INFO] [stdout] test message::tests::recipient_principal_id_serializes_with_type_and_principal_id_keys ... ok [INFO] [stdout] test list::tests::int_list_does_not_inject_key_type ... ok [INFO] [stdout] test list::tests::shorthand_fields_fold_into_domain_design ... ok [INFO] [stdout] test message::tests::send_message_body_serializes_expected_keys ... ok [INFO] [stdout] test message::tests::send_message_response_deserializes_happy_and_minimal_shapes ... ok [INFO] [stdout] test list::tests::var_list_injects_key_type_varchar_into_options ... ok [INFO] [stdout] test list::tests::validation_rejects_domain_design_with_shorthand_fields_via_fields ... ok [INFO] [stdout] test participant_group::tests::extract_group_returns_group_and_errors_when_missing ... ok [INFO] [stdout] test list::tests::create_list_rejects_blank_name_or_key_name ... ok [INFO] [stdout] test participant_group::tests::participant_group_body_omits_unset_optionals ... ok [INFO] [stdout] test pipeline::tests::get_file_status_params_emit_repeated_file_keys_and_required_fields ... ok [INFO] [stdout] test pipeline::tests::get_file_status_validation_rejects_blank_path_and_empty_files ... ok [INFO] [stdout] test pipeline::tests::pipeline_container_response_deserializes_happy_path ... ok [INFO] [stdout] test pipeline::tests::pipeline_container_response_deserializes_minimal_path ... ok [INFO] [stdout] test pipeline::tests::start_analysis_params_prefer_configure_xml_when_both_config_formats_are_set ... ok [INFO] [stdout] test pipeline::tests::get_protocols_params_include_workbooks_defaults_to_false ... ok [INFO] [stdout] test pipeline::tests::start_analysis_params_pass_string_json_parameters_through_without_double_encoding ... ok [INFO] [stdout] test pipeline::tests::get_protocols_validation_rejects_blank_task_id ... ok [INFO] [stdout] test pipeline::tests::start_analysis_params_use_configure_keys_and_json_string_encoding ... ok [INFO] [stdout] test pipeline::tests::start_analysis_rejects_blank_protocol_name ... ok [INFO] [stdout] test pipeline::tests::start_analysis_rejects_missing_files_and_file_ids ... ok [INFO] [stdout] test query::tests::cell_value_deserializes_with_all_fields ... ok [INFO] [stdout] test query::tests::command_type_deserializes_exact_wire_values ... ok [INFO] [stdout] test query::tests::command_type_rejects_unknown_wire_value ... ok [INFO] [stdout] test query::tests::command_type_serializes_exact_wire_values ... ok [INFO] [stdout] test query::tests::command_type_variant_count_regression ... ok [INFO] [stdout] test query::tests::container_filter_to_string_produces_variant_name ... ok [INFO] [stdout] test pipeline::tests::get_protocols_params_emit_include_workbooks_true_when_set ... ok [INFO] [stdout] test query::tests::data_view_type_rejects_unknown_wire_value ... ok [INFO] [stdout] test query::tests::data_view_type_serializes_exact_wire_values ... ok [INFO] [stdout] test query::tests::data_view_type_deserializes_exact_wire_values ... ok [INFO] [stdout] test query::tests::execute_sql_body_includes_details_column_when_set ... ok [INFO] [stdout] test query::tests::execute_sql_body_omits_negative_max_rows_and_zero_offset ... ok [INFO] [stdout] test query::tests::get_data_body_omits_absent_optional_fields ... ok [INFO] [stdout] test query::tests::data_view_type_variant_count_regression ... ok [INFO] [stdout] test filter::tests::json_column_type_from_type_string_returns_none_for_unknown ... ok [INFO] [stdout] test query::tests::delete_query_view_body_complete_only_emits_when_revert_is_set ... ok [INFO] [stdout] test query::tests::cell_value_deserializes_minimal ... ok [INFO] [stdout] test query::tests::get_data_body_serializes_query_source_and_optional_sections ... ok [INFO] [stdout] test query::tests::get_data_source_reports_expected_source_type ... ok [INFO] [stdout] test query::tests::get_data_source_type_variant_count_regression ... ok [INFO] [stdout] test query::tests::get_data_views_body_omits_data_types_when_absent ... ok [INFO] [stdout] test query::tests::get_data_views_body_serializes_required_flags_and_optional_data_types ... ok [INFO] [stdout] test query::tests::get_schemas_fixture_deserializes_to_keyed_object ... ok [INFO] [stdout] test query::tests::get_server_date_response_deserializes ... ok [INFO] [stdout] test query::tests::import_data_response_deserializes_without_job_id ... ok [INFO] [stdout] test query::tests::get_queries_response_deserializes_with_nested_queries ... ok [INFO] [stdout] test query::tests::import_data_response_deserializes_with_job_id ... ok [INFO] [stdout] test query::tests::import_data_response_deserializes_without_row_count ... ok [INFO] [stdout] test query::tests::insert_option_deserializes_exact_wire_values ... ok [INFO] [stdout] test query::tests::insert_option_rejects_unknown_wire_value ... ok [INFO] [stdout] test query::tests::insert_option_variant_count_regression ... ok [INFO] [stdout] test query::tests::insert_option_serializes_exact_wire_values ... ok [INFO] [stdout] test query::tests::modify_rows_results_deserializes_minimal_with_zero_rows_affected ... ok [INFO] [stdout] test query::tests::modify_rows_results_deserializes_happy_path ... ok [INFO] [stdout] test query::tests::move_rows_response_deserializes_happy_path ... ok [INFO] [stdout] test query::tests::move_rows_response_deserializes_minimal_without_optional_fields ... ok [INFO] [stdout] test query::tests::mutate_rows_body_includes_required_and_omits_absent_optional_fields ... ok [INFO] [stdout] test query::tests::query_column_booleans_default_false_when_absent ... ok [INFO] [stdout] test query::tests::query_column_deserializes_all_is_aliases ... ok [INFO] [stdout] test query::tests::query_column_deserializes_camel_case_booleans ... ok [INFO] [stdout] test query::tests::query_column_deserializes_is_hidden_alias ... ok [INFO] [stdout] test query::tests::query_column_deserializes_nested_lookup ... ok [INFO] [stdout] test query::tests::query_column_deserializes_with_defaults ... ok [INFO] [stdout] test query::tests::query_column_lookup_absent_is_none ... ok [INFO] [stdout] test query::tests::query_details_column_deserializes_optional_fields_absent ... ok [INFO] [stdout] test query::tests::query_details_column_deserializes_optional_fields_present ... ok [INFO] [stdout] test query::tests::query_details_response_collects_unknown_top_level_fields_in_extra ... ok [INFO] [stdout] test query::tests::query_details_response_deserializes_fixture ... ok [INFO] [stdout] test query::tests::query_lookup_accepts_is_public_primary_key ... ok [INFO] [stdout] test query::tests::query_lookup_accepts_public_alias_for_is_public ... ok [INFO] [stdout] test query::tests::query_lookup_deserializes_new_fields ... ok [INFO] [stdout] test query::tests::query_lookup_new_fields_default_none_when_absent ... ok [INFO] [stdout] test query::tests::request_method_defaults_to_get ... ok [INFO] [stdout] test query::tests::response_metadata_deserializes_import_fields ... ok [INFO] [stdout] test query::tests::response_metadata_import_fields_default_when_absent ... ok [INFO] [stdout] test query::tests::row_deserializes_with_links ... ok [INFO] [stdout] test query::tests::save_query_views_body_emits_true_flags_and_metadata ... ok [INFO] [stdout] test query::tests::save_query_views_body_omits_false_boolean_flags ... ok [INFO] [stdout] test client::tests::default_user_agent_includes_crate_version ... ok [INFO] [stdout] test query::tests::save_rows_response_deserializes_with_empty_commands ... ok [INFO] [stdout] test di::tests::di_endpoint_urls_match_expected_actions_without_api_suffix ... ok [INFO] [stdout] test query::tests::select_distinct_options_includes_method_field ... ok [INFO] [stdout] test query::tests::select_distinct_options_method_defaults_to_none ... ok [INFO] [stdout] test query::tests::select_distinct_response_deserializes ... ok [INFO] [stdout] test query::tests::select_rows_response_deserializes_minimal ... ok [INFO] [stdout] test query::tests::save_session_view_body_uses_flat_query_dot_keys ... ok [INFO] [stdout] test query::tests::select_rows_response_deserializes_with_metadata ... ok [INFO] [stdout] test query::tests::select_rows_response_with_empty_rows ... ok [INFO] [stdout] test query::tests::show_rows_variants_are_distinct ... ok [INFO] [stdout] test query::tests::sql_literal_helpers_escape_single_quotes_and_format_wrappers ... ok [INFO] [stdout] test query::tests::sql_literal_helpers_return_null_for_empty_input ... ok [INFO] [stdout] test query::tests::truncate_mutate_rows_body_omits_rows ... ok [INFO] [stdout] test query::tests::truncate_table_response_deserializes_java_wire_format ... ok [INFO] [stdout] test query::tests::url_column_prefix_regression ... ok [INFO] [stdout] test filter::tests::has_any_value_filter_has_empty_suffix ... ok [INFO] [stdout] test query::tests::truncate_table_response_deserializes_minimal ... ok [INFO] [stdout] test query::tests::validate_query_response_deserializes_with_extra_fields ... ok [INFO] [stdout] test query::tests::waf_encode_empty_string ... ok [INFO] [stdout] test query::tests::waf_encode_special_characters ... ok [INFO] [stdout] test query::tests::waf_encode_unicode ... ok [INFO] [stdout] test report::tests::decode_json_output_params_errors_on_invalid_json_string ... ok [INFO] [stdout] test report::tests::delete_session_uses_query_param_shape ... ok [INFO] [stdout] test report::tests::decode_json_output_params_decodes_json_typed_values ... ok [INFO] [stdout] test report::tests::delete_session_validation_requires_non_blank_report_session_id ... ok [INFO] [stdout] test report::tests::execute_function_body_flattens_input_params_using_bracket_notation ... ok [INFO] [stdout] test query::tests::waf_encode_round_trips ... ok [INFO] [stdout] test report::tests::execute_function_validation_requires_non_blank_function_name ... ok [INFO] [stdout] test report::tests::execute_body_flattens_input_params_using_bracket_notation ... ok [INFO] [stdout] test report::tests::execute_validation_requires_report_id_or_report_name ... ok [INFO] [stdout] test report::tests::response_models_deserialize_happy_and_minimal_shapes ... ok [INFO] [stdout] test security::constants::tests::permission_roles_exhaustive_values ... ok [INFO] [stdout] test query::tests::save_rows_command_serializes_command_wire_value ... ok [INFO] [stdout] test security::constants::tests::permission_types_exhaustive_values ... ok [INFO] [stdout] test security::constants::tests::system_groups_exhaustive_values ... ok [INFO] [stdout] test security::container::tests::extract_readable_containers_rejects_missing_envelope ... ok [INFO] [stdout] test security::container::tests::extract_readable_containers_rejects_non_array_envelope ... ok [INFO] [stdout] test security::container::tests::create_container_body_serializes_required_and_optional_fields ... ok [INFO] [stdout] test security::container::tests::extract_readable_containers_returns_paths_from_envelope ... ok [INFO] [stdout] test security::container::tests::get_containers_extracts_single_object_response ... ok [INFO] [stdout] test security::container::tests::get_containers_params_single_container_omits_multiple_containers_flag ... ok [INFO] [stdout] test security::container::tests::get_containers_extracts_envelope_response ... ok [INFO] [stdout] test security::container::tests::get_containers_params_include_multiple_containers_flag_when_needed ... ok [INFO] [stdout] test security::container::tests::get_containers_rejects_null_envelope_field ... ok [INFO] [stdout] test security::container::tests::get_containers_rejects_invalid_envelope_field ... ok [INFO] [stdout] test security::container::tests::get_modules_response_deserializes_with_nested_module_info ... ok [INFO] [stdout] test security::container::tests::get_modules_response_deserializes_minimal_defaults ... ok [INFO] [stdout] test security::container::tests::get_folder_types_response_deserializes_schema_keyed_map ... ok [INFO] [stdout] test security::container::tests::get_readable_containers_params_uses_first_container_and_optionals ... ok [INFO] [stdout] test security::container::tests::move_container_body_serializes_add_alias_true ... ok [INFO] [stdout] test security::container::tests::rename_container_body_serializes_body_fields ... ok [INFO] [stdout] test security::container::tests::move_container_body_serializes_required_and_optional_fields ... ok [INFO] [stdout] test security::container::tests::rename_container_requires_name_or_title ... ok [INFO] [stdout] test security::group::tests::add_group_members_body_uses_group_id_and_principal_ids ... ok [INFO] [stdout] test security::group::tests::add_group_members_rejects_empty_principal_ids ... ok [INFO] [stdout] test security::container::tests::move_container_rejects_mismatched_container_and_container_path ... ok [INFO] [stdout] test security::group::tests::create_group_rejects_empty_group_name ... ok [INFO] [stdout] test security::group::tests::create_group_body_serializes_name_key_not_group_name ... ok [INFO] [stdout] test security::group::tests::get_groups_for_current_user_response_deserializes_minimal_group_entries ... ok [INFO] [stdout] test security::group::tests::remove_group_members_rejects_empty_principal_ids ... ok [INFO] [stdout] test security::group::tests::rename_group_body_serializes_expected_wire_keys ... ok [INFO] [stdout] test security::group::tests::rename_group_rejects_empty_new_name ... ok [INFO] [stdout] test security::group::tests::delete_group_response_deserializes ... ok [INFO] [stdout] test security::group::tests::rename_group_response_deserializes ... ok [INFO] [stdout] test security::permission::tests::extract_securable_resources_rejects_missing_envelope ... ok [INFO] [stdout] test security::permission::tests::get_roles_mapping_rejects_unknown_permission_reference ... ok [INFO] [stdout] test security::permission::tests::get_roles_maps_permission_references_to_permission_objects ... ok [INFO] [stdout] test security::permission::tests::group_permissions_response_deserializes_minimal_fixture ... ok [INFO] [stdout] test security::permission::tests::group_permissions_response_deserializes_recursive_children ... ok [INFO] [stdout] test security::permission::tests::securable_resource_deserializes_recursive_children ... ok [INFO] [stdout] test participant_group::tests::participant_group_endpoint_url_matches_expected_action ... ok [INFO] [stdout] test client::tests::guest_credential_sends_no_authorization_header ... ok [INFO] [stdout] test domain::tests::validate_name_expressions_passes_include_name_preview_to_request_body ... ok [INFO] [stdout] test domain::tests::all_domain_endpoint_urls_match_expected_routes ... ok [INFO] [stdout] test security::permission::tests::user_permissions_params_prefer_user_id_over_email ... ok [INFO] [stdout] test security::permission::tests::user_permissions_rejects_blank_user_email ... ok [INFO] [stdout] test security::policy::tests::extract_policy_rejects_missing_policy_field ... ok [INFO] [stdout] test security::policy::tests::get_policy_envelope_deserializes ... ok [INFO] [stdout] test security::policy::tests::policy_validation_rejects_empty_resource_id ... ok [INFO] [stdout] test security::policy::tests::resource_id_body_serializes_camel_case ... ok [INFO] [stdout] test security::policy::tests::save_policy_body_omits_none_fields ... ok [INFO] [stdout] test security::policy::tests::save_policy_body_serializes_typed_policy_correctly ... ok [INFO] [stdout] test security::session::tests::delete_user_body_serializes_id_field ... ok [INFO] [stdout] test security::session::tests::delete_user_response_deserializes_typed_fields_and_extra ... ok [INFO] [stdout] test security::session::tests::impersonate_target_maps_user_id_and_email_query_params ... ok [INFO] [stdout] test security::session::tests::impersonate_target_rejects_blank_email ... ok [INFO] [stdout] test security::session::tests::who_am_i_response_accepts_java_style_id_field ... ok [INFO] [stdout] test security::group::tests::security_group_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test security::session::tests::who_am_i_response_deserializes_minimal_path ... ok [INFO] [stdout] test security::session::tests::who_am_i_response_deserializes_from_fixture ... ok [INFO] [stdout] test security::types::tests::container_deserializes_full_js_shape ... ok [INFO] [stdout] test security::types::tests::container_formats_deserializes ... ok [INFO] [stdout] test security::types::tests::container_hierarchy_deserializes_effective_permissions_and_module_properties ... ok [INFO] [stdout] test security::types::tests::container_hierarchy_defaults_new_fields_when_absent ... ok [INFO] [stdout] test security::types::tests::container_hierarchy_deserializes_recursive_children ... ok [INFO] [stdout] test security::types::tests::folder_type_deserializes_full_js_shape ... ok [INFO] [stdout] test security::types::tests::folder_type_deserializes_minimal_fixture ... ok [INFO] [stdout] test security::types::tests::group_deserializes_full_js_shape ... ok [INFO] [stdout] test security::types::tests::group_deserializes_group_id_alias ... ok [INFO] [stdout] test security::types::tests::has_effective_permission_finds_matching_permission ... ok [INFO] [stdout] test security::types::tests::has_effective_permission_returns_false_when_empty ... ok [INFO] [stdout] test security::types::tests::module_info_deserializes_full_shape ... ok [INFO] [stdout] test security::types::tests::group_deserializes_minimal_fixture ... ok [INFO] [stdout] test security::types::tests::module_info_deserializes_with_widened_properties ... ok [INFO] [stdout] test security::types::tests::module_info_deserializes_minimal_fixture ... ok [INFO] [stdout] test experiment::tests::all_experiment_endpoint_urls_match_expected_routes ... ok [INFO] [stdout] test security::types::tests::module_property_minimal_deserialization ... ok [INFO] [stdout] test security::types::tests::module_property_value_accepts_non_string_json ... ok [INFO] [stdout] test security::types::tests::policy_assignment_deserializes_js_wire_format ... ok [INFO] [stdout] test security::types::tests::policy_deserializes_full_js_shape ... ok [INFO] [stdout] test security::types::tests::policy_deserializes_minimal_fixture ... ok [INFO] [stdout] test security::types::tests::policy_serializes_without_requested_resource_id ... ok [INFO] [stdout] test security::types::tests::role_deserializes_full_js_shape ... ok [INFO] [stdout] test security::types::tests::role_deserializes_minimal_fixture ... ok [INFO] [stdout] test security::types::tests::securable_resource_deserializes_all_js_fields ... ok [INFO] [stdout] test security::types::tests::module_property_value_accepts_nested_json_objects ... ok [INFO] [stdout] test security::types::tests::securable_resource_deserializes_minimal_fixture ... ok [INFO] [stdout] test security::types::tests::user_deserializes_full_js_shape ... ok [INFO] [stdout] test security::types::tests::user_deserializes_minimal_fixture ... ok [INFO] [stdout] test security::user::tests::create_new_user_body_serializes_expected_wire_keys ... ok [INFO] [stdout] test security::user::tests::create_new_user_rejects_empty_email ... ok [INFO] [stdout] test security::user::tests::create_new_user_response_deserializes_nested_users_and_html_errors ... ok [INFO] [stdout] test security::user::tests::get_users_params_follow_group_precedence_and_repeat_permissions ... ok [INFO] [stdout] test security::user::tests::get_users_rejects_blank_permission_values ... ok [INFO] [stdout] test security::user::tests::get_users_response_deserializes_happy_path ... ok [INFO] [stdout] test security::user::tests::get_users_response_deserializes_minimal_fixture ... ok [INFO] [stdout] test security::user::tests::get_users_with_permissions_params_include_api_version_and_include_inactive ... ok [INFO] [stdout] test security::user::tests::get_users_with_permissions_rejects_empty_permissions ... ok [INFO] [stdout] test sort::tests::column_sort_ascending_constructor ... ok [INFO] [stdout] test sort::tests::column_sort_descending_constructor ... ok [INFO] [stdout] test sort::tests::column_sort_display_ascending_has_no_prefix ... ok [INFO] [stdout] test sort::tests::column_sort_display_descending_has_minus_prefix ... ok [INFO] [stdout] test sort::tests::column_sort_new_with_explicit_direction ... ok [INFO] [stdout] test sort::tests::display_empty_sort_is_empty_string ... ok [INFO] [stdout] test sort::tests::display_round_trips_through_parse ... ok [INFO] [stdout] test sort::tests::from_vec_constructs_query_sort ... ok [INFO] [stdout] test security::types::tests::module_property_deserializes_all_fields ... ok [INFO] [stdout] test pipeline::tests::pipeline_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test sort::tests::parse_lookup_column_with_slash ... ok [INFO] [stdout] test query::tests::get_data_query_source_with_empty_query_name_returns_invalid_input ... ok [INFO] [stdout] test query::tests::import_data_rejects_invalid_file_mime_type ... ok [INFO] [stdout] test sort::tests::parse_multi_column_sort ... ok [INFO] [stdout] test sort::tests::parse_single_ascending_column ... ok [INFO] [stdout] test sort::tests::parse_single_descending_column ... ok [INFO] [stdout] test sort::tests::parse_trims_whitespace_around_segments ... ok [INFO] [stdout] test sort::tests::parse_handles_explicit_plus_prefix ... ok [INFO] [stdout] test sort::tests::parse_skips_bare_minus ... ok [INFO] [stdout] test sort::tests::sort_direction_deserializes_plus_minus_aliases ... ok [INFO] [stdout] test sort::tests::sort_direction_deserializes_asc_desc_strings ... ok [INFO] [stdout] test sort::tests::sort_direction_display_matches_wire_format ... ok [INFO] [stdout] test sort::tests::sort_direction_rejects_unknown_variant ... ok [INFO] [stdout] test sort::tests::sort_direction_reversed ... ok [INFO] [stdout] test sort::tests::parse_skips_empty_segments ... ok [INFO] [stdout] test sort::tests::sort_direction_round_trips_through_serde ... ok [INFO] [stdout] test sort::tests::sort_direction_serializes_to_wire_strings ... ok [INFO] [stdout] test sort::tests::sort_direction_variant_count_regression ... ok [INFO] [stdout] test sort::tests::sort_direction_default_is_ascending ... ok [INFO] [stdout] test query::tests::query_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test sort::tests::parse_empty_string_produces_empty_sort ... ok [INFO] [stdout] test specimen::tests::vial_id_types_and_identifiers_serialize_expected_wire_values ... ok [INFO] [stdout] test specimen::tests::specimen_request_bodies_serialize_expected_wire_keys ... ok [INFO] [stdout] test storage::tests::create_storage_body_serializes_type_and_props ... ok [INFO] [stdout] test specimen::tests::specimen_envelope_extraction_handles_happy_and_missing_paths ... ok [INFO] [stdout] test storage::tests::storage_response_deserializes_happy_and_minimal_shapes ... ok [INFO] [stdout] test storage::tests::delete_storage_body_has_required_row_id_shape ... ok [INFO] [stdout] test storage::tests::storage_type_round_trip_and_variant_count_regression ... ok [INFO] [stdout] test storage::tests::update_storage_body_serializes_type_and_props_with_row_id ... ok [INFO] [stdout] test visualization::tests::envelope_extractors_require_expected_fields ... ok [INFO] [stdout] test visualization::tests::get_visualization_data_converts_measure_filters_to_encoded_strings ... ok [INFO] [stdout] test visualization::tests::dimension_values_extraction_requires_success_true_and_values ... ok [INFO] [stdout] test visualization::tests::get_visualization_data_filter_conversion_url_encodes_reserved_characters ... ok [INFO] [stdout] test visualization::tests::get_visualization_data_prefixes_parameter_keys ... ok [INFO] [stdout] test visualization::tests::icon_type_round_trip_and_variant_count ... ok [INFO] [stdout] test visualization::tests::measure_and_dimension_deserialize_with_minimal_fields ... ok [INFO] [stdout] test visualization::tests::save_visualization_body_encodes_visualization_config_as_json_string ... ok [INFO] [stdout] test message::tests::message_endpoint_url_matches_expected_action ... ok [INFO] [stdout] test visualization::tests::visualization_response_accepts_non_numeric_owner_id_and_complex_report_props ... ok [INFO] [stdout] test visualization::tests::visualization_response_deserializes_typed_fields_and_leaves_no_extra ... ok [INFO] [stdout] test visualization::tests::visualization_response_deserializes_with_decoded_config ... ok [INFO] [stdout] test visualization::tests::visualization_response_minimal_defaults_optional_fields ... ok [INFO] [stdout] test visualization::tests::visualization_response_unknown_field_lands_in_extra ... ok [INFO] [stdout] test query::tests::get_data_sql_source_with_empty_sql_returns_invalid_input ... ok [INFO] [stdout] test security::session::tests::security_session_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test report::tests::report_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test security::policy::tests::security_policy_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test security::permission::tests::security_permission_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test security::container::tests::security_container_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test query::tests::query_misc_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test security::session::tests::logout_posts_without_query_params_or_request_body ... ok [INFO] [stdout] test security::user::tests::security_user_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test visualization::tests::visualization_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] test specimen::tests::specimen_endpoint_urls_match_expected_actions_part_2 ... ok [INFO] [stdout] test specimen::tests::specimen_endpoint_urls_match_expected_actions_part_1 ... ok [INFO] [stdout] test visualization::tests::get_visualization_data_url_uses_default_no_api_and_custom_endpoint_verbatim ... ok [INFO] [stdout] test specimen::tests::repositories_and_web_part_groups_post_without_json_body ... ok [INFO] [stdout] test storage::tests::storage_endpoint_urls_match_expected_actions ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 526 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.87s [INFO] [stdout] [INFO] [stderr] Running tests/client_integration.rs (/opt/rustwide/target/debug/deps/client_integration-a0cf9159822dd848) [INFO] [stdout] [INFO] [stdout] running 145 tests [INFO] [stdout] test add_group_members_rejects_empty_principal_ids ... ok [INFO] [stdout] test delete_policy_sends_expected_request_shape ... ok [INFO] [stdout] test create_container_with_container_path_override ... ok [INFO] [stdout] test create_new_user_posts_expected_body_and_deserializes_response ... ok [INFO] [stdout] test ensure_login_gets_expected_endpoint_and_deserializes_current_user ... ok [INFO] [stdout] test execute_flattens_input_params_and_decodes_json_output ... ok [INFO] [stdout] test delete_container_without_comment_sends_empty_body ... ok [INFO] [stdout] test create_session_posts_expected_json_body ... ok [INFO] [stdout] test create_storage_item_non_json_error_maps_to_unexpected_response ... ok [INFO] [stdout] test delete_policy_rejects_blank_resource_id ... ok [INFO] [stdout] test create_container_posts_name_and_optional_fields ... ok [INFO] [stdout] test delete_session_posts_query_param_and_no_json_body ... ok [INFO] [stdout] test delete_user_posts_typed_id_body_to_security_delete_user_without_api_suffix ... ok [INFO] [stdout] test delete_query_view_complete_semantics_follow_revert ... ok [INFO] [stdout] test get_containers_sends_query_params_and_deserializes_single_container ... ok [INFO] [stdout] test delete_container_posts_comment_and_uses_container_path ... ok [INFO] [stdout] test delete_rows_supports_empty_rows_payload ... ok [INFO] [stdout] test create_list_delegates_to_create_domain_with_expected_mapping ... ok [INFO] [stdout] test execute_function_and_get_sessions_use_reports_routes ... ok [INFO] [stdout] test get_data_non_json_error_maps_to_unexpected_response ... ok [INFO] [stdout] test execute_sql_sends_expected_post_request_shape ... ok [INFO] [stdout] test get_file_status_timeout_maps_to_http_error ... ok [INFO] [stdout] test execute_sql_includes_details_column_when_set ... ok [INFO] [stdout] test get_data_views_invalid_data_envelope_maps_to_unexpected_response ... ok [INFO] [stdout] test get_data_query_source_posts_expected_body_and_returns_rows ... ok [INFO] [stdout] test get_file_status_posts_query_params_and_no_json_body ... ok [INFO] [stdout] test get_data_sql_source_waf_encodes_sql_and_omits_absent_optionals ... ok [INFO] [stdout] test get_data_posts_transforms_and_pivot_shape ... ok [INFO] [stdout] test get_data_views_missing_data_envelope_maps_to_unexpected_response ... ok [INFO] [stdout] test get_data_json_error_maps_to_api_error ... ok [INFO] [stdout] test get_data_views_posts_browse_data_body_and_extracts_data_envelope ... ok [INFO] [stdout] test get_containers_with_multiple_containers_sends_flag ... ok [INFO] [stdout] test get_folder_types_posts_and_deserializes_folder_map ... ok [INFO] [stdout] test get_assay_run_extracts_run_from_envelope ... ok [INFO] [stdout] test get_modules_posts_and_deserializes_module_info_array ... ok [INFO] [stdout] test execute_sql_omits_negative_max_rows_and_zero_offset ... ok [INFO] [stdout] test get_groups_for_current_user_gets_expected_response_shape ... ok [INFO] [stdout] test get_roles_expands_role_permission_references ... ok [INFO] [stdout] test get_queries_sends_expected_params_and_deserializes_nested_queries ... ok [INFO] [stdout] test get_protocols_posts_query_params_with_default_include_workbooks_false ... ok [INFO] [stdout] test get_queries_json_error_maps_to_api_error ... ok [INFO] [stdout] test get_group_permissions_sends_expected_params_and_deserializes_children ... ok [INFO] [stdout] test get_query_details_sends_expected_get_request_shape ... ok [INFO] [stdout] test get_policy_posts_body_and_stamps_requested_resource_id ... ok [INFO] [stdout] test get_pipeline_container_uses_expected_get_route ... ok [INFO] [stdout] test get_policy_rejects_blank_resource_id ... ok [INFO] [stdout] test get_readable_containers_sends_expected_params_and_extracts_envelope ... ok [INFO] [stdout] test get_readable_containers_non_array_envelope_maps_to_unexpected_response ... ok [INFO] [stdout] test get_query_views_sends_expected_params ... ok [INFO] [stdout] test get_query_details_supports_multiple_fields_and_view_names ... ok [INFO] [stdout] test get_queries_supports_minimal_required_options ... ok [INFO] [stdout] test get_readable_containers_invalid_envelope_maps_to_unexpected_response ... ok [INFO] [stdout] test get_users_with_permissions_rejects_empty_permissions ... ok [INFO] [stdout] test group_create_and_membership_endpoints_send_expected_request_shapes ... ok [INFO] [stdout] test get_securable_resources_extracts_envelope_and_params ... ok [INFO] [stdout] test get_users_sends_expected_params ... ok [INFO] [stdout] test impersonate_user_uses_query_params_and_empty_request_body_for_both_target_modes ... ok [INFO] [stdout] test get_schemas_deserializes_schema_keyed_fixture_response ... ok [INFO] [stdout] test get_users_with_permissions_sends_expected_params ... ok [INFO] [stdout] test get_server_date_uses_no_container_path_and_no_params ... ok [INFO] [stdout] test get_schemas_non_json_error_maps_to_unexpected_response ... ok [INFO] [stdout] test get_securable_resources_missing_envelope_maps_to_unexpected_response ... ok [INFO] [stdout] test get_user_permissions_prefers_user_id_and_omits_user_email ... ok [INFO] [stdout] test get_user_permissions_sends_user_email_and_deserializes_response ... ok [INFO] [stdout] test import_data_sends_file_source ... ok [INFO] [stdout] test import_data_non_json_error_maps_to_unexpected_response ... ok [INFO] [stdout] test group_rename_and_delete_endpoints_send_expected_request_shapes ... ok [INFO] [stdout] test lineage_sends_repeated_lsids_query_params ... ok [INFO] [stdout] test import_run_json_mode_uses_json_part_content_type ... ok [INFO] [stdout] test move_container_posts_expected_body_and_url_contracts ... ok [INFO] [stdout] test import_data_json_error_maps_to_api_error ... ok [INFO] [stdout] test impersonate_user_query_encodes_email_target_values ... ok [INFO] [stdout] test rename_container_rejects_missing_name_and_title ... ok [INFO] [stdout] test impersonate_user_rejects_blank_email_target ... ok [INFO] [stdout] test import_data_sends_path_source ... ok [INFO] [stdout] test remove_group_members_rejects_empty_principal_ids ... ok [INFO] [stdout] test import_data_sends_merge_insert_option_wire_value ... ok [INFO] [stdout] test non_json_error_body_maps_to_unexpected_response ... ok [INFO] [stdout] test json_error_body_maps_to_api_error ... ok [INFO] [stdout] test import_data_sends_module_resource_source ... ok [INFO] [stdout] test insert_rows_sends_expected_mutation_request_shape ... ok [INFO] [stdout] test logout_posts_no_body_to_login_logout_without_api_suffix ... ok [INFO] [stdout] test import_data_succeeds_without_row_count_in_response ... ok [INFO] [stdout] test import_data_sends_text_source_and_optional_fields ... ok [INFO] [stdout] test save_query_views_emits_true_flags_and_metadata ... ok [INFO] [stdout] test move_rows_sends_expected_request_shape ... ok [INFO] [stdout] test save_query_views_omits_false_boolean_flags ... ok [INFO] [stdout] test reset_transform_state_posts_expected_no_suffix_route_and_body_shape ... ok [INFO] [stdout] test move_container_rejects_mismatched_container_path_override ... ok [INFO] [stdout] test report_endpoints_honor_container_path_override ... ok [INFO] [stdout] test save_rows_sends_command_wire_values ... ok [INFO] [stdout] test report_validation_rejects_blank_required_fields ... ok [INFO] [stdout] test save_rows_supports_empty_commands ... ok [INFO] [stdout] test save_session_view_uses_flat_query_dot_keys ... ok [INFO] [stdout] test run_transform_posts_expected_no_suffix_route_and_body_shape ... ok [INFO] [stdout] test select_distinct_rows_sends_expected_get_request_shape ... ok [INFO] [stdout] test select_distinct_rows_supports_custom_data_region_and_positive_max_rows ... ok [INFO] [stdout] test save_policy_sends_expected_request_shape ... ok [INFO] [stdout] test select_distinct_rows_omits_ignore_filter_when_unset ... ok [INFO] [stdout] test resolve_sends_repeated_lsids_query_params ... ok [INFO] [stdout] test select_rows_paginated_honors_max_rows_and_offset ... ok [INFO] [stdout] test rename_container_posts_name_and_alias ... ok [INFO] [stdout] test select_rows_omits_false_boolean_flags ... ok [INFO] [stdout] test select_rows_custom_data_region_prefixes_filters_and_params ... ok [INFO] [stdout] test select_rows_method_post_sends_form_encoded_body ... ok [INFO] [stdout] test select_rows_method_post_with_custom_data_region ... ok [INFO] [stdout] test select_rows_show_rows_all_skips_max_rows_and_offset ... ok [INFO] [stdout] test select_rows_show_rows_none_sends_none_param ... ok [INFO] [stdout] test select_rows_uses_custom_data_region_name_as_param_prefix ... ok [INFO] [stdout] test send_message_json_error_maps_to_api_error ... ok [INFO] [stdout] test select_rows_default_method_is_get ... ok [INFO] [stdout] test specimen_get_repositories_and_web_part_groups_post_without_body ... ok [INFO] [stdout] test select_rows_sends_expected_get_request_shape ... ok [INFO] [stdout] test select_rows_defaults_data_region_name_to_query ... ok [INFO] [stdout] test select_rows_negative_max_rows_sends_show_rows_all_in_paginated_mode ... ok [INFO] [stdout] test send_message_honors_container_path_override ... ok [INFO] [stdout] test select_distinct_rows_uses_post_form_body_when_method_is_post ... ok [INFO] [stdout] test select_rows_show_rows_selected_sends_show_rows_param ... ok [INFO] [stdout] test specimen_add_vials_and_cancel_request_use_expected_contracts ... ok [INFO] [stdout] test send_message_posts_expected_json_body ... ok [INFO] [stdout] test start_analysis_honors_container_path_override ... ok [INFO] [stdout] test specimen_get_providing_request_and_summary_use_expected_contracts ... ok [INFO] [stdout] test specimen_remove_vials_endpoint_uses_no_api_suffix_and_default_id_type ... ok [INFO] [stdout] test specimen_get_open_requests_extracts_requests_envelope_and_errors_when_missing ... ok [INFO] [stdout] test specimen_mutation_endpoints_use_expected_body_contracts ... ok [INFO] [stdout] test update_participant_group_honors_container_path_override ... ok [INFO] [stdout] test stop_impersonating_no_follow_flow_honors_custom_user_agent ... ok [INFO] [stdout] test update_transform_configuration_posts_capital_u_route_and_body_shape ... ok [INFO] [stdout] test storage_endpoints_honor_container_path_override ... ok [INFO] [stdout] test start_analysis_non_json_error_maps_to_unexpected_response ... ok [INFO] [stdout] test who_am_i_honors_custom_user_agent_header ... ok [INFO] [stdout] test start_analysis_posts_query_params_with_configure_json ... ok [INFO] [stdout] test start_analysis_json_error_maps_to_api_error ... ok [INFO] [stdout] test update_participant_group_errors_when_group_envelope_missing ... ok [INFO] [stdout] test specimen_missing_envelopes_map_to_unexpected_response_with_context ... ok [INFO] [stdout] test truncate_table_sends_required_fields_without_rows ... ok [INFO] [stdout] test update_rows_sends_expected_mutation_request_shape ... ok [INFO] [stdout] test update_participant_group_extracts_group_envelope ... ok [INFO] [stdout] test storage_endpoints_use_expected_routes_and_body_shapes ... ok [INFO] [stdout] test who_am_i_gets_login_whoami_api_and_deserializes_fixture_response ... ok [INFO] [stdout] test who_am_i_deserializes_java_style_id_field ... ok [INFO] [stdout] test validate_query_forwards_sql_param ... ok [INFO] [stdout] test update_transform_configuration_read_only_mode_sends_only_transform_id ... ok [INFO] [stdout] test validate_query_switches_action_when_metadata_validation_requested ... ok [INFO] [stdout] test stop_impersonating_treats_http_302_as_success_without_following_redirects ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 145 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.61s [INFO] [stdout] [INFO] [stderr] Doc-tests labkey_rs [INFO] [stdout] [INFO] [stdout] running 144 tests [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::save_assay_runs (line 1151) - compile ... ok [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_assays (line 651) - compile ... ok [INFO] [stdout] test src/client.rs - client::ClientConfig (line 138) - compile ... ok [INFO] [stdout] test src/../README.md - (line 135) ... FAILED [INFO] [stdout] test src/../README.md - (line 64) - compile ... ok [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::save_assay_batch (line 1095) - compile ... ok [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_assay_run (line 948) - compile ... ok [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_assay_batch (line 1046) - compile ... ok [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_protocol (line 857) - compile ... ok [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::save_protocol (line 902) - compile ... ok [INFO] [stdout] test src/di.rs - di::LabkeyClient::update_transform_configuration (line 324) - compile ... ok [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_study_nab_graph_url (line 751) - compile ... ok [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::drop_domain (line 804) - compile ... ok [INFO] [stdout] test src/../README.md - (line 161) - compile ... FAILED [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_nab_runs (line 696) - compile ... ok [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_study_nab_runs (line 802) - compile ... ok [INFO] [stdout] test src/assay.rs - assay::LabkeyClient::import_run (line 996) - compile ... ok [INFO] [stdout] test src/di.rs - di::LabkeyClient::reset_transform_state (line 274) - compile ... ok [INFO] [stdout] test src/../README.md - (line 26) - compile ... FAILED [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::get_domain_name_previews (line 1000) - compile ... ok [INFO] [stdout] test src/di.rs - di::LabkeyClient::run_transform (line 229) - compile ... ok [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::get_domain_details (line 703) - compile ... ok [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::update_domain (line 853) - compile ... ok [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::create_domain (line 597) - compile ... ok [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::validate_name_expressions (line 956) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::load_runs (line 1484) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::load_batches (line 1432) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::resolve (line 1204) - compile ... ok [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::get_domain (line 654) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::lineage (line 1163) - compile ... ok [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::get_properties (line 1046) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::load_batch (line 1383) - compile ... ok [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::list_domains (line 898) - compile ... ok [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::get_property_usages (line 1096) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::get_entity_sequence (line 1719) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::create_hidden_run_group (line 1614) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::save_batches (line 1326) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::save_batch (line 1245) - compile ... FAILED [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::save_runs (line 1532) - compile ... ok [INFO] [stdout] test src/domain.rs - domain::LabkeyClient::save_domain (line 759) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::set_entity_sequence (line 1666) - compile ... ok [INFO] [stdout] test src/list.rs - list::LabkeyClient::create_list (line 197) - compile ... ok [INFO] [stdout] test src/list.rs - list::LabkeyClient::create_list (line 172) - compile ... ok [INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::save_materials (line 1575) - compile ... ok [INFO] [stdout] test src/participant_group.rs - participant_group::LabkeyClient::update_participant_group (line 74) - compile ... ok [INFO] [stdout] test src/message.rs - message::LabkeyClient::send_message (line 165) - compile ... ok [INFO] [stdout] test src/pipeline.rs - pipeline::LabkeyClient::get_pipeline_container (line 200) - compile ... ok [INFO] [stdout] test src/error.rs - error::LabkeyError::is_api_version_error (line 109) ... ok [INFO] [stdout] test src/pipeline.rs - pipeline::LabkeyClient::get_protocols (line 242) - compile ... ok [INFO] [stdout] test src/../README.md - (line 147) ... ok [INFO] [stdout] test src/filter.rs - filter::merge (line 586) ... ok [INFO] [stdout] test src/filter.rs - filter::FilterType::programmatic_name (line 279) ... ok [INFO] [stdout] test src/pipeline.rs - pipeline::LabkeyClient::get_file_status (line 145) - compile ... ok [INFO] [stdout] test src/filter.rs - filter::default_filter_for_column_type (line 921) ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::delete_query_view (line 3070) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::execute_sql (line 3816) - compile ... FAILED [INFO] [stdout] test src/filter.rs - filter::JsonColumnType::from_type_string (line 779) ... ok [INFO] [stdout] test src/filter.rs - filter::FilterType::display_text (line 200) ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::get_data_views (line 3123) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::get_query_views (line 2894) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::get_queries (line 2786) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::get_data (line 3741) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::save_query_views (line 2953) - compile ... ok [INFO] [stdout] test src/filter.rs - filter::Filter (line 447) ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::get_schemas (line 2844) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::move_rows (line 3507) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::get_query_details (line 2696) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::import_data (line 3624) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::insert_rows (line 3282) - compile ... FAILED [INFO] [stdout] test src/pipeline.rs - pipeline::LabkeyClient::start_analysis (line 292) - compile ... ok [INFO] [stdout] test src/report.rs - report::LabkeyClient::create_session (line 172) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::select_distinct_rows (line 2607) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::truncate_table (line 3447) - compile ... FAILED [INFO] [stdout] test src/filter.rs - filter::description (line 623) ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::get_server_date (line 3253) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::save_rows (line 3564) - compile ... ok [INFO] [stdout] test src/filter.rs - filter::FilterType::from_name (line 347) ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::select_rows (line 2473) - compile ... FAILED [INFO] [stdout] test src/query.rs - query::LabkeyClient::validate_query (line 3193) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::update_rows (line 3337) - compile ... FAILED [INFO] [stdout] test src/query.rs - query::ExecuteSqlOptions (line 946) ... FAILED [INFO] [stdout] test src/report.rs - report::LabkeyClient::execute_function (line 326) - compile ... ok [INFO] [stdout] test src/security/container.rs - security::container::LabkeyClient::create_container (line 365) - compile ... ok [INFO] [stdout] test src/query.rs - query::SelectRowsOptions (line 873) ... FAILED [INFO] [stdout] test src/security/container.rs - security::container::LabkeyClient::delete_container (line 419) - compile ... ok [INFO] [stdout] test src/report.rs - report::LabkeyClient::get_sessions (line 372) - compile ... ok [INFO] [stdout] test src/filter.rs - filter::filter_types_for_column_type (line 815) ... ok [INFO] [stdout] test src/security/container.rs - security::container::LabkeyClient::get_folder_types (line 623) - compile ... ok [INFO] [stdout] test src/security/container.rs - security::container::LabkeyClient::get_modules (line 664) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::delete_rows (line 3392) - compile ... FAILED [INFO] [stdout] test src/security/group.rs - security::group::LabkeyClient::get_groups_for_current_user (line 463) - compile ... ok [INFO] [stdout] test src/security/container.rs - security::container::LabkeyClient::rename_container (line 467) - compile ... ok [INFO] [stdout] test src/report.rs - report::LabkeyClient::delete_session (line 221) - compile ... ok [INFO] [stdout] test src/security/container.rs - security::container::LabkeyClient::get_containers (line 526) - compile ... ok [INFO] [stdout] test src/security/permission.rs - security::permission::LabkeyClient::get_group_permissions (line 327) - compile ... ok [INFO] [stdout] test src/security/container.rs - security::container::LabkeyClient::get_readable_containers (line 575) - compile ... ok [INFO] [stdout] test src/security/container.rs - security::container::LabkeyClient::move_container (line 701) - compile ... ok [INFO] [stdout] test src/report.rs - report::LabkeyClient::execute (line 278) - compile ... ok [INFO] [stdout] test src/security/permission.rs - security::permission::LabkeyClient::get_user_permissions (line 373) - compile ... ok [INFO] [stdout] test src/filter.rs - filter::from_parameters (line 664) ... ok [INFO] [stdout] test src/security/group.rs - security::group::LabkeyClient::delete_group (line 315) - compile ... ok [INFO] [stdout] test src/query.rs - query::LabkeyClient::save_session_view (line 3011) - compile ... ok [INFO] [stdout] test src/security/policy.rs - security::policy::LabkeyClient::save_policy (line 192) - compile ... FAILED [INFO] [stdout] test src/security/group.rs - security::group::LabkeyClient::rename_group (line 359) - compile ... ok [INFO] [stdout] test src/security/policy.rs - security::policy::LabkeyClient::get_policy (line 131) - compile ... ok [INFO] [stdout] test src/security/group.rs - security::group::LabkeyClient::remove_group_members (line 411) - compile ... ok [INFO] [stdout] test src/security/group.rs - security::group::LabkeyClient::create_group (line 265) - compile ... ok [INFO] [stdout] test src/security/permission.rs - security::permission::LabkeyClient::get_roles (line 424) - compile ... ok [INFO] [stdout] test src/security/group.rs - security::group::LabkeyClient::add_group_members (line 213) - compile ... ok [INFO] [stdout] test src/security/session.rs - security::session::LabkeyClient::logout (line 156) - compile ... ok [INFO] [stdout] test src/security/session.rs - security::session::LabkeyClient::delete_user (line 218) - compile ... FAILED [INFO] [stdout] test src/security/user.rs - security::user::LabkeyClient::ensure_login (line 302) - compile ... ok [INFO] [stdout] test src/security/session.rs - security::session::LabkeyClient::who_am_i (line 186) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::cancel_request (line 377) - compile ... ok [INFO] [stdout] test src/security/session.rs - security::session::LabkeyClient::impersonate_user (line 256) - compile ... ok [INFO] [stdout] test src/security/policy.rs - security::policy::LabkeyClient::delete_policy (line 247) - compile ... ok [INFO] [stdout] test src/security/user.rs - security::user::LabkeyClient::get_users (line 343) - compile ... ok [INFO] [stdout] test src/security/permission.rs - security::permission::LabkeyClient::get_securable_resources (line 462) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::get_providing_locations (line 470) - compile ... ok [INFO] [stdout] test src/security/user.rs - security::user::LabkeyClient::create_new_user (line 249) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::add_specimens_to_request (line 274) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::get_open_requests (line 423) - compile ... ok [INFO] [stdout] test src/security/session.rs - security::session::LabkeyClient::stop_impersonating (line 305) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::get_vial_type_summary (line 704) - compile ... ok [INFO] [stdout] test src/security/user.rs - security::user::LabkeyClient::get_users_with_permissions (line 390) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::get_request (line 565) - compile ... ok [INFO] [stdout] test src/visualization.rs - visualization::LabkeyClient::get_measures (line 528) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::add_vials_to_request (line 326) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::remove_vials_from_request (line 746) - compile ... ok [INFO] [stdout] test src/storage.rs - storage::LabkeyClient::delete_storage_item (line 219) - compile ... ok [INFO] [stdout] test src/storage.rs - storage::LabkeyClient::create_storage_item (line 126) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::get_specimen_web_part_groups (line 611) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::get_vials_by_row_id (line 654) - compile ... ok [INFO] [stdout] test src/visualization.rs - visualization::LabkeyClient::get_dimension_values (line 735) - compile ... ok [INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::get_repositories (line 521) - compile ... ok [INFO] [stdout] test src/visualization.rs - visualization::LabkeyClient::get_dimensions (line 677) - compile ... ok [INFO] [stdout] test src/visualization.rs - visualization::LabkeyClient::get_types (line 587) - compile ... ok [INFO] [stdout] test src/visualization.rs - visualization::LabkeyClient::get_visualization (line 426) - compile ... ok [INFO] [stdout] test src/storage.rs - storage::LabkeyClient::update_storage_item (line 172) - compile ... ok [INFO] [stdout] test src/visualization.rs - visualization::LabkeyClient::save_visualization (line 628) - compile ... ok [INFO] [stdout] test src/sort.rs - sort::QuerySort::parse (line 207) ... ok [INFO] [stdout] test src/visualization.rs - visualization::LabkeyClient::get_visualization_data (line 480) - compile ... ok [INFO] [stdout] test src/sort.rs - sort::QuerySort (line 177) ... ok [INFO] [stdout] test src/sort.rs - sort (line 19) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/../README.md - (line 135) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/../README.md:140:56 [INFO] [stdout] | [INFO] [stdout] 140 | Filter::new("Age", FilterType::GreaterThanOrEqual, "18"), [INFO] [stdout] | ----------- ^^^^ expected `FilterValue`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/filter.rs:476:12 [INFO] [stdout] | [INFO] [stdout] 476 | pub fn new(column_name: impl Into, op: FilterType, value: FilterValue) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/../README.md:141:43 [INFO] [stdout] | [INFO] [stdout] 141 | Filter::new("Status", FilterType::In, "Active;Pending"), [INFO] [stdout] | ----------- ^^^^^^^^^^^^^^^^ expected `FilterValue`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/filter.rs:476:12 [INFO] [stdout] | [INFO] [stdout] 476 | pub fn new(column_name: impl Into, op: FilterType, value: FilterValue) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/../README.md:142:55 [INFO] [stdout] | [INFO] [stdout] 142 | Filter::new("Name", FilterType::DoesNotStartWith, "Test"), [INFO] [stdout] | ----------- ^^^^^^ expected `FilterValue`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/filter.rs:476:12 [INFO] [stdout] | [INFO] [stdout] 476 | pub fn new(column_name: impl Into, op: FilterType, value: FilterValue) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/../README.md - (line 161) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/../README.md:168:22 [INFO] [stdout] | [INFO] [stdout] 168 | .schema_name("core") [INFO] [stdout] | ----------- ^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:886:9 [INFO] [stdout] | [INFO] [stdout] 886 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 168 | .schema_name("core".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/../README.md:169:21 [INFO] [stdout] | [INFO] [stdout] 169 | .query_name("Users") [INFO] [stdout] | ---------- ^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:888:9 [INFO] [stdout] | [INFO] [stdout] 888 | pub query_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 169 | .query_name("Users".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap_or` found for type `i64` in the current scope [INFO] [stdout] --> src/../README.md:173:64 [INFO] [stdout] | [INFO] [stdout] 173 | Ok(response) => println!("{} rows", response.row_count.unwrap_or(0)), [INFO] [stdout] | ^^^^^^^^^ method not found in `i64` [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/../README.md - (line 26) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/../README.md:44:26 [INFO] [stdout] | [INFO] [stdout] 44 | .schema_name("core") [INFO] [stdout] | ----------- ^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:886:9 [INFO] [stdout] | [INFO] [stdout] 886 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 44 | .schema_name("core".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/../README.md:45:25 [INFO] [stdout] | [INFO] [stdout] 45 | .query_name("Users") [INFO] [stdout] | ---------- ^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:888:9 [INFO] [stdout] | [INFO] [stdout] 888 | pub query_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 45 | .query_name("Users".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/../README.md:47:60 [INFO] [stdout] | [INFO] [stdout] 47 | Filter::new("Email", FilterType::Contains, "example.com"), [INFO] [stdout] | ----------- ^^^^^^^^^^^^^ expected `FilterValue`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/filter.rs:476:12 [INFO] [stdout] | [INFO] [stdout] 476 | pub fn new(column_name: impl Into, op: FilterType, value: FilterValue) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap_or` found for type `i64` in the current scope [INFO] [stdout] --> src/../README.md:52:51 [INFO] [stdout] | [INFO] [stdout] 52 | println!("Found {} users", response.row_count.unwrap_or(0)); [INFO] [stdout] | ^^^^^^^^^ method not found in `i64` [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/experiment.rs - experiment::LabkeyClient::save_batch (line 1245) stdout ---- [INFO] [stdout] error[E0639]: cannot create non-exhaustive struct using struct expression [INFO] [stdout] --> src/experiment.rs:1260:20 [INFO] [stdout] | [INFO] [stdout] 1260 | .batch(RunGroup { [INFO] [stdout] | ____________________^ [INFO] [stdout] 1261 | | exp_object: ExpObject { [INFO] [stdout] 1262 | | name: Some("batch-1".to_string()), [INFO] [stdout] 1263 | | ..ExpObject { [INFO] [stdout] ... | [INFO] [stdout] 1287 | | runs: vec![], [INFO] [stdout] 1288 | | }) [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] error[E0639]: cannot create non-exhaustive struct using struct expression [INFO] [stdout] --> src/experiment.rs:1261:29 [INFO] [stdout] | [INFO] [stdout] 1261 | exp_object: ExpObject { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 1262 | | name: Some("batch-1".to_string()), [INFO] [stdout] 1263 | | ..ExpObject { [INFO] [stdout] 1264 | | comment: None, [INFO] [stdout] ... | [INFO] [stdout] 1284 | | }, [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] error[E0639]: cannot create non-exhaustive struct using struct expression [INFO] [stdout] --> src/experiment.rs:1263:23 [INFO] [stdout] | [INFO] [stdout] 1263 | ..ExpObject { [INFO] [stdout] | _______________________^ [INFO] [stdout] 1264 | | comment: None, [INFO] [stdout] 1265 | | container: None, [INFO] [stdout] 1266 | | container_path: None, [INFO] [stdout] ... | [INFO] [stdout] 1282 | | properties: None, [INFO] [stdout] 1283 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0639`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/query.rs - query::LabkeyClient::execute_sql (line 3816) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:3829:22 [INFO] [stdout] | [INFO] [stdout] 3829 | .schema_name("core") [INFO] [stdout] | ----------- ^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:958:9 [INFO] [stdout] | [INFO] [stdout] 958 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 3829 | .schema_name("core".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:3830:14 [INFO] [stdout] | [INFO] [stdout] 3830 | .sql("SELECT DisplayName, Email FROM core.users") [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:960:9 [INFO] [stdout] | [INFO] [stdout] 960 | pub sql: String, [INFO] [stdout] | ^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 3830 | .sql("SELECT DisplayName, Email FROM core.users".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/query.rs - query::LabkeyClient::insert_rows (line 3282) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:3296:26 [INFO] [stdout] | [INFO] [stdout] 3296 | .schema_name("lists") [INFO] [stdout] | ----------- ^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:993:9 [INFO] [stdout] | [INFO] [stdout] 993 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 3296 | .schema_name("lists".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:3297:25 [INFO] [stdout] | [INFO] [stdout] 3297 | .query_name("People") [INFO] [stdout] | ---------- ^^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:995:9 [INFO] [stdout] | [INFO] [stdout] 995 | pub query_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 3297 | .query_name("People".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/query.rs - query::LabkeyClient::truncate_table (line 3447) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:3461:26 [INFO] [stdout] | [INFO] [stdout] 3461 | .schema_name("lists") [INFO] [stdout] | ----------- ^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:1071:9 [INFO] [stdout] | [INFO] [stdout] 1071 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 3461 | .schema_name("lists".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:3462:25 [INFO] [stdout] | [INFO] [stdout] 3462 | .query_name("People") [INFO] [stdout] | ---------- ^^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:1073:9 [INFO] [stdout] | [INFO] [stdout] 1073 | pub query_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 3462 | .query_name("People".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/query.rs - query::LabkeyClient::select_rows (line 2473) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:2486:22 [INFO] [stdout] | [INFO] [stdout] 2486 | .schema_name("lists") [INFO] [stdout] | ----------- ^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:886:9 [INFO] [stdout] | [INFO] [stdout] 886 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 2486 | .schema_name("lists".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:2487:21 [INFO] [stdout] | [INFO] [stdout] 2487 | .query_name("People") [INFO] [stdout] | ---------- ^^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:888:9 [INFO] [stdout] | [INFO] [stdout] 888 | pub query_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 2487 | .query_name("People".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/query.rs - query::LabkeyClient::update_rows (line 3337) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:3351:26 [INFO] [stdout] | [INFO] [stdout] 3351 | .schema_name("lists") [INFO] [stdout] | ----------- ^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:1019:9 [INFO] [stdout] | [INFO] [stdout] 1019 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 3351 | .schema_name("lists".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:3352:25 [INFO] [stdout] | [INFO] [stdout] 3352 | .query_name("People") [INFO] [stdout] | ---------- ^^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:1021:9 [INFO] [stdout] | [INFO] [stdout] 1021 | pub query_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 3352 | .query_name("People".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/query.rs - query::ExecuteSqlOptions (line 946) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:951:18 [INFO] [stdout] | [INFO] [stdout] 951 | .schema_name("core") [INFO] [stdout] | ----------- ^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:958:9 [INFO] [stdout] | [INFO] [stdout] 958 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 951 | .schema_name("core".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:952:10 [INFO] [stdout] | [INFO] [stdout] 952 | .sql("SELECT * FROM core.users") [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:960:9 [INFO] [stdout] | [INFO] [stdout] 960 | pub sql: String, [INFO] [stdout] | ^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 952 | .sql("SELECT * FROM core.users".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/query.rs - query::SelectRowsOptions (line 873) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:878:18 [INFO] [stdout] | [INFO] [stdout] 878 | .schema_name("lists") [INFO] [stdout] | ----------- ^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:886:9 [INFO] [stdout] | [INFO] [stdout] 886 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 878 | .schema_name("lists".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:879:17 [INFO] [stdout] | [INFO] [stdout] 879 | .query_name("People") [INFO] [stdout] | ---------- ^^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:888:9 [INFO] [stdout] | [INFO] [stdout] 888 | pub query_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 879 | .query_name("People".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/query.rs - query::LabkeyClient::delete_rows (line 3392) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:3406:26 [INFO] [stdout] | [INFO] [stdout] 3406 | .schema_name("lists") [INFO] [stdout] | ----------- ^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:1045:9 [INFO] [stdout] | [INFO] [stdout] 1045 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 3406 | .schema_name("lists".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/query.rs:3407:25 [INFO] [stdout] | [INFO] [stdout] 3407 | .query_name("People") [INFO] [stdout] | ---------- ^^^^^^^^ expected `String`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/query.rs:1047:9 [INFO] [stdout] | [INFO] [stdout] 1047 | pub query_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: try using a conversion method [INFO] [stdout] | [INFO] [stdout] 3407 | .query_name("People".to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/security/policy.rs - security::policy::LabkeyClient::save_policy (line 192) stdout ---- [INFO] [stdout] error[E0639]: cannot create non-exhaustive struct using struct expression [INFO] [stdout] --> src/security/policy.rs:206:21 [INFO] [stdout] | [INFO] [stdout] 206 | .policy(Policy { [INFO] [stdout] | _____________________^ [INFO] [stdout] 207 | | resource_id: Some("resource-1".to_string()), [INFO] [stdout] 208 | | requested_resource_id: None, [INFO] [stdout] 209 | | modified: None, [INFO] [stdout] ... | [INFO] [stdout] 216 | | }], [INFO] [stdout] 217 | | }) [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] error[E0639]: cannot create non-exhaustive struct using struct expression [INFO] [stdout] --> src/security/policy.rs:211:35 [INFO] [stdout] | [INFO] [stdout] 211 | assignments: vec![PolicyAssignment { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 212 | | user_id: Some(1001), [INFO] [stdout] 213 | | role: Some( [INFO] [stdout] 214 | | "org.labkey.security.roles.EditorRole".to_string(), [INFO] [stdout] 215 | | ), [INFO] [stdout] 216 | | }], [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0639`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/security/session.rs - security::session::LabkeyClient::delete_user (line 218) stdout ---- [INFO] [stdout] error[E0277]: `DeleteUserResponse` doesn't implement `std::fmt::Display` [INFO] [stdout] --> src/security/session.rs:232:26 [INFO] [stdout] | [INFO] [stdout] 232 | println!("Delete result: {response}"); [INFO] [stdout] | ^^^^^^^^^^ `DeleteUserResponse` cannot be formatted with the default formatter [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Display` is not implemented for `DeleteUserResponse` [INFO] [stdout] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/../README.md - (line 135) [INFO] [stdout] src/../README.md - (line 161) [INFO] [stdout] src/../README.md - (line 26) [INFO] [stdout] src/experiment.rs - experiment::LabkeyClient::save_batch (line 1245) [INFO] [stdout] src/query.rs - query::ExecuteSqlOptions (line 946) [INFO] [stdout] src/query.rs - query::LabkeyClient::delete_rows (line 3392) [INFO] [stdout] src/query.rs - query::LabkeyClient::execute_sql (line 3816) [INFO] [stdout] src/query.rs - query::LabkeyClient::insert_rows (line 3282) [INFO] [stdout] src/query.rs - query::LabkeyClient::select_rows (line 2473) [INFO] [stdout] src/query.rs - query::LabkeyClient::truncate_table (line 3447) [INFO] [stdout] src/query.rs - query::LabkeyClient::update_rows (line 3337) [INFO] [stdout] src/query.rs - query::SelectRowsOptions (line 873) [INFO] [stdout] src/security/policy.rs - security::policy::LabkeyClient::save_policy (line 192) [INFO] [stdout] src/security/session.rs - security::session::LabkeyClient::delete_user (line 218) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 130 passed; 14 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.12s [INFO] [stdout] [INFO] [stdout] all doctests ran in 9.64s; merged doctests compilation took 1.51s [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "51bc51e0a4b68d2d5a592123ebc8fee10db9ae0681d7a341990705cd44bdc339", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "51bc51e0a4b68d2d5a592123ebc8fee10db9ae0681d7a341990705cd44bdc339", kill_on_drop: false }` [INFO] [stdout] 51bc51e0a4b68d2d5a592123ebc8fee10db9ae0681d7a341990705cd44bdc339