[INFO] fetching crate labkey-rs 0.2.2...
[INFO] testing labkey-rs-0.2.2 against 1.97.0-beta.6 for beta-1.98-1
[INFO] extracting crate labkey-rs 0.2.2 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate labkey-rs 0.2.2
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate labkey-rs 0.2.2
[INFO] tweaked toml for crates.io crate labkey-rs 0.2.2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate labkey-rs 0.2.2 on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate labkey-rs 0.2.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.64
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.40
[INFO] [stderr]   Downloaded netrc v0.4.1
[INFO] [stderr]   Downloaded cookie_store v0.22.1
[INFO] [stderr]   Downloaded bon v3.9.0
[INFO] [stderr]   Downloaded bon-macros v3.9.0
[INFO] [stderr]   Downloaded zerocopy v0.8.40
[INFO] [stderr]   Downloaded aws-lc-rs v1.16.1
[INFO] [stderr]   Downloaded aws-lc-sys v0.38.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76
[INFO] running `Command { std: "docker" "start" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling aws-lc-rs v1.16.1
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling netrc v0.4.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling bon-macros v3.9.0
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[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 tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling aws-lc-sys v0.38.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling bon v3.9.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling publicsuffix v2.3.0
[INFO] [stderr]    Compiling cookie_store v0.22.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.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 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.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 12s
[INFO] running `Command { std: "docker" "inspect" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling cookie_store v0.22.1
[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 tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[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.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 44.57s
[INFO] running `Command { std: "docker" "inspect" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/labkey_rs-821b6fa4b7365d9c)
[INFO] [stdout] 
[INFO] [stdout] running 526 tests
[INFO] [stdout] test assay::tests::assay_link_variant_count_regression ... ok
[INFO] [stdout] test assay::tests::assay_link_serializes_exact_wire_values ... ok
[INFO] [stdout] test assay::tests::fit_type_round_trips_all_variants ... ok
[INFO] [stdout] test assay::tests::batch_type_alias_is_run_group ... ok
[INFO] [stdout] test assay::tests::fit_type_serializes_exact_wire_values ... ok
[INFO] [stdout] test assay::tests::assay_protocol_round_trips_all_expected_fields ... ok
[INFO] [stdout] test assay::tests::assay_design_deserializes_minimal_with_defaults ... ok
[INFO] [stdout] test assay::tests::fit_type_variant_count_regression ... ok
[INFO] [stdout] test assay::tests::get_assay_batch_body_serializes_expected_keys ... ok
[INFO] [stdout] test assay::tests::get_assay_batch_envelope_extracts_batch ... ok
[INFO] [stdout] test assay::tests::get_assay_run_validation_rejects_blank_lsid ... ok
[INFO] [stdout] test assay::tests::get_assays_body_sends_flat_fields ... 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::get_nab_runs_validation_rejects_blank_assay_name ... ok
[INFO] [stdout] test assay::tests::get_nab_runs_params_use_query_prefixes_and_filter_encoding ... ok
[INFO] [stdout] test assay::tests::get_protocol_validation_rejects_blank_provider_name ... ok
[INFO] [stdout] test assay::tests::get_study_nab_runs_params_omit_optional_fields_when_absent ... 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_json_mode_with_file_sends_json_and_binary_parts ... ok
[INFO] [stdout] test assay::tests::get_study_nab_graph_url_params_emit_repeated_id_keys ... ok
[INFO] [stdout] test assay::tests::get_protocol_params_support_provider_and_id_modes ... ok
[INFO] [stdout] test assay::tests::import_run_response_deserializes_minimal_path ... ok
[INFO] [stdout] test assay::tests::import_run_response_deserializes_happy_path ... ok
[INFO] [stdout] test assay::tests::import_run_validation_rejects_invalid_inputs ... ok
[INFO] [stdout] test assay::tests::get_assays_body_omits_unset_fields ... ok
[INFO] [stdout] test assay::tests::import_run_use_json_false_matches_default_multipart_mode ... ok
[INFO] [stdout] test assay::tests::import_run_bracket_keys_handle_special_characters ... ok
[INFO] [stdout] test assay::tests::protocol_envelope_extraction_requires_response_data ... ok
[INFO] [stdout] test assay::tests::object_id_validation_rejects_empty_and_blank_values ... 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_study_nab_runs_params_emit_repeated_object_ids_keys ... 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::save_assay_batch_response_deserializes_envelope ... ok
[INFO] [stdout] test assay::tests::save_assay_runs_response_deserializes_runs_array ... ok
[INFO] [stdout] test assay::tests::save_assay_runs_body_serializes_protocol_and_runs ... ok
[INFO] [stdout] test assay::tests::save_protocol_body_serializes_directly_from_assay_protocol ... ok
[INFO] [stdout] test assay::tests::validate_get_assay_batch_rejects_blank_protocol_name ... ok
[INFO] [stdout] test assay::tests::import_run_source_variants_map_to_expected_part_names ... ok
[INFO] [stdout] test assay::tests::validate_save_assay_batch_rejects_blank_protocol_name ... ok
[INFO] [stdout] test assay::tests::validate_save_assay_batch_rejects_non_positive_assay_id ... ok
[INFO] [stdout] test assay::tests::validate_save_assay_runs_rejects_blank_protocol_name ... ok
[INFO] [stdout] test assay::tests::assay_link_round_trips_all_variants ... ok
[INFO] [stdout] test assay::tests::validate_save_assay_runs_rejects_empty_runs ... ok
[INFO] [stdout] test assay::tests::validate_save_assay_batch_accepts_valid_inputs ... ok
[INFO] [stdout] test assay::tests::assay_design_deserializes_with_link_keys ... ok
[INFO] [stdout] test assay::tests::import_run_json_mode_with_non_file_source_sends_single_json_part ... ok
[INFO] [stdout] test assay::tests::import_run_non_json_mode_uses_expected_part_names_and_bracket_keys ... 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_handles_exception_with_errors_array ... 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_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_returns_none_for_normal_response ... ok
[INFO] [stdout] test client::tests::build_url_with_container_override ... ok
[INFO] [stdout] test client::tests::build_post_request_with_params_matches_expected_query_and_headers ... ok
[INFO] [stdout] test client::tests::build_url_bare_container ... 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_basic ... ok
[INFO] [stdout] test client::tests::build_url_encodes_special_characters_in_container ... ok
[INFO] [stdout] test client::tests::new_accepts_self_signed_certs_option ... ok
[INFO] [stdout] test client::tests::build_get_request_matches_expected_url_and_headers ... 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_detailed ... ok
[INFO] [stdout] test common::tests::audit_behavior_round_trip_none ... ok
[INFO] [stdout] test common::tests::audit_behavior_round_trip_summary ... ok
[INFO] [stdout] test common::tests::container_filter_to_string_returns_expected_wire_value ... ok
[INFO] [stdout] test common::tests::opt_returns_key_value_pair_for_some_value ... ok
[INFO] [stdout] test common::tests::opt_returns_none_for_none_value ... ok
[INFO] [stdout] test assay::tests::all_assay_endpoint_urls_match_expected_routes ... ok
[INFO] [stdout] test client::tests::build_post_request_matches_expected_url_and_headers ... ok
[INFO] [stdout] test di::tests::reset_transform_state_response_deserializes_success ... ok
[INFO] [stdout] test di::tests::run_transform_response_deserializes_all_java_fields ... 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::transform_id_body_sends_string_transform_id_for_numeric_selector ... ok
[INFO] [stdout] test di::tests::update_body_includes_enabled_and_verbose_logging_when_set ... ok
[INFO] [stdout] test di::tests::update_body_includes_only_enabled_when_verbose_logging_unset ... ok
[INFO] [stdout] test di::tests::update_body_sends_only_transform_id_when_no_optionals_set ... ok
[INFO] [stdout] test di::tests::update_transform_configuration_response_deserializes_minimal ... ok
[INFO] [stdout] test di::tests::update_transform_configuration_response_deserializes_with_result_envelope ... ok
[INFO] [stdout] test common::tests::audit_behavior_variant_count_regression ... ok
[INFO] [stdout] test di::tests::validation_rejects_blank_name ... ok
[INFO] [stdout] test di::tests::validation_rejects_non_positive_id ... ok
[INFO] [stdout] test di::tests::reset_transform_state_response_deserializes_minimal ... ok
[INFO] [stdout] test client::tests::build_url_strips_extra_slashes ... ok
[INFO] [stdout] test client::tests::build_url_encodes_ampersand_in_container ... 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 domain::tests::domain_kind_round_trips_all_variants ... ok
[INFO] [stdout] test domain::tests::domain_kind_serializes_to_expected_wire_values ... 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 domain::tests::get_properties_body_omits_property_uris_when_none ... ok
[INFO] [stdout] test di::tests::validation_accepts_valid_selectors ... ok
[INFO] [stdout] test domain::tests::get_properties_body_serializes_property_uris_with_acronym_casing ... ok
[INFO] [stdout] test domain::tests::property_usages_envelope_extracts_data ... ok
[INFO] [stdout] test domain::tests::property_usages_missing_data_returns_unexpected_response ... ok
[INFO] [stdout] test assay::tests::get_assay_run_body_contains_required_lsid ... 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 error::tests::api_error_body_deserializes_with_missing_fields ... ok
[INFO] [stdout] test error::tests::api_error_body_display_with_message_only ... ok
[INFO] [stdout] test error::tests::api_error_body_display_without_message ... ok
[INFO] [stdout] test error::tests::api_error_body_display_with_message_and_class ... ok
[INFO] [stdout] test error::tests::is_api_version_error_returns_false_for_non_api_variants ... ok
[INFO] [stdout] test error::tests::is_api_version_error_returns_false_for_other_exception_class ... ok
[INFO] [stdout] test client::tests::csrf_token_header_is_absent_when_not_configured ... 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_true_for_api_version_exception ... ok
[INFO] [stdout] test error::tests::labkey_error_display_unexpected_response ... ok
[INFO] [stdout] test error::tests::labkey_error_from_serde_json_error ... 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 experiment::tests::batch_and_runs_envelope_extraction_handles_success_and_missing_fields ... ok
[INFO] [stdout] test error::tests::is_api_version_error_returns_false_when_exception_class_is_none ... ok
[INFO] [stdout] test experiment::tests::entity_kind_name_rejects_unknown_wire_value ... ok
[INFO] [stdout] test experiment::tests::create_hidden_run_group_body_uses_exactly_one_input_mode ... ok
[INFO] [stdout] test experiment::tests::entity_kind_name_serializes_exact_wire_values ... ok
[INFO] [stdout] test client::tests::csrf_token_header_is_sent_when_configured ... ok
[INFO] [stdout] test experiment::tests::exp_data_absolute_path_defaults_when_absent ... ok
[INFO] [stdout] test experiment::tests::exp_data_deserializes_absolute_path ... ok
[INFO] [stdout] test experiment::tests::entity_kind_name_variant_count_regression ... ok
[INFO] [stdout] test experiment::tests::entity_kind_name_round_trips_all_variants ... 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_variant_count_regression ... ok
[INFO] [stdout] test experiment::tests::exp_type_round_trips_all_variants ... ok
[INFO] [stdout] test experiment::tests::lineage_node_deserializes_exp_type_into_typed_field ... ok
[INFO] [stdout] test experiment::tests::lineage_node_deserializes_nested_parents_and_children ... 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::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_validation_rejects_missing_and_conflicting_lsid_inputs ... ok
[INFO] [stdout] test experiment::tests::resolve_envelope_extracts_data ... ok
[INFO] [stdout] test experiment::tests::resolve_missing_data_returns_unexpected_response ... ok
[INFO] [stdout] test experiment::tests::resolve_params_include_repeated_lsids_and_converter_flags ... ok
[INFO] [stdout] test experiment::tests::resolve_validation_rejects_missing_or_blank_lsids ... ok
[INFO] [stdout] test experiment::tests::experiment_batch_and_run_validation_rejects_invalid_input ... ok
[INFO] [stdout] test experiment::tests::get_entity_sequence_params_include_seq_type_and_optional_fields ... ok
[INFO] [stdout] test experiment::tests::run_deserializes_five_new_fields ... ok
[INFO] [stdout] test experiment::tests::run_group_batch_protocol_id_defaults_to_zero_when_absent ... ok
[INFO] [stdout] test experiment::tests::run_group_batch_protocol_id_deserializes_present_value ... ok
[INFO] [stdout] test experiment::tests::run_group_round_trips_serde ... ok
[INFO] [stdout] test experiment::tests::save_batch_body_wraps_single_batch_in_array ... ok
[INFO] [stdout] test experiment::tests::save_materials_delegates_to_insert_rows_samples_schema ... 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 experiment::tests::set_entity_sequence_body_serializes_seq_type_and_omits_absent_optionals ... ok
[INFO] [stdout] test experiment::tests::save_batch_body_omits_assay_id_when_none ... ok
[INFO] [stdout] test experiment::tests::run_new_fields_default_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 filter::tests::between_json_encoding_contains_correct_values ... 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_rejects_unknown_variant_on_deserialization ... ok
[INFO] [stdout] test filter::tests::container_filter_round_trips_all_variants ... ok
[INFO] [stdout] test filter::tests::container_filter_serializes_to_expected_string ... ok
[INFO] [stdout] test filter::tests::default_filter_for_column_type_matches_js_defaults ... ok
[INFO] [stdout] test filter::tests::default_filter_is_always_in_the_types_list ... ok
[INFO] [stdout] test filter::tests::description_empty_filters_returns_empty_string ... ok
[INFO] [stdout] test experiment::tests::validate_assay_identity_rejects_whitespace_only_name ... 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::description_single_filter ... 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_multi_vec_produces_empty_string ... ok
[INFO] [stdout] test filter::tests::encode_filters_empty_array_returns_empty ... ok
[INFO] [stdout] test filter::tests::empty_single_value_produces_empty_string ... ok
[INFO] [stdout] test domain::tests::conditional_format_round_trips_serde ... ok
[INFO] [stdout] test filter::tests::encode_filters_handles_duplicate_column_and_type_as_separate_entries ... ok
[INFO] [stdout] test filter::tests::encode_filters_produces_correct_pairs ... ok
[INFO] [stdout] test client::tests::guest_credential_sends_no_authorization_header ... ok
[INFO] [stdout] test filter::tests::encode_filters_skips_value_required_filter_with_no_value ... ok
[INFO] [stdout] test filter::tests::equal_filter_encoding ... ok
[INFO] [stdout] test filter::tests::encode_filters_with_custom_data_region ... ok
[INFO] [stdout] test filter::tests::filter_type_accessor_returns_correct_op ... ok
[INFO] [stdout] test filter::tests::filter_type_url_suffix_snapshot ... ok
[INFO] [stdout] test filter::tests::filter_types_float_and_int_have_same_operators ... ok
[INFO] [stdout] test filter::tests::filter_types_for_array_uses_array_operators ... ok
[INFO] [stdout] test filter::tests::filter_types_for_date_uses_date_specific_operators ... ok
[INFO] [stdout] test filter::tests::filter_types_for_boolean_is_limited ... ok
[INFO] [stdout] test filter::tests::filter_types_for_int_excludes_text_operators ... 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_name_returns_none_for_unknown ... 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_json_encoded_multi_value ... ok
[INFO] [stdout] test filter::tests::from_parameters_handles_multi_valued_in_filter ... ok
[INFO] [stdout] test filter::tests::filter_types_for_string_includes_text_operators ... ok
[INFO] [stdout] test filter::tests::from_parameters_handles_no_value_filter ... ok
[INFO] [stdout] test filter::tests::from_parameters_handles_table_wise_q_filter ... ok
[INFO] [stdout] test filter::tests::from_parameters_round_trips_with_encode_filters ... ok
[INFO] [stdout] test filter::tests::from_parameters_skips_unknown_suffixes ... ok
[INFO] [stdout] test filter::tests::from_parameters_skips_wrong_data_region ... ok
[INFO] [stdout] test filter::tests::from_url_suffix_returns_none_for_unknown ... ok
[INFO] [stdout] test filter::tests::from_parameters_skips_params_without_tilde ... ok
[INFO] [stdout] test filter::tests::has_any_value_filter_has_empty_suffix ... ok
[INFO] [stdout] test filter::tests::has_missing_value_filter_has_empty_value ... ok
[INFO] [stdout] test filter::tests::in_filter_with_semicolon_separated_values ... ok
[INFO] [stdout] test filter::tests::in_filter_uses_json_encoding_when_value_contains_separator ... ok
[INFO] [stdout] test filter::tests::json_column_type_from_type_string_accepts_aliases ... ok
[INFO] [stdout] test filter::tests::json_column_type_from_type_string_case_insensitive ... 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_returns_none_for_unknown ... ok
[INFO] [stdout] test filter::tests::merge_replaces_column_filters ... 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_with_no_matching_column_preserves_all ... ok
[INFO] [stdout] test filter::tests::multi_value_on_non_multi_filter_falls_back_to_semicolon ... ok
[INFO] [stdout] test filter::tests::no_value_filter_types ... ok
[INFO] [stdout] test filter::tests::programmatic_name_matches_java_canonical_names ... ok
[INFO] [stdout] test filter::tests::programmatic_name_round_trips_through_from_name ... ok
[INFO] [stdout] test filter::tests::q_filter_forces_column_to_star ... ok
[INFO] [stdout] test filter::tests::is_blank_filter_has_empty_value ... 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::url_suffix_round_trips_through_from_url_suffix ... ok
[INFO] [stdout] test client::tests::new_accepts_proxy_url_option ... ok
[INFO] [stdout] test list::tests::create_list_delegation_maps_int_list_expected_fields ... ok
[INFO] [stdout] test filter::tests::where_filter_is_table_wise_and_uses_star_column ... ok
[INFO] [stdout] test list::tests::auto_increment_integer_maps_to_int_list_domain_with_key_type ... ok
[INFO] [stdout] test list::tests::create_list_falls_back_to_options_name_when_no_domain_design_provided ... ok
[INFO] [stdout] test client::tests::build_url_no_context_path ... ok
[INFO] [stdout] test list::tests::create_list_preserves_domain_design_with_none_name ... ok
[INFO] [stdout] test list::tests::int_list_does_not_inject_key_type ... ok
[INFO] [stdout] test list::tests::create_list_rejects_blank_name_or_key_name ... ok
[INFO] [stdout] test list::tests::create_list_gives_domain_design_name_precedence_over_options_name ... ok
[INFO] [stdout] test list::tests::list_key_type_variant_count_regression ... ok
[INFO] [stdout] test list::tests::shorthand_description_folds_into_domain_design ... ok
[INFO] [stdout] test list::tests::shorthand_fields_fold_into_domain_design ... ok
[INFO] [stdout] test list::tests::shorthand_indices_fold_into_domain_design ... ok
[INFO] [stdout] test list::tests::var_list_injects_key_type_varchar_into_options ... ok
[INFO] [stdout] test list::tests::validation_accepts_domain_design_without_shorthands ... ok
[INFO] [stdout] test list::tests::validation_rejects_domain_design_with_shorthand_fields ... ok
[INFO] [stdout] test list::tests::validation_rejects_domain_design_with_shorthand_fields_via_fields ... ok
[INFO] [stdout] test message::tests::message_enums_round_trip_and_counts_remain_stable ... 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 participant_group::tests::extract_group_returns_group_and_errors_when_missing ... ok
[INFO] [stdout] test message::tests::recipient_principal_id_serializes_with_type_and_principal_id_keys ... ok
[INFO] [stdout] test participant_group::tests::participant_group_body_omits_unset_optionals ... ok
[INFO] [stdout] test pipeline::tests::get_file_status_validation_rejects_blank_path_and_empty_files ... ok
[INFO] [stdout] test pipeline::tests::get_file_status_params_emit_repeated_file_keys_and_required_fields ... ok
[INFO] [stdout] test pipeline::tests::get_protocols_params_emit_include_workbooks_true_when_set ... ok
[INFO] [stdout] test pipeline::tests::get_protocols_params_include_workbooks_defaults_to_false ... 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::get_protocols_validation_rejects_blank_task_id ... ok
[INFO] [stdout] test pipeline::tests::start_analysis_params_pass_string_json_parameters_through_without_double_encoding ... ok
[INFO] [stdout] test pipeline::tests::start_analysis_params_prefer_configure_xml_when_both_config_formats_are_set ... 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_minimal ... 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 query::tests::data_view_type_deserializes_exact_wire_values ... 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_variant_count_regression ... ok
[INFO] [stdout] test query::tests::delete_query_view_body_complete_only_emits_when_revert_is_set ... 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::get_data_body_serializes_query_source_and_optional_sections ... ok
[INFO] [stdout] test client::tests::custom_user_agent_is_applied_to_client_configuration ... 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 domain::tests::domain_design_and_field_use_uri_wire_keys ... 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_queries_response_deserializes_with_nested_queries ... 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 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::between_filter_with_comma_separated_values ... ok
[INFO] [stdout] test query::tests::import_data_response_deserializes_without_job_id ... ok
[INFO] [stdout] test query::tests::import_data_response_deserializes_with_job_id ... ok
[INFO] [stdout] test query::tests::insert_option_rejects_unknown_wire_value ... ok
[INFO] [stdout] test query::tests::insert_option_serializes_exact_wire_values ... ok
[INFO] [stdout] test query::tests::insert_option_deserializes_exact_wire_values ... ok
[INFO] [stdout] test query::tests::import_data_response_deserializes_without_row_count ... ok
[INFO] [stdout] test query::tests::insert_option_variant_count_regression ... ok
[INFO] [stdout] test query::tests::modify_rows_results_deserializes_happy_path ... ok
[INFO] [stdout] test query::tests::modify_rows_results_deserializes_minimal_with_zero_rows_affected ... 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_deserializes_all_is_aliases ... ok
[INFO] [stdout] test query::tests::query_column_booleans_default_false_when_absent ... ok
[INFO] [stdout] test query::tests::query_column_deserializes_camel_case_booleans ... 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::move_rows_response_deserializes_happy_path ... 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_details_column_deserializes_optional_fields_present ... 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 di::tests::di_endpoint_urls_match_expected_actions_without_api_suffix ... ok
[INFO] [stdout] test query::tests::query_column_deserializes_is_hidden_alias ... ok
[INFO] [stdout] test query::tests::response_metadata_deserializes_import_fields ... ok
[INFO] [stdout] test query::tests::request_method_defaults_to_get ... 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 query::tests::save_rows_response_deserializes_with_empty_commands ... ok
[INFO] [stdout] test query::tests::save_rows_command_serializes_command_wire_value ... ok
[INFO] [stdout] test query::tests::save_session_view_body_uses_flat_query_dot_keys ... ok
[INFO] [stdout] test query::tests::select_distinct_options_includes_method_field ... 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::select_rows_response_deserializes_with_metadata ... ok
[INFO] [stdout] test query::tests::select_distinct_options_method_defaults_to_none ... 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_minimal ... 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 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_round_trips ... 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_decodes_json_typed_values ... ok
[INFO] [stdout] test report::tests::decode_json_output_params_errors_on_invalid_json_string ... ok
[INFO] [stdout] test report::tests::delete_session_validation_requires_non_blank_report_session_id ... ok
[INFO] [stdout] test client::tests::build_url_root_container ... ok
[INFO] [stdout] test report::tests::execute_function_body_flattens_input_params_using_bracket_notation ... ok
[INFO] [stdout] test report::tests::execute_function_validation_requires_non_blank_function_name ... ok
[INFO] [stdout] test report::tests::execute_validation_requires_report_id_or_report_name ... ok
[INFO] [stdout] test report::tests::delete_session_uses_query_param_shape ... ok
[INFO] [stdout] test report::tests::execute_body_flattens_input_params_using_bracket_notation ... 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 security::constants::tests::permission_types_exhaustive_values ... 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_rejects_missing_envelope ... ok
[INFO] [stdout] test security::container::tests::extract_readable_containers_rejects_non_array_envelope ... ok
[INFO] [stdout] test security::container::tests::extract_readable_containers_returns_paths_from_envelope ... ok
[INFO] [stdout] test security::container::tests::get_containers_extracts_envelope_response ... ok
[INFO] [stdout] test security::container::tests::get_containers_extracts_single_object_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_params_single_container_omits_multiple_containers_flag ... ok
[INFO] [stdout] test security::container::tests::get_containers_rejects_invalid_envelope_field ... ok
[INFO] [stdout] test domain::tests::all_domain_endpoint_urls_match_expected_routes ... ok
[INFO] [stdout] test security::container::tests::get_containers_rejects_null_envelope_field ... ok
[INFO] [stdout] test security::container::tests::get_modules_response_deserializes_minimal_defaults ... ok
[INFO] [stdout] test security::container::tests::get_modules_response_deserializes_with_nested_module_info ... 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::move_container_body_serializes_required_and_optional_fields ... ok
[INFO] [stdout] test security::container::tests::move_container_rejects_mismatched_container_and_container_path ... ok
[INFO] [stdout] test security::container::tests::rename_container_body_serializes_body_fields ... ok
[INFO] [stdout] test security::container::tests::rename_container_requires_name_or_title ... ok
[INFO] [stdout] test client::tests::build_get_request_applies_timeout_option ... 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::group::tests::create_group_body_serializes_name_key_not_group_name ... ok
[INFO] [stdout] test security::group::tests::create_group_rejects_empty_group_name ... ok
[INFO] [stdout] test security::group::tests::delete_group_response_deserializes ... 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::rename_group_response_deserializes ... ok
[INFO] [stdout] test security::container::tests::get_folder_types_response_deserializes_schema_keyed_map ... ok
[INFO] [stdout] test security::permission::tests::extract_securable_resources_rejects_missing_envelope ... ok
[INFO] [stdout] test domain::tests::validate_name_expressions_passes_include_name_preview_to_request_body ... 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 experiment::tests::all_experiment_endpoint_urls_match_expected_routes ... 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 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::policy_validation_rejects_empty_resource_id ... ok
[INFO] [stdout] test security::constants::tests::system_groups_exhaustive_values ... ok
[INFO] [stdout] test client::tests::default_user_agent_includes_crate_version ... ok
[INFO] [stdout] test security::policy::tests::save_policy_body_serializes_typed_policy_correctly ... 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::session::tests::delete_user_response_deserializes_typed_fields_and_extra ... ok
[INFO] [stdout] test security::session::tests::delete_user_body_serializes_id_field ... 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 message::tests::message_endpoint_url_matches_expected_action ... ok
[INFO] [stdout] test security::policy::tests::get_policy_envelope_deserializes ... ok
[INFO] [stdout] test query::tests::import_data_rejects_invalid_file_mime_type ... ok
[INFO] [stdout] test security::session::tests::who_am_i_response_deserializes_minimal_path ... ok
[INFO] [stdout] test pipeline::tests::pipeline_endpoint_urls_match_expected_actions ... ok
[INFO] [stdout] test security::types::tests::container_deserializes_full_js_shape ... ok
[INFO] [stdout] test query::tests::get_data_query_source_with_empty_query_name_returns_invalid_input ... ok
[INFO] [stdout] test security::types::tests::container_formats_deserializes ... ok
[INFO] [stdout] test security::types::tests::container_hierarchy_defaults_new_fields_when_absent ... ok
[INFO] [stdout] test security::types::tests::container_hierarchy_deserializes_effective_permissions_and_module_properties ... 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_minimal_fixture ... ok
[INFO] [stdout] test security::types::tests::has_effective_permission_finds_matching_permission ... ok
[INFO] [stdout] test security::types::tests::group_deserializes_full_js_shape ... 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::module_info_deserializes_minimal_fixture ... ok
[INFO] [stdout] test security::types::tests::module_property_deserializes_all_fields ... ok
[INFO] [stdout] test security::types::tests::module_property_minimal_deserialization ... ok
[INFO] [stdout] test security::types::tests::module_property_value_accepts_nested_json_objects ... 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::module_info_deserializes_with_widened_properties ... ok
[INFO] [stdout] test security::types::tests::securable_resource_deserializes_all_js_fields ... ok
[INFO] [stdout] test security::types::tests::user_deserializes_full_js_shape ... ok
[INFO] [stdout] test security::types::tests::securable_resource_deserializes_minimal_fixture ... 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::get_users_params_follow_group_precedence_and_repeat_permissions ... 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_rejects_blank_permission_values ... ok
[INFO] [stdout] test security::user::tests::get_users_response_deserializes_minimal_fixture ... ok
[INFO] [stdout] test security::session::tests::who_am_i_response_accepts_java_style_id_field ... ok
[INFO] [stdout] test security::session::tests::who_am_i_response_deserializes_from_fixture ... ok
[INFO] [stdout] test security::types::tests::group_deserializes_group_id_alias ... ok
[INFO] [stdout] test security::user::tests::get_users_response_deserializes_happy_path ... 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_descending_has_minus_prefix ... ok
[INFO] [stdout] test participant_group::tests::participant_group_endpoint_url_matches_expected_action ... ok
[INFO] [stdout] test sort::tests::display_empty_sort_is_empty_string ... ok
[INFO] [stdout] test sort::tests::column_sort_display_ascending_has_no_prefix ... ok
[INFO] [stdout] test sort::tests::column_sort_new_with_explicit_direction ... ok
[INFO] [stdout] test sort::tests::from_vec_constructs_query_sort ... ok
[INFO] [stdout] test sort::tests::parse_empty_string_produces_empty_sort ... ok
[INFO] [stdout] test sort::tests::parse_handles_explicit_plus_prefix ... ok
[INFO] [stdout] test security::user::tests::get_users_with_permissions_params_include_api_version_and_include_inactive ... ok
[INFO] [stdout] test sort::tests::display_round_trips_through_parse ... ok
[INFO] [stdout] test sort::tests::parse_lookup_column_with_slash ... 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_skips_empty_segments ... ok
[INFO] [stdout] test sort::tests::sort_direction_deserializes_asc_desc_strings ... ok
[INFO] [stdout] test sort::tests::parse_skips_bare_minus ... ok
[INFO] [stdout] test sort::tests::parse_trims_whitespace_around_segments ... 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::sort_direction_round_trips_through_serde ... ok
[INFO] [stdout] test sort::tests::sort_direction_variant_count_regression ... ok
[INFO] [stdout] test sort::tests::sort_direction_serializes_to_wire_strings ... ok
[INFO] [stdout] test sort::tests::sort_direction_deserializes_plus_minus_aliases ... ok
[INFO] [stdout] test sort::tests::sort_direction_default_is_ascending ... ok
[INFO] [stdout] test specimen::tests::specimen_request_bodies_serialize_expected_wire_keys ... ok
[INFO] [stdout] test specimen::tests::vial_id_types_and_identifiers_serialize_expected_wire_values ... ok
[INFO] [stdout] test storage::tests::create_storage_body_serializes_type_and_props ... ok
[INFO] [stdout] test storage::tests::delete_storage_body_has_required_row_id_shape ... 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::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::dimension_values_extraction_requires_success_true_and_values ... ok
[INFO] [stdout] test query::tests::get_data_sql_source_with_empty_sql_returns_invalid_input ... ok
[INFO] [stdout] test query::tests::query_endpoint_urls_match_expected_actions ... ok
[INFO] [stdout] test visualization::tests::get_visualization_data_converts_measure_filters_to_encoded_strings ... 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 visualization::tests::envelope_extractors_require_expected_fields ... ok
[INFO] [stdout] test query::tests::query_misc_endpoint_urls_match_expected_actions ... 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 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::container::tests::security_container_endpoint_urls_match_expected_actions ... ok
[INFO] [stdout] test security::permission::tests::security_permission_endpoint_urls_match_expected_actions ... ok
[INFO] [stdout] test specimen::tests::repositories_and_web_part_groups_post_without_json_body ... ok
[INFO] [stdout] test security::group::tests::security_group_endpoint_urls_match_expected_actions ... ok
[INFO] [stdout] test visualization::tests::get_visualization_data_url_uses_default_no_api_and_custom_endpoint_verbatim ... ok
[INFO] [stdout] test specimen::tests::specimen_endpoint_urls_match_expected_actions_part_1 ... ok
[INFO] [stdout] test visualization::tests::visualization_endpoint_urls_match_expected_actions ... ok
[INFO] [stdout] test visualization::tests::visualization_response_accepts_non_numeric_owner_id_and_complex_report_props ... ok
[INFO] [stdout] test security::session::tests::security_session_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 specimen::tests::specimen_endpoint_urls_match_expected_actions_part_2 ... 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.39s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/client_integration.rs (/opt/rustwide/target/debug/deps/client_integration-664c49d65bbe4f07)
[INFO] [stdout] 
[INFO] [stdout] running 145 tests
[INFO] [stdout] test create_container_with_container_path_override ... ok
[INFO] [stdout] test delete_query_view_complete_semantics_follow_revert ... ok
[INFO] [stdout] test ensure_login_gets_expected_endpoint_and_deserializes_current_user ... ok
[INFO] [stdout] test create_list_delegates_to_create_domain_with_expected_mapping ... ok
[INFO] [stdout] test create_session_posts_expected_json_body ... ok
[INFO] [stdout] test delete_container_posts_comment_and_uses_container_path ... ok
[INFO] [stdout] test create_container_posts_name_and_optional_fields ... 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_new_user_posts_expected_body_and_deserializes_response ... ok
[INFO] [stdout] test execute_function_and_get_sessions_use_reports_routes ... ok
[INFO] [stdout] test delete_policy_rejects_blank_resource_id ... ok
[INFO] [stdout] test create_storage_item_non_json_error_maps_to_unexpected_response ... ok
[INFO] [stdout] test delete_rows_supports_empty_rows_payload ... ok
[INFO] [stdout] test add_group_members_rejects_empty_principal_ids ... 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 get_data_non_json_error_maps_to_unexpected_response ... ok
[INFO] [stdout] test delete_policy_sends_expected_request_shape ... ok
[INFO] [stdout] test execute_sql_includes_details_column_when_set ... ok
[INFO] [stdout] test get_containers_sends_query_params_and_deserializes_single_container ... ok
[INFO] [stdout] test get_data_views_invalid_data_envelope_maps_to_unexpected_response ... ok
[INFO] [stdout] test get_data_views_missing_data_envelope_maps_to_unexpected_response ... ok
[INFO] [stdout] test get_assay_run_extracts_run_from_envelope ... ok
[INFO] [stdout] test get_data_sql_source_waf_encodes_sql_and_omits_absent_optionals ... ok
[INFO] [stdout] test get_data_query_source_posts_expected_body_and_returns_rows ... ok
[INFO] [stdout] test get_data_posts_transforms_and_pivot_shape ... ok
[INFO] [stdout] test get_data_views_posts_browse_data_body_and_extracts_data_envelope ... ok
[INFO] [stdout] test get_group_permissions_sends_expected_params_and_deserializes_children ... ok
[INFO] [stdout] test get_data_json_error_maps_to_api_error ... ok
[INFO] [stdout] test get_policy_rejects_blank_resource_id ... ok
[INFO] [stdout] test get_containers_with_multiple_containers_sends_flag ... ok
[INFO] [stdout] test execute_sql_omits_negative_max_rows_and_zero_offset ... ok
[INFO] [stdout] test get_queries_sends_expected_params_and_deserializes_nested_queries ... ok
[INFO] [stdout] test get_file_status_timeout_maps_to_http_error ... ok
[INFO] [stdout] test get_folder_types_posts_and_deserializes_folder_map ... ok
[INFO] [stdout] test execute_sql_sends_expected_post_request_shape ... ok
[INFO] [stdout] test get_protocols_posts_query_params_with_default_include_workbooks_false ... ok
[INFO] [stdout] test get_file_status_posts_query_params_and_no_json_body ... ok
[INFO] [stdout] test get_query_details_supports_multiple_fields_and_view_names ... ok
[INFO] [stdout] test get_pipeline_container_uses_expected_get_route ... ok
[INFO] [stdout] test get_securable_resources_extracts_envelope_and_params ... ok
[INFO] [stdout] test get_readable_containers_sends_expected_params_and_extracts_envelope ... ok
[INFO] [stdout] test get_query_details_sends_expected_get_request_shape ... ok
[INFO] [stdout] test get_queries_json_error_maps_to_api_error ... ok
[INFO] [stdout] test get_groups_for_current_user_gets_expected_response_shape ... ok
[INFO] [stdout] test get_queries_supports_minimal_required_options ... ok
[INFO] [stdout] test get_modules_posts_and_deserializes_module_info_array ... ok
[INFO] [stdout] test get_readable_containers_non_array_envelope_maps_to_unexpected_response ... ok
[INFO] [stdout] test get_readable_containers_invalid_envelope_maps_to_unexpected_response ... ok
[INFO] [stdout] test get_policy_posts_body_and_stamps_requested_resource_id ... ok
[INFO] [stdout] test get_schemas_deserializes_schema_keyed_fixture_response ... ok
[INFO] [stdout] test get_query_views_sends_expected_params ... ok
[INFO] [stdout] test get_user_permissions_prefers_user_id_and_omits_user_email ... ok
[INFO] [stdout] test get_server_date_uses_no_container_path_and_no_params ... ok
[INFO] [stdout] test get_roles_expands_role_permission_references ... ok
[INFO] [stdout] test get_user_permissions_sends_user_email_and_deserializes_response ... ok
[INFO] [stdout] test impersonate_user_rejects_blank_email_target ... ok
[INFO] [stdout] test get_users_with_permissions_sends_expected_params ... ok
[INFO] [stdout] test get_users_with_permissions_rejects_empty_permissions ... ok
[INFO] [stdout] test import_data_sends_path_source ... 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_securable_resources_missing_envelope_maps_to_unexpected_response ... ok
[INFO] [stdout] test group_rename_and_delete_endpoints_send_expected_request_shapes ... ok
[INFO] [stdout] test import_data_json_error_maps_to_api_error ... ok
[INFO] [stdout] test import_data_sends_module_resource_source ... ok
[INFO] [stdout] test get_schemas_non_json_error_maps_to_unexpected_response ... ok
[INFO] [stdout] test move_container_posts_expected_body_and_url_contracts ... ok
[INFO] [stdout] test impersonate_user_query_encodes_email_target_values ... ok
[INFO] [stdout] test import_data_non_json_error_maps_to_unexpected_response ... ok
[INFO] [stdout] test import_data_sends_file_source ... ok
[INFO] [stdout] test json_error_body_maps_to_api_error ... ok
[INFO] [stdout] test logout_posts_no_body_to_login_logout_without_api_suffix ... ok
[INFO] [stdout] test import_data_sends_merge_insert_option_wire_value ... 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 import_data_sends_text_source_and_optional_fields ... ok
[INFO] [stdout] test insert_rows_sends_expected_mutation_request_shape ... ok
[INFO] [stdout] test move_container_rejects_mismatched_container_path_override ... ok
[INFO] [stdout] test report_validation_rejects_blank_required_fields ... ok
[INFO] [stdout] test reset_transform_state_posts_expected_no_suffix_route_and_body_shape ... ok
[INFO] [stdout] test save_policy_sends_expected_request_shape ... ok
[INFO] [stdout] test save_query_views_emits_true_flags_and_metadata ... ok
[INFO] [stdout] test import_data_succeeds_without_row_count_in_response ... ok
[INFO] [stdout] test resolve_sends_repeated_lsids_query_params ... ok
[INFO] [stdout] test non_json_error_body_maps_to_unexpected_response ... ok
[INFO] [stdout] test group_create_and_membership_endpoints_send_expected_request_shapes ... ok
[INFO] [stdout] test save_session_view_uses_flat_query_dot_keys ... ok
[INFO] [stdout] test move_rows_sends_expected_request_shape ... ok
[INFO] [stdout] test run_transform_posts_expected_no_suffix_route_and_body_shape ... ok
[INFO] [stdout] test select_distinct_rows_uses_post_form_body_when_method_is_post ... ok
[INFO] [stdout] test remove_group_members_rejects_empty_principal_ids ... ok
[INFO] [stdout] test select_distinct_rows_supports_custom_data_region_and_positive_max_rows ... ok
[INFO] [stdout] test save_rows_supports_empty_commands ... ok
[INFO] [stdout] test report_endpoints_honor_container_path_override ... ok
[INFO] [stdout] test select_rows_defaults_data_region_name_to_query ... ok
[INFO] [stdout] test save_rows_sends_command_wire_values ... ok
[INFO] [stdout] test save_query_views_omits_false_boolean_flags ... ok
[INFO] [stdout] test rename_container_posts_name_and_alias ... ok
[INFO] [stdout] test select_rows_method_post_with_custom_data_region ... ok
[INFO] [stdout] test rename_container_rejects_missing_name_and_title ... ok
[INFO] [stdout] test select_rows_omits_false_boolean_flags ... ok
[INFO] [stdout] test select_rows_show_rows_all_skips_max_rows_and_offset ... ok
[INFO] [stdout] test select_rows_default_method_is_get ... 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_rows_show_rows_selected_sends_show_rows_param ... ok
[INFO] [stdout] test specimen_get_open_requests_extracts_requests_envelope_and_errors_when_missing ... ok
[INFO] [stdout] test select_distinct_rows_sends_expected_get_request_shape ... ok
[INFO] [stdout] test select_rows_custom_data_region_prefixes_filters_and_params ... ok
[INFO] [stdout] test select_distinct_rows_omits_ignore_filter_when_unset ... ok
[INFO] [stdout] test specimen_add_vials_and_cancel_request_use_expected_contracts ... ok
[INFO] [stdout] test select_rows_method_post_sends_form_encoded_body ... ok
[INFO] [stdout] test select_rows_paginated_honors_max_rows_and_offset ... ok
[INFO] [stdout] test specimen_missing_envelopes_map_to_unexpected_response_with_context ... 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_posts_expected_json_body ... ok
[INFO] [stdout] test select_rows_sends_expected_get_request_shape ... ok
[INFO] [stdout] test send_message_json_error_maps_to_api_error ... ok
[INFO] [stdout] test specimen_get_repositories_and_web_part_groups_post_without_body ... ok
[INFO] [stdout] test start_analysis_json_error_maps_to_api_error ... ok
[INFO] [stdout] test specimen_remove_vials_endpoint_uses_no_api_suffix_and_default_id_type ... ok
[INFO] [stdout] test update_participant_group_errors_when_group_envelope_missing ... ok
[INFO] [stdout] test truncate_table_sends_required_fields_without_rows ... ok
[INFO] [stdout] test start_analysis_posts_query_params_with_configure_json ... 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 start_analysis_non_json_error_maps_to_unexpected_response ... ok
[INFO] [stdout] test update_participant_group_extracts_group_envelope ... ok
[INFO] [stdout] test update_participant_group_honors_container_path_override ... ok
[INFO] [stdout] test storage_endpoints_use_expected_routes_and_body_shapes ... ok
[INFO] [stdout] test specimen_mutation_endpoints_use_expected_body_contracts ... 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 update_rows_sends_expected_mutation_request_shape ... ok
[INFO] [stdout] test stop_impersonating_treats_http_302_as_success_without_following_redirects ... ok
[INFO] [stdout] test who_am_i_deserializes_java_style_id_field ... ok
[INFO] [stdout] test who_am_i_honors_custom_user_agent_header ... ok
[INFO] [stdout] test validate_query_forwards_sql_param ... ok
[INFO] [stdout] test storage_endpoints_honor_container_path_override ... ok
[INFO] [stdout] test who_am_i_gets_login_whoami_api_and_deserializes_fixture_response ... 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] 
[INFO] [stdout] test result: ok. 145 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.91s
[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_batch (line 1095) - compile ... ok
[INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_nab_runs (line 696) - compile ... ok
[INFO] [stdout] test src/client.rs - client::ClientConfig (line 141) - compile ... ok
[INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_assays (line 651) - compile ... ok
[INFO] [stdout] test src/assay.rs - assay::LabkeyClient::save_assay_runs (line 1151) - compile ... ok
[INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_protocol (line 857) - compile ... ok
[INFO] [stdout] test src/di.rs - di::LabkeyClient::run_transform (line 229) - 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::save_protocol (line 902) - compile ... ok
[INFO] [stdout] test src/assay.rs - assay::LabkeyClient::import_run (line 996) - compile ... ok
[INFO] [stdout] test src/../README.md - (line 64) - compile ... ok
[INFO] [stdout] test src/assay.rs - assay::LabkeyClient::get_assay_batch (line 1046) - 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/assay.rs - assay::LabkeyClient::get_study_nab_runs (line 802) - compile ... ok
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::create_domain (line 597) - compile ... ok
[INFO] [stdout] test src/../README.md - (line 135) ... FAILED
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::drop_domain (line 804) - compile ... ok
[INFO] [stdout] test src/di.rs - di::LabkeyClient::reset_transform_state (line 274) - compile ... ok
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::get_property_usages (line 1096) - compile ... ok
[INFO] [stdout] test src/../README.md - (line 26) - compile ... FAILED
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::get_domain_details (line 703) - compile ... ok
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::list_domains (line 898) - compile ... ok
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::validate_name_expressions (line 956) - compile ... ok
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::get_properties (line 1046) - compile ... ok
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::get_domain (line 654) - compile ... ok
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::get_domain_name_previews (line 1000) - compile ... ok
[INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::lineage (line 1163) - compile ... ok
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::save_domain (line 759) - 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::load_batches (line 1432) - compile ... ok
[INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::load_batch (line 1383) - compile ... ok
[INFO] [stdout] test src/domain.rs - domain::LabkeyClient::update_domain (line 853) - 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_materials (line 1575) - 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::resolve (line 1204) - compile ... ok
[INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::save_runs (line 1532) - compile ... ok
[INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::save_batches (line 1326) - compile ... ok
[INFO] [stdout] test src/experiment.rs - experiment::LabkeyClient::load_runs (line 1484) - compile ... ok
[INFO] [stdout] test src/../README.md - (line 161) - compile ... FAILED
[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 172) - compile ... ok
[INFO] [stdout] test src/list.rs - list::LabkeyClient::create_list (line 197) - compile ... ok
[INFO] [stdout] test src/../README.md - (line 147) ... 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_file_status (line 145) - compile ... ok
[INFO] [stdout] test src/pipeline.rs - pipeline::LabkeyClient::get_protocols (line 242) - compile ... ok
[INFO] [stdout] test src/pipeline.rs - pipeline::LabkeyClient::get_pipeline_container (line 200) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::delete_rows (line 3410) - compile ... FAILED
[INFO] [stdout] test src/pipeline.rs - pipeline::LabkeyClient::start_analysis (line 292) - compile ... ok
[INFO] [stdout] test src/query.rs - query::ExecuteSqlOptions (line 964) ... FAILED
[INFO] [stdout] test src/error.rs - error::LabkeyError::is_api_version_error (line 109) ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::delete_query_view (line 3088) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::execute_sql (line 3834) - compile ... FAILED
[INFO] [stdout] test src/query.rs - query::LabkeyClient::get_queries (line 2804) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::get_data_views (line 3141) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::get_query_views (line 2912) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::get_data (line 3759) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::get_query_details (line 2714) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::get_schemas (line 2862) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::import_data (line 3642) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::save_query_views (line 2971) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::move_rows (line 3525) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::select_distinct_rows (line 2625) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::save_rows (line 3582) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::get_server_date (line 3271) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::save_session_view (line 3029) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::update_rows (line 3355) - compile ... FAILED
[INFO] [stdout] test src/report.rs - report::LabkeyClient::create_session (line 172) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::select_rows (line 2491) - compile ... FAILED
[INFO] [stdout] test src/query.rs - query::LabkeyClient::insert_rows (line 3300) - compile ... FAILED
[INFO] [stdout] test src/report.rs - report::LabkeyClient::execute (line 278) - compile ... ok
[INFO] [stdout] test src/report.rs - report::LabkeyClient::execute_function (line 326) - 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::create_container (line 365) - compile ... ok
[INFO] [stdout] test src/query.rs - query::SelectRowsOptions (line 891) ... FAILED
[INFO] [stdout] test src/query.rs - query::LabkeyClient::validate_query (line 3211) - compile ... ok
[INFO] [stdout] test src/report.rs - report::LabkeyClient::get_sessions (line 372) - compile ... ok
[INFO] [stdout] test src/query.rs - query::LabkeyClient::truncate_table (line 3465) - compile ... FAILED
[INFO] [stdout] test src/security/container.rs - security::container::LabkeyClient::get_containers (line 526) - compile ... 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/security/group.rs - security::group::LabkeyClient::create_group (line 265) - compile ... ok
[INFO] [stdout] test src/security/group.rs - security::group::LabkeyClient::delete_group (line 315) - 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::rename_container (line 467) - compile ... ok
[INFO] [stdout] test src/security/container.rs - security::container::LabkeyClient::delete_container (line 419) - compile ... ok
[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::move_container (line 701) - compile ... ok
[INFO] [stdout] test src/security/group.rs - security::group::LabkeyClient::add_group_members (line 213) - compile ... ok
[INFO] [stdout] test src/security/group.rs - security::group::LabkeyClient::remove_group_members (line 411) - 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::rename_group (line 359) - compile ... ok
[INFO] [stdout] test src/security/policy.rs - security::policy::LabkeyClient::delete_policy (line 247) - compile ... ok
[INFO] [stdout] test src/security/permission.rs - security::permission::LabkeyClient::get_user_permissions (line 373) - compile ... ok
[INFO] [stdout] test src/security/permission.rs - security::permission::LabkeyClient::get_group_permissions (line 327) - compile ... ok
[INFO] [stdout] test src/security/permission.rs - security::permission::LabkeyClient::get_securable_resources (line 462) - compile ... ok
[INFO] [stdout] test src/security/policy.rs - security::policy::LabkeyClient::save_policy (line 192) - compile ... FAILED
[INFO] [stdout] test src/security/policy.rs - security::policy::LabkeyClient::get_policy (line 131) - compile ... ok
[INFO] [stdout] test src/security/session.rs - security::session::LabkeyClient::stop_impersonating (line 305) - compile ... ok
[INFO] [stdout] test src/security/session.rs - security::session::LabkeyClient::impersonate_user (line 256) - compile ... ok
[INFO] [stdout] test src/security/session.rs - security::session::LabkeyClient::who_am_i (line 186) - compile ... ok
[INFO] [stdout] test src/security/session.rs - security::session::LabkeyClient::delete_user (line 218) - compile ... FAILED
[INFO] [stdout] test src/security/session.rs - security::session::LabkeyClient::logout (line 156) - compile ... ok
[INFO] [stdout] test src/security/user.rs - security::user::LabkeyClient::create_new_user (line 249) - compile ... ok
[INFO] [stdout] test src/security/user.rs - security::user::LabkeyClient::ensure_login (line 302) - compile ... ok
[INFO] [stdout] test src/security/user.rs - security::user::LabkeyClient::get_users_with_permissions (line 390) - compile ... ok
[INFO] [stdout] test src/security/user.rs - security::user::LabkeyClient::get_users (line 343) - compile ... 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/specimen.rs - specimen::LabkeyClient::cancel_request (line 377) - compile ... ok
[INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::add_vials_to_request (line 326) - compile ... ok
[INFO] [stdout] test src/filter.rs - filter::filter_types_for_column_type (line 815) ... ok
[INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::get_request (line 565) - 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_providing_locations (line 470) - 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_open_requests (line 423) - compile ... ok
[INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::get_vials_by_row_id (line 654) - compile ... ok
[INFO] [stdout] test src/filter.rs - filter::FilterType::from_name (line 347) ... ok
[INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::get_repositories (line 521) - compile ... ok
[INFO] [stdout] test src/filter.rs - filter::JsonColumnType::from_type_string (line 779) ... ok
[INFO] [stdout] test src/filter.rs - filter::Filter (line 447) ... ok
[INFO] [stdout] test src/filter.rs - filter::from_parameters (line 664) ... ok
[INFO] [stdout] test src/visualization.rs - visualization::LabkeyClient::get_dimension_values (line 735) - compile ... ok
[INFO] [stdout] test src/storage.rs - storage::LabkeyClient::update_storage_item (line 172) - 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_vial_type_summary (line 704) - compile ... ok
[INFO] [stdout] test src/filter.rs - filter::FilterType::display_text (line 200) ... ok
[INFO] [stdout] test src/filter.rs - filter::description (line 623) ... ok
[INFO] [stdout] test src/visualization.rs - visualization::LabkeyClient::get_dimensions (line 677) - compile ... ok
[INFO] [stdout] test src/filter.rs - filter::default_filter_for_column_type (line 921) ... ok
[INFO] [stdout] test src/storage.rs - storage::LabkeyClient::delete_storage_item (line 219) - compile ... ok
[INFO] [stdout] test src/visualization.rs - visualization::LabkeyClient::get_visualization_data (line 480) - compile ... ok
[INFO] [stdout] test src/specimen.rs - specimen::LabkeyClient::remove_vials_from_request (line 746) - 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/visualization.rs - visualization::LabkeyClient::get_measures (line 528) - 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/sort.rs - sort (line 19) ... ok
[INFO] [stdout] test src/sort.rs - sort::QuerySort (line 177) ... 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<String>, 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<String>, 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<String>, 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 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:904:9
[INFO] [stdout]     |
[INFO] [stdout] 904 |     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:906:9
[INFO] [stdout]     |
[INFO] [stdout] 906 |     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<String>, 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/../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:904:9
[INFO] [stdout]     |
[INFO] [stdout] 904 |     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:906:9
[INFO] [stdout]     |
[INFO] [stdout] 906 |     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/query.rs - query::LabkeyClient::delete_rows (line 3410) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:3424:26
[INFO] [stdout]      |
[INFO] [stdout] 3424 |             .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:1063:9
[INFO] [stdout]      |
[INFO] [stdout] 1063 |     pub schema_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 3424 |             .schema_name("lists".to_string())
[INFO] [stdout]      |                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:3425:25
[INFO] [stdout]      |
[INFO] [stdout] 3425 |             .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:1065:9
[INFO] [stdout]      |
[INFO] [stdout] 1065 |     pub query_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 3425 |             .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 964) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/query.rs:969:18
[INFO] [stdout]     |
[INFO] [stdout] 969 |     .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:976:9
[INFO] [stdout]     |
[INFO] [stdout] 976 |     pub schema_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 969 |     .schema_name("core".to_string())
[INFO] [stdout]     |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/query.rs:970:10
[INFO] [stdout]     |
[INFO] [stdout] 970 |     .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:978:9
[INFO] [stdout]     |
[INFO] [stdout] 978 |     pub sql: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 970 |     .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::LabkeyClient::execute_sql (line 3834) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:3847:22
[INFO] [stdout]      |
[INFO] [stdout] 3847 |         .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:976:9
[INFO] [stdout]      |
[INFO] [stdout]  976 |     pub schema_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 3847 |         .schema_name("core".to_string())
[INFO] [stdout]      |                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:3848:14
[INFO] [stdout]      |
[INFO] [stdout] 3848 |         .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:978:9
[INFO] [stdout]      |
[INFO] [stdout]  978 |     pub sql: String,
[INFO] [stdout]      |         ^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 3848 |         .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::update_rows (line 3355) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:3369:26
[INFO] [stdout]      |
[INFO] [stdout] 3369 |             .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:1037:9
[INFO] [stdout]      |
[INFO] [stdout] 1037 |     pub schema_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 3369 |             .schema_name("lists".to_string())
[INFO] [stdout]      |                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:3370:25
[INFO] [stdout]      |
[INFO] [stdout] 3370 |             .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:1039:9
[INFO] [stdout]      |
[INFO] [stdout] 1039 |     pub query_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 3370 |             .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 2491) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:2504:22
[INFO] [stdout]      |
[INFO] [stdout] 2504 |         .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:904:9
[INFO] [stdout]      |
[INFO] [stdout]  904 |     pub schema_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 2504 |         .schema_name("lists".to_string())
[INFO] [stdout]      |                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:2505:21
[INFO] [stdout]      |
[INFO] [stdout] 2505 |         .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:906:9
[INFO] [stdout]      |
[INFO] [stdout]  906 |     pub query_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 2505 |         .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::insert_rows (line 3300) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:3314:26
[INFO] [stdout]      |
[INFO] [stdout] 3314 |             .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:1011:9
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     pub schema_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 3314 |             .schema_name("lists".to_string())
[INFO] [stdout]      |                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:3315:25
[INFO] [stdout]      |
[INFO] [stdout] 3315 |             .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:1013:9
[INFO] [stdout]      |
[INFO] [stdout] 1013 |     pub query_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 3315 |             .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::SelectRowsOptions (line 891) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/query.rs:896:18
[INFO] [stdout]     |
[INFO] [stdout] 896 |     .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:904:9
[INFO] [stdout]     |
[INFO] [stdout] 904 |     pub schema_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 896 |     .schema_name("lists".to_string())
[INFO] [stdout]     |                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/query.rs:897:17
[INFO] [stdout]     |
[INFO] [stdout] 897 |     .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:906:9
[INFO] [stdout]     |
[INFO] [stdout] 906 |     pub query_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 897 |     .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 3465) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:3479:26
[INFO] [stdout]      |
[INFO] [stdout] 3479 |             .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:1089:9
[INFO] [stdout]      |
[INFO] [stdout] 1089 |     pub schema_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 3479 |             .schema_name("lists".to_string())
[INFO] [stdout]      |                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/query.rs:3480:25
[INFO] [stdout]      |
[INFO] [stdout] 3480 |             .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:1091:9
[INFO] [stdout]      |
[INFO] [stdout] 1091 |     pub query_name: String,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]      |
[INFO] [stdout] 3480 |             .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 964)
[INFO] [stdout]     src/query.rs - query::LabkeyClient::delete_rows (line 3410)
[INFO] [stdout]     src/query.rs - query::LabkeyClient::execute_sql (line 3834)
[INFO] [stdout]     src/query.rs - query::LabkeyClient::insert_rows (line 3300)
[INFO] [stdout]     src/query.rs - query::LabkeyClient::select_rows (line 2491)
[INFO] [stdout]     src/query.rs - query::LabkeyClient::truncate_table (line 3465)
[INFO] [stdout]     src/query.rs - query::LabkeyClient::update_rows (line 3355)
[INFO] [stdout]     src/query.rs - query::SelectRowsOptions (line 891)
[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.96s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 10.42s; merged doctests compilation took 1.45s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76", kill_on_drop: false }`
[INFO] [stdout] 474dbdc1240d50c9c521d1b3045a358437976e002340add25c475059a1035b76
