[INFO] fetching crate sabiql-infra 3.0.1...
[INFO] testing sabiql-infra-3.0.1 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate sabiql-infra 3.0.1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate sabiql-infra 3.0.1
[INFO] finished tweaking crates.io crate sabiql-infra 3.0.1
[INFO] tweaked toml for crates.io crate sabiql-infra 3.0.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sabiql-infra 3.0.1 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate sabiql-infra 3.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5
[INFO] running `Command { std: "docker" "start" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5", 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" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5", 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" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling crc32fast v1.5.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling thread_local v1.1.10
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling eyre v0.6.14
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling indexmap v2.14.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling pxfm v0.1.30
[INFO] [stderr]    Compiling owo-colors v4.4.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling uuid v1.26.0
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling bytemuck v1.25.2
[INFO] [stderr]    Compiling flate2 v1.1.10
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling lru v0.18.3
[INFO] [stderr]    Compiling unicode-casefold v0.2.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling nucleo-matcher v0.3.1
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling sabiql-domain v3.0.1
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling sabiql-app v3.0.1
[INFO] [stderr]    Compiling sabiql-infra v3.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.33s
[INFO] running `Command { std: "docker" "inspect" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5", 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" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling futures-core v0.3.34
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling rstest_macros v0.19.0
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling futures-timer v3.0.4
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling rstest v0.19.0
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling sabiql-domain v3.0.1
[INFO] [stderr]    Compiling sabiql-app v3.0.1
[INFO] [stderr]    Compiling sabiql-infra v3.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 55.27s
[INFO] running `Command { std: "docker" "inspect" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5", 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" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests lib.rs (/opt/rustwide/target/debug/build/sabiql-infra/d5b216c8691dd306/out/sabiql_infra-d5b216c8691dd306)
[INFO] [stdout] 
[INFO] [stdout] running 1042 tests
[INFO] [stdout] test adapters::cached_result_exporter::tests::cached_csv_cell_tests::null_is_empty_field ... ok
[INFO] [stdout] test adapters::cached_result_exporter::tests::cached_csv_cell_tests::blob_is_uppercase_hex ... ok
[INFO] [stdout] test adapters::cached_result_exporter::tests::cached_csv_cell_tests::text_is_not_display_form ... ok
[INFO] [stdout] test adapters::cached_result_exporter::tests::cached_csv_cell_tests::text_keeps_a_literal_hex_prefix ... ok
[INFO] [stdout] test adapters::cached_result_exporter::tests::cached_csv_cell_tests::text_preserves_embedded_nul_byte ... ok
[INFO] [stdout] test adapters::cached_result_exporter::tests::export_cached_result_to_csv::flushes_incrementally_when_data_exceeds_threshold ... ok
[INFO] [stdout] test adapters::config_writer::tests::io_not_found_remains_io_error ... ok
[INFO] [stdout] test adapters::cached_result_exporter::tests::export_cached_result_to_csv::returns_error_when_file_cannot_be_created ... ok
[INFO] [stdout] test adapters::connection_store::tests::atomic_write::leaves_no_temp_file ... ok
[INFO] [stdout] test adapters::cached_result_exporter::tests::export_cached_result_to_csv::writes_embedded_nul_text_without_display_escaping ... ok
[INFO] [stdout] test adapters::connection_store::tests::loading::reports_error_for_invalid_toml ... ok
[INFO] [stdout] test adapters::connection_store::tests::loading::missing_username_and_blank_host_load_as_empty_strings ... ok
[INFO] [stdout] test adapters::connection_store::tests::lookup::missing_id_returns_none ... ok
[INFO] [stdout] test adapters::connection_store::tests::loading::reports_version_mismatch_for_v1_format ... ok
[INFO] [stdout] test adapters::connection_store::tests::loading::no_file_returns_empty_vec ... ok
[INFO] [stdout] test adapters::config_writer::tests::unavailable_cache_base_maps_to_missing_cache_dir ... ok
[INFO] [stdout] test adapters::connection_store::tests::roundtrip::empty_sqlite_path_returns_invalid_profile ... ok
[INFO] [stdout] test adapters::connection_store::tests::loading::loads_v2_entries_as_postgresql ... ok
[INFO] [stdout] test adapters::cached_result_exporter::tests::export_cached_result_to_csv::writes_header_for_empty_cached_result ... ok
[INFO] [stdout] test adapters::connection_store::tests::storage_path::matches_config_file_path ... ok
[INFO] [stdout] test adapters::csv_export::tests::csv_output_errors_keep_file_and_process_failures_distinct ... ok
[INFO] [stdout] test adapters::csv_export::tests::cancellation_removes_partial_temporary_file ... ok
[INFO] [stdout] test adapters::cached_result_exporter::tests::export_cached_result_to_csv::writes_columns_and_rows ... ok
[INFO] [stdout] test adapters::csv_export::tests::cancellation_after_publication_keeps_successful_file ... ok
[INFO] [stdout] test adapters::csv_export::tests::concurrent_exports_with_same_final_path_allow_only_one_completion ... ok
[INFO] [stdout] test adapters::csv_export::tests::read_only_file_flush_failure_is_export_io ... ok
[INFO] [stdout] test adapters::csv_export::tests::finalize_failure_leaves_no_partial_file ... ok
[INFO] [stdout] test adapters::csv_export::tests::write_failure_leaves_no_partial_file ... ok
[INFO] [stdout] test adapters::csv_export::tests::read_only_file_write_failure_is_export_io ... ok
[INFO] [stdout] test adapters::connection_store::tests::atomic_write::existing_file_preserved_on_save_roundtrip ... ok
[INFO] [stdout] test adapters::er_log_writer::tests::write_er_failure_log_blocking::empty_list_writes_zero_count ... ok
[INFO] [stdout] test adapters::csv_export::tests::temporary_cleanup_failure_keeps_published_file_successful ... ok
[INFO] [stdout] test adapters::er_log_writer::tests::write_er_failure_log_blocking::output_includes_timestamp ... ok
[INFO] [stdout] test adapters::er_log_writer::tests::write_er_failure_log_blocking::multiple_failures_writes_all_details ... ok
[INFO] [stdout] test adapters::mysql::capability::tests::omits_features_for_versions_without_verifiable_components ... ok
[INFO] [stdout] test adapters::mysql::cli::args::tests::adhoc_preview_and_export_arguments_include_streaming_query_options ... ok
[INFO] [stdout] test adapters::mysql::cli::args::tests::connection_arguments_keep_defaults_file_first_and_disable_login_paths ... ok
[INFO] [stdout] test adapters::mysql::cli::args::tests::adhoc_arguments_enable_statement_diagnostics_without_changing_query_options ... ok
[INFO] [stdout] test adapters::connection_store::tests::delete::removes_connection_by_id ... ok
[INFO] [stdout] test adapters::mysql::capability::tests::selects_capabilities_at_mysql_version_boundaries ... ok
[INFO] [stdout] test adapters::mysql::cli::error::tests::classifies_mysql_query_failures_by_server_error ... ok
[INFO] [stdout] test adapters::mysql::cli::error::tests::classifies_mysql_tls_query_failures_as_connection_errors ... ok
[INFO] [stdout] test adapters::connection_store::tests::save::creates_config_directory_if_missing ... ok
[INFO] [stdout] test adapters::connection_store::tests::save::sets_permissions_to_0600 ... ok
[INFO] [stdout] test adapters::mysql::cli::args::tests::metadata_arguments_append_metadata_options_after_connection_arguments ... ok
[INFO] [stdout] test adapters::mysql::cli::diagnostics::tests::parses_warning_note_and_ignores_client_messages ... ok
[INFO] [stdout] test adapters::connection_store::tests::version_mismatch::save_returns_error_instead_of_losing_data ... ok
[INFO] [stdout] test adapters::mysql::cli::args::tests::metadata_session_arguments_keep_result_options_without_query_flags ... ok
[INFO] [stdout] test adapters::mysql::cli::error::tests::classifies_mysql_unknown_database_without_error_code_as_database_not_found ... ok
[INFO] [stdout] test adapters::connection_store::tests::save::duplicate_name_returns_error ... ok
[INFO] [stdout] test adapters::mysql::cli::error::tests::waits_for_a_mysql_error_code_before_matching_a_partial_stderr_line ... ok
[INFO] [stdout] test adapters::mysql::cli::error::tests::classifies_mysql_unknown_host_errno_as_host_unreachable ... ok
[INFO] [stdout] test adapters::csv_export::tests::success_publishes_temporary_file_without_replacing_existing_file ... ok
[INFO] [stdout] test adapters::mysql::cli::error::tests::does_not_use_wording_to_classify_an_unknown_server_error_code ... ok
[INFO] [stdout] test adapters::mysql::cli::error::tests::uses_wording_when_mysql_error_code_is_not_present ... ok
[INFO] [stdout] test adapters::mysql::cli::error::tests::mysql_connect_timeout_classifier_preserves_errno_and_case_rules ... ok
[INFO] [stdout] test adapters::connection_store::tests::delete::nonexistent_id_returns_not_found ... ok
[INFO] [stdout] test adapters::connection_store::tests::save::preserves_existing_app_settings ... ok
[INFO] [stdout] test adapters::connection_store::tests::lookup::existing_id_finds_connection ... ok
[INFO] [stdout] test adapters::connection_store::tests::save::same_id_updates_without_duplicate_error ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::allows_empty_metadata_fallback_after_all_temporary_tables_are_dropped ... ok
[INFO] [stdout] test adapters::mysql::cli::error::tests::preserves_mysql_query_timeout_code_and_message_in_timeout_details ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::csv_export_accepts_one_read_only_result_query ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::failure_before_a_change_keeps_original_error ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::metadata_fallback_keeps_sql_calc_found_rows_identifiers_and_comments ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::metadata_fallback_removes_sql_calc_found_rows_from_executable_comments ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::allows_empty_metadata_fallback_without_temporary_tables ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::metadata_fallback_removes_sql_calc_found_rows_from_the_source_query ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::allows_empty_metadata_fallback_after_temporary_table_is_dropped ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::change_failure_is_not_wrapped_again ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::one_column_one_row_marker_requires_exact_shape_and_value ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::possible_refresh_scope_includes_all_classified_statements ... ok
[INFO] [stdout] test adapters::mysql::cli::export::tests::streams_mysql_xml_rows_into_csv_without_binary_type_inference ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::metadata_fallback_uses_the_server_supported_wrapper ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::read_only_rejects_quoted_side_effect_functions_before_starting_mysql ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::raw_sql_revalidation_honors_case_insensitive_database_modes ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::raw_sql_revalidation_keeps_execution_guards ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::metadata_fallback_wraps_source_query_with_limit_zero ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::metadata_only_select_rejects_known_side_effects ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::refresh_scope_ignores_temporary_table_ddl ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::read_only_rejects_replace_before_starting_mysql ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::read_only_rejects_temporary_table_dml_before_starting_mysql ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::read_only_rejects_read_write_overrides_before_starting_mysql ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::read_write_allows_user_variable_assignment_but_read_only_does_not ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::session_bootstrap_requires_marker_and_allowed_mode ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::regular_insert_command_tags_keep_insert_wording ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::upsert_affected_rows_use_generic_command_tag ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::rejects_empty_metadata_fallback_when_a_temporary_table_remains_active ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::refresh_scope_preserves_data_and_persistent_metadata_changes ... ok
[INFO] [stdout] test adapters::mysql::cli::policy::tests::replace_command_tag_reports_affected_rows_and_refreshes_data ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::classifies_mysql_cli_timeout_errno_before_connection_refusal ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::classifies_mysql_probe_unknown_host_errno_as_host_unreachable ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::classifies_mysql_tls_failures_before_the_app_boundary ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::classifies_mysql_tls_probe_failure_for_connection_error ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::classifies_mysql_probe_unknown_database_without_error_code_as_database_not_found ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::parses_representative_versions_from_the_shared_mysql_xml_result ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::uses_tcp_and_keeps_defaults_file_first ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::validates_supported_lower_case_table_names_modes ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::validates_supported_versions_and_sql_modes ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::version_arguments_stay_isolated_from_query_options ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::classifies_mysql_server_probe_failures_with_query_error_vocabulary ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::rejects_no_backslash_escapes_sql_mode ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::arguments_do_not_contain_credentials ... ok
[INFO] [stdout] test adapters::mysql::cli::process::metadata::tests::parses_crlf_marker_rows_and_ignores_substrings ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::version_command::rejects_non_oracle_client_output ... ok
[INFO] [stdout] test adapters::mysql::cli::process::metadata::tests::preserves_marker_and_header_validation_boundaries ... ok
[INFO] [stdout] test adapters::mysql::cli::process::process_tests::adds_an_independent_separator_after_an_existing_semicolon ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::version_command::preserves_binary_not_found_error ... ok
[INFO] [stdout] test adapters::mysql::cli::process::process_tests::maps_missing_mysql_cli_to_command_not_found ... ok
[INFO] [stdout] test adapters::mysql::cli::process::process_tests::maps_other_mysql_cli_spawn_errors_to_connection_failed ... ok
[INFO] [stdout] test adapters::mysql::cli::process::process_tests::preserves_mysql_session_exit_rules ... ok
[INFO] [stdout] test adapters::mysql::cli::process::process_tests::failed_kill_preserves_wait_status_without_forced_stop ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::version_command::isolates_version_check_from_ambient_unknown_options ... ok
[INFO] [stdout] test adapters::mysql::cli::probe::probe_tests::version_command::rejects_unsupported_client_version ... ok
[INFO] [stdout] test adapters::mysql::cli::process::process_tests::preserves_wait_status_for_normal_exit ... ok
[INFO] [stdout] test adapters::mysql::cli::process::process_tests::keeps_production_query_timeout_at_31_seconds ... ok
[INFO] [stdout] test adapters::mysql::cli::process::process_tests::reports_successful_kill_and_wait_status ... ok
[INFO] [stdout] test adapters::csv_export::tests::writes_large_record_without_changing_csv_bytes ... ok
[INFO] [stdout] test adapters::mysql::cli::process::process_tests::separates_statements_after_line_comments_with_semicolons ... ok
[INFO] [stdout] test adapters::mysql::cli::process::process_tests::successful_kill_request_does_not_override_normal_exit_status ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::cleanup::metadata_session_owns_option_file_when_mysql_process_start_fails ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::export::configures_read_only_session_before_user_sql ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::adhoc::empty_result_uses_metadata_fallback_without_replaying_query ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::adhoc::duplicate_empty_select_columns_are_rejected_without_replaying_user_sql ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::adhoc::configures_read_only_session_before_user_sql ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::export::exports_mysql_xml_rows_through_the_shared_csv_writer ... ok
[INFO] [stdout] test adapters::cached_result_exporter::tests::export_cached_result_to_csv::preserves_cached_rows_larger_than_mysql_field_limit ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::export::exports_empty_mysql_57_select_with_derived_metadata_fallback ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::export::failure_removes_the_partial_file ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::export::ignores_cli_error_text_inside_resultset_fields ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::metadata_session::external_metadata_fallback_setup_failure_never_sends_query ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::adhoc::generated_preview_and_metadata_queries_configure_read_only_session ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::metadata_session::external_metadata_fallback_configures_read_only_session_before_query ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::export::timeout_kills_the_process_and_removes_the_partial_file ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::export::read_only_session_failure_never_writes_user_sql_or_partial_file ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::marker_failure_after_a_change_refreshes_the_current_scope ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::executes_each_statement_and_returns_the_last_user_result ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::marks_a_later_failure_after_a_confirmed_change_for_refresh ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::first_change_statement_failure_refreshes_possible_scope ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::keeps_multi_statement_diagnostics_on_the_submission_result ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::rejects_error_reported_without_a_statement_marker ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::metadata_session::reuses_one_process_for_ordered_resultsets ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::read_only_timeout_does_not_request_refresh ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::tail_error_is_classified_after_pty_drain ... ok
[INFO] [stdout] test adapters::mysql::cli::export::tests::rejects_mysql_csv_row_when_multiple_fields_exceed_byte_limit ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::probe::timeout_kills_the_process_and_discards_output ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::single_dml_uses_the_submission_terminal_row_count ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::single_statement::classifies_connection_refusal_from_the_shared_cli_error_path ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::skips_resultset_wait_for_select_into_user_variable ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::single_statement::classifies_cli_error_when_no_resultset_is_emitted ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::single_statement::read_only_session_failure_never_writes_user_sql ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::multi_statement::timeout_after_a_data_change_is_wrapped_for_refresh ... ok
[INFO] [stdout] test adapters::mysql::cli::pty::tests::configures_mysql_pty_as_raw_with_single_byte_reads ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::probe::failure_never_writes_user_sql ... ok
[INFO] [stdout] test adapters::mysql::cli::pty::tests::export_source_ignores_cli_error_text_inside_resultset ... ok
[INFO] [stdout] test adapters::mysql::cli::pty::tests::export_source_keeps_cli_error_before_resultset ... ok
[INFO] [stdout] test adapters::mysql::cli::pty::tests::keeps_zero_byte_idle_timeout_for_production_pty_reads ... ok
[INFO] [stdout] test adapters::mysql::cli::pty::tests::reports_termios_get_failure ... ok
[INFO] [stdout] test adapters::mysql::cli::pty::tests::rescans_resultset_marker_after_draining_large_pty_reads ... ok
[INFO] [stdout] test adapters::mysql::cli::pty::tests::times_out_when_test_support_pty_has_no_initial_output ... ok
[INFO] [stdout] test adapters::mysql::cli::pty::tests::waits_for_the_first_pty_byte_before_using_idle_timeout ... ok
[INFO] [stdout] test adapters::mysql::cli::tests::mysql_command_environment_removes_ambient_credentials_and_cleartext_plugin ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::accepts_xml_declaration_after_probe_separator_and_empty_resultsets ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::single_statement::nonzero_cli_exit_discards_any_collected_stdout ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::cli_error_before_resultset_frame_is_still_rejected ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::collects_diagnostics_before_a_resultset_and_preserves_following_marker ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::delimiter_prefix_in_field_text_does_not_end_the_frame ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::drains_frames_in_order_without_skipping_the_following_frame ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::error_before_resultset_frame_is_not_accepted ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::extracts_large_resultset_from_small_chunks ... ok
[INFO] [stdout] test adapters::mysql::cli::pty::tests::captures_mysql_error_split_across_pty_reads ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::frame_start_does_not_scan_for_the_end_delimiter ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::extracts_one_frame_when_end_delimiter_crosses_4k_chunk_boundary ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::frames_resultset_after_mysql_cli_text ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::parses_mysql_xml_without_collapsing_value_boundaries ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::parses_numeric_and_binary_values_as_text ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::pipe_frame_collection_keeps_diagnostics_before_the_resultset ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::frames_one_xml_resultset_and_preserves_following_output ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::rejects_multiple_resultsets_instead_of_guessing_the_last_one ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::resultset_field_error_text_is_not_classified_as_cli_error ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::builds_and_parses_mysql_dsn_with_cleartext_auth_plugin ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::builds_and_parses_mysql_dsn_with_server_public_key_path ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::builds_and_parses_mysql_dsn_with_tls_paths ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::single_statement::sends_user_sql_only_after_a_valid_session_configuration ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::debug_redacts_mysql_passwords_and_preserves_connection_fields ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::ignores_ca_when_building_or_parsing_non_verification_dsn ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::ipv6_host_round_trip_normalizes_url_brackets ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::single_statement::diagnostics_use_adhoc_args_and_follow_resultset_to_marker ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::leaves_non_tls_and_untyped_failures_unchanged ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::maps_ambiguous_tls_certificate_failures_from_the_parsed_ssl_mode ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::maps_wrapped_tls_failures_for_write_refreshes ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::mysql_dsn_round_trip_preserves_connection_identity ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::rejects_cleartext_auth_plugin_without_required_tls ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::rejects_transport_path_for_tcp_dsn ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::rejects_unknown_ssl_mode_without_exposing_dsn_credentials ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::validates_tls_paths_without_accessing_files ... ok
[INFO] [stdout] test adapters::mysql::executor::tests::keeps_empty_row_count_for_non_dml_command_tags ... ok
[INFO] [stdout] test adapters::mysql::executor::tests::keeps_payload_row_count_for_a_dml_result ... ok
[INFO] [stdout] test adapters::mysql::executor::tests::uses_affected_rows_for_a_dml_result_without_payload_rows ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::column_parser_preserves_empty_default_but_drops_empty_comment ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::empty_columns_result_maps_to_missing_table ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::find_table_accepts_schema_case_difference_for_server_modes_one_and_two ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::find_table_rejects_schema_with_different_case ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::groups_foreign_keys_by_name_and_orders_columns_by_sequence ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::metadata_accepts_database_case_difference_for_server_modes_one_and_two ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::metadata_parser_marks_invisible_columns_hidden_and_read_only ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::metadata_parser_preserves_character_set_collation_and_generation_details ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::metadata_parser_preserves_column_and_composite_key_order ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::metadata_rejects_database_with_different_case ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::metadata_schema_mismatch_rejects_before_parsing ... ok
[INFO] [stdout] test adapters::mysql::cli::pty::tests::does_not_capture_cli_error_text_after_resultset_start ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::rejects_control_characters_in_tls_paths ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::metadata_snapshot_uses_server_schema ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::preview_metadata_preserves_character_set ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::optional_nonempty_string_preserves_catalog_value_boundaries ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::parses_generation_expression_for_mysql_57_capabilities ... ok
[INFO] [stdout] test adapters::mysql::metadata::catalog::tests::single_column_unique_metadata_sets_only_matching_column_attribute ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::preview_conversion_decodes_binary_character_set_hex ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::preview_conversion_decodes_bit_hex_as_binary ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::preview_conversion_decodes_spatial_hex_as_binary ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::preview_conversion_keeps_numeric_server_literals_without_rounding ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::preview_conversion_keeps_text_hex_and_decodes_binary_hex ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::preview_conversion_preserves_empty_result_shape_with_identity_columns ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::preview_conversion_separates_aliased_primary_key_values ... ok
[INFO] [stdout] test adapters::mysql::dsn::tests::builds_and_parses_unix_socket_transport ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::accepts_valid_decimal_and_rejects_incomplete_numeric_literals ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::preview_metadata_and_rows_share_one_mysql_session ... ok
[INFO] [stdout] test adapters::mysql::metadata::signature::tests::signature_metadata_batches_columns_and_foreign_keys_by_server_table ... ok
[INFO] [stdout] test adapters::mysql::metadata::signature::tests::signature_metadata_requires_columns_for_each_table ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::rejects_an_oversized_field_without_truncating_it ... ok
[INFO] [stdout] test adapters::mysql::metadata::signature::tests::table_signature_does_not_depend_on_debug_output ... ok
[INFO] [stdout] test adapters::mysql::metadata::signature::tests::table_signature_changes_for_semantic_metadata ... ok
[INFO] [stdout] test adapters::mysql::metadata::signature::tests::table_signature_is_independent_of_metadata_fetch_order ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::delayed_error_between_preview_and_completion_frames_is_classified ... ok
[INFO] [stdout] test adapters::mysql::metadata::signature::session_tests::signature_metadata_uses_one_process_and_four_metadata_queries ... ok
[INFO] [stdout] test adapters::mysql::cli::export::tests::rejects_mysql_csv_row_just_above_byte_limit ... ok
[INFO] [stdout] test adapters::mysql::metadata::preview::tests::preview_metadata_failure_never_sends_user_select ... ok
[INFO] [stdout] test adapters::mysql::cli::export::tests::does_not_publish_partial_csv_when_mysql_csv_row_exceeds_byte_limit ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::session_tests::inspector_detail_orchestration_cleans_up_after_cancellation ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::tests::empty_trigger_result_returns_no_triggers ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::tests::groups_indexes_by_name_and_orders_columns_by_sequence ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::tests::maps_prefix_descending_and_invisible_key_parts ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::tests::parses_functional_and_mixed_indexes_in_key_part_order ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::tests::parses_mysql_57_indexes_without_expression_or_visibility_columns ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::tests::rejects_index_key_part_without_column_or_expression ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::tests::show_create_parser_preserves_view_ddl_and_extra_server_columns ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::tests::single_column_unique_indexes_exclude_prefix_and_non_single_indexes ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::tests::trigger_metadata_preserves_action_order_context_and_definition ... ok
[INFO] [stdout] test adapters::mysql::metadata::tests::ignores_missing_or_empty_mysql_effective_user_values ... ok
[INFO] [stdout] test adapters::mysql::metadata::tests::parses_mysql_effective_user_and_trims_server_whitespace ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::accepts_rsa_public_key_pem_before_creating_option_file ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::ipv6_host_serializes_without_url_brackets ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::option_file_is_owner_only_and_removed_on_drop ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::option_file_names_are_unique_uuid_v4_paths_under_concurrency ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::option_file_omits_non_verification_ca_without_validating_its_path ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::option_file_quotes_syntax_characters_and_windows_paths ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::option_file_serializes_cleartext_auth_plugin ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::option_file_serializes_server_public_key_path ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::option_file_serializes_tls_paths_without_option_syntax_confusion ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::option_file_serializes_unix_socket_without_tcp_fields ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::partial_write_failure_removes_option_file_and_preserves_error ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::rejects_base64_that_is_not_an_rsa_public_key_before_creating_option_file ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::rejects_encrypted_client_keys_at_option_file_creation ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::rejects_invalid_certificates_at_option_file_creation ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::rejects_missing_files_at_option_file_creation ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::rejects_missing_server_public_key_before_connecting ... ok
[INFO] [stdout] test adapters::mysql::cli::export::tests::accepts_mysql_csv_row_just_below_byte_limit ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::rejects_traditional_encrypted_client_keys_at_option_file_creation ... ok
[INFO] [stdout] test adapters::mysql::sql::metadata::tests::legacy_metadata_fallback_uses_derived_tables_instead_of_ctes ... ok
[INFO] [stdout] test adapters::mysql::option_file::tests::server_database_listing_option_file_omits_selected_database ... ok
[INFO] [stdout] test adapters::mysql::sql::metadata::tests::metadata_queries_follow_server_catalog_capabilities ... ok
[INFO] [stdout] test adapters::mysql::sql::metadata::tests::metadata_queries_escape_literals_and_preserve_scope_conditions ... ok
[INFO] [stdout] test adapters::mysql::sql::metadata::tests::show_create_query_uses_object_kind_and_identifier_quoting ... ok
[INFO] [stdout] test adapters::mysql::sql::metadata::tests::preview_query_lists_visible_and_hidden_identity_columns ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::dsn_builder::includes_all_connection_fields ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::dsn_builder::includes_password_without_user ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::dsn_builder::omits_empty_userinfo_and_host ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::dsn_builder::quotes_special_chars ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::empty_path ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::key_value_decodes_percent_encoded_dbname ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::key_value_format ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::key_value_only ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::quoted_key_value_format ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::roundtrip_build_then_extract_returns_original_dbname ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::service_dsn_returns_service_name ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::uri_path_returns_dbname::case_1 ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::uri_path_decodes_percent_encoded_dbname ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::uri_path_returns_dbname::case_2 ... ok
[INFO] [stdout] test adapters::postgres::metadata::tests::provider_classifies_full_and_light_missing_relations_without_losing_empty_tables ... ignored, requires PostgreSQL
[INFO] [stdout] test adapters::postgres::pg_service::tests::comments_and_blank_lines_ignored ... ok
[INFO] [stdout] test adapters::postgres::dsn::tests::extract_database_name::uri_path_returns_dbname::case_3 ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::duplicate_sections_are_collapsed ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::empty_content_returns_no_entries ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::find_service_file_errors_when_pgservicefile_missing ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::find_service_file_uses_pgservicefile_env ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::invalid_lines_ignored ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::keys_before_any_section_ignored ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::multiple_sections_parsed ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::section_with_no_keys ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::not_found_message_includes_resolved_user_service_file_path ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::single_section_returns_service_name ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::unknown_keys_ignored ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::windows_user_service_file_uses_postgresql_appdata_directory ... ok
[INFO] [stdout] test adapters::postgres::pg_service::tests::unix_user_service_file_uses_home_directory ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_01 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_02 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_03 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_04 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_05 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_06 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_07 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_08 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_09 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_11 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_12 ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::session_tests::completion_detail_prefetch_uses_one_process_and_four_metadata_queries ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_13 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_10 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_14 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_15 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_16 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_17 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_18 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_20 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_22 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_19 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_23 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_21 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::classifies_sqlstate_first::case_24 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::falls_back_to_stderr_matching::case_01 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::falls_back_to_stderr_matching::case_02 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::falls_back_to_stderr_matching::case_05 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::falls_back_to_stderr_matching::case_04 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::falls_back_to_stderr_matching::case_03 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::falls_back_to_stderr_matching::case_07 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::falls_back_to_stderr_matching::case_08 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::falls_back_to_stderr_matching::case_06 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::falls_back_to_stderr_matching::case_09 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::falls_back_to_stderr_matching::case_10 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::known_sqlstates_preserve_details_and_presentation::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::known_sqlstates_preserve_details_and_presentation::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::known_sqlstates_preserve_details_and_presentation::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::known_sqlstates_preserve_details_and_presentation::case_4 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::known_sqlstates_preserve_details_and_presentation::case_6 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::known_sqlstates_preserve_details_and_presentation::case_7 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::known_sqlstates_preserve_details_and_presentation::case_8 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::nonzero_empty_stderr_includes_status_code ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::signal_status_is_reported_without_exit_code ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::unknown_falls_back_safely ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::whitespace_stderr_includes_status_code ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::nonzero_stderr_keeps_existing_classification ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::sqlstate::extracts_codes::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::sqlstate::extracts_codes::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::sqlstate::extracts_codes::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::sqlstate::extracts_codes::case_4 ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::classification::known_sqlstates_preserve_details_and_presentation::case_5 ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::boundary_marker::consecutive_markers_are_unique ... ok
[INFO] [stdout] test adapters::postgres::psql::error::tests::sqlstate::non_ascii_message_does_not_panic ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::csv_export::nonzero_exit_without_stderr_reports_status_and_removes_file ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::csv_parsing::empty_csv_returns_empty_query_result ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::csv_parsing::invalid_csv_returns_csv_parse_error ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::csv_parsing::quoted_multibyte_csv_preserves_fields_and_rows ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::csv_parsing::standard_csv_returns_columns_and_text_rows ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::csv_export::nonzero_exit_removes_partial_file_and_returns_classified_error ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::process_status::nonzero_exit_with_stderr_keeps_existing_classification ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::process_status::nonzero_exit_without_stderr_reports_status ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::process_status::zero_exit_keeps_empty_stdout_successful ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::segmented_query_args::interleaves_echo_markers_inside_single_transaction ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::select_result_segment::blank_segments_are_skipped ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::select_result_segment::csv_then_tag_returns_csv ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::select_result_segment::data_rows_identical_to_header_stay_in_segment ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::select_result_segment::empty_leading_result_set_returns_last ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::select_result_segment::empty_trailing_result_set_is_selected_over_earlier_data ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::select_result_segment::tag_then_csv_returns_csv ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::select_result_segment::tags_only_returns_none ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::select_result_segment::two_result_sets_returns_last ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::split_marker_segments::consecutive_markers_yield_empty_segment ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::split_marker_segments::crlf_marker_line_is_recognized ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::split_marker_segments::data_line_containing_marker_substring_is_not_a_boundary ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::split_marker_segments::drops_text_before_first_marker ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::split_marker_segments::no_marker_returns_empty ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::split_marker_segments::splits_segments_between_markers ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::write_command_tag::parse_affected_rows_rejects_invalid_output::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::write_command_tag::parse_affected_rows_rejects_invalid_output::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::write_command_tag::parse_affected_rows_rejects_invalid_output::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::write_command_tag::parse_affected_rows_returns_count::case_1_update ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::write_command_tag::parse_affected_rows_returns_count::case_2_delete ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::write_command_tag::parse_affected_rows_returns_count::case_3_insert ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::write_command_tag::parse_affected_rows_returns_count::case_4_select ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::write_command_tag::parse_affected_rows_returns_count::case_5_zero_rows ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::write_command_tag::parse_affected_rows_returns_count::case_6_large_number ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::empty_or_whitespace_returns_empty_error::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::process_status::signal_exit_reports_signal_status ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::empty_or_whitespace_returns_empty_error::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::malformed_count_returns_invalid_error::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::malformed_count_returns_invalid_error::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::malformed_count_returns_invalid_error::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::malformed_count_returns_invalid_error::case_4 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::malformed_count_returns_invalid_error::case_5 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_01 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_02 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_03 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_04 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_05 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_06 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_08 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_09 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_10 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_11 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_12 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_13 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_14 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_15 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_16 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_17 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_last_nonempty_line_after_notice ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_skips_trailing_empty_lines ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::unknown_command_returns_other ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_create_as_kind::create_as_returns_correct_tag::case_1_basic ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_create_as_kind::create_as_returns_correct_tag::case_2_temp ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::command_tag_parsing::parse_known_tags::case_07 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_create_as_kind::create_as_returns_correct_tag::case_3_temporary ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_create_as_kind::create_as_returns_correct_tag::case_4_unlogged ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_create_as_kind::create_as_returns_correct_tag::case_5_lowercase ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_create_as_kind::non_ctas_returns_none::case_1_create_view ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_create_as_kind::create_as_returns_correct_tag::case_6_materialized_view ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::non_select_into_returns_none::case_1_plain_select ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::non_select_into_returns_none::case_2_insert_into ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_create_as_kind::non_ctas_returns_none::case_2_plain_select ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::non_select_into_returns_none::case_3_create_table ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::quoted_into_returns_none::case_1_double_quotes ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::quoted_into_returns_none::case_2_dollar_quote ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::quoted_into_returns_none::case_3_tagged_dollar_quote ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::quoted_into_returns_none::case_5_block_comment ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::quoted_into_returns_none::case_6_single_quote ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::select_into_returns_create_table::case_1_basic ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::select_into_returns_create_table::case_2_with_columns ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::quoted_into_returns_none::case_4_line_comment ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::detect_select_into_kind::select_into_returns_create_table::case_3_with_cte ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::committed_txn ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::full_rollback ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::full_rollback_with_savepoint ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::multiple_txns ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::no_txn ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::partial_rollback ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::release_after_rollback_does_not_leak_outer_frame ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::rollback_then_dml ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::rollback_then_release_same_sp ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::savepoint_release ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::session_tests::inspector_detail_read_only_setup_failure_never_sends_metadata_sql ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::tcl_only ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::session_tests::inspector_detail_rejects_a_mismatched_completion_marker ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::unclosed_txn ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_command_tags_only::result_set_or_empty_returns_false::case_2_csv_header_only ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_command_tags_only::result_set_or_empty_returns_false::case_1_csv_with_rows ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_command_tags_only::result_set_or_empty_returns_false::case_4_empty ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_command_tags_only::result_set_or_empty_returns_false::case_3_single_column_header ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_command_tags_only::tag_block_returns_true::case_2_ddl ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::discard_rolled_back::full_rollback_then_bare_dml ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_command_tags_only::tag_block_returns_true::case_4_trailing_newline ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_command_tags_only::result_set_or_empty_returns_false::case_5_tag_then_csv ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_command_tags_only::tag_block_returns_true::case_1_single_dml ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_known_tcl_tag::recognizes_begin_commit_rollback ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_command_tags_only::tag_block_returns_true::case_3_txn_sequence ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_known_tcl_tag::recognizes_start_transaction ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_known_tcl_tag::rejects_non_tcl ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::is_known_tcl_tag::recognizes_savepoint_and_release ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::committed_txn_with_update ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::count_mismatch_fallback ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::csv_stdout_returns_none ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::ctas_committed ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::ctas_outside_savepoint_survives ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::ctas_savepoint_rollback_no_other_dml ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::ctas_savepoint_rollback_with_outer_dml ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::create_materialized_view ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::create_temp_table_as ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::ctas_then_delete_no_txn ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::partial_rollback_keeps_outer_dml ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::select_into_savepoint_rollback ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::select_into_then_delete_no_txn ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::single_ctas_no_txn ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::single_dml_stdout ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::ctas_full_rollback ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::rolled_back_txn ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::single_line_select_passes_through ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_all_tags::multi_line_tags ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_all_tags::empty_string_returns_none ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_aggregate_command_tag::with_select_into ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_all_tags::savepoint_line_is_accepted ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_all_tags::csv_input_returns_none ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_all_tags::single_ddl ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::resolved_tags_aggregate::ddl_and_dml_mixed_schema_wins ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_all_tags::single_dml_tags ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::parse_all_tags::skips_empty_lines ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::resolved_tags_aggregate::tcl_only_returns_last_tag ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::resolved_tags_aggregate::effective_empty_with_modifying_returns_rollback ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::resolved_tags_aggregate::schema_modifying_takes_priority ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::composite_foreign_key_parses_multiple_columns ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::command_tag::tests::resolved_tags_aggregate::last_needs_refresh ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::empty_array_returns_empty_fk_vec ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::empty_or_null_input_returns_empty_fk_vec::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::empty_or_null_input_returns_empty_fk_vec::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::empty_or_null_input_returns_empty_fk_vec::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::fk_code_maps_to_fk_action::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::fk_code_maps_to_fk_action::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::fk_code_maps_to_fk_action::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::fk_code_maps_to_fk_action::case_4 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::missing_required_field_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::fk_code_maps_to_fk_action::case_5 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::multiple_foreign_keys_parse_in_order ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::unknown_action_returns_metadata_parse_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::valid_single_fk_parses_all_fields ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::wrong_column_type_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::foreign_key_parsing::malformed_json_returns_invalid_json_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::json_parse_errors::empty_or_null_input_returns_empty_metadata_vecs::case_2_null_json ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::json_parse_errors::parse_columns_with_missing_field_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::json_parse_errors::parse_indexes_preserves_key_order_and_metadata_attributes ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::json_parse_errors::parse_indexes_with_unknown_access_method_preserves_other ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::json_parse_errors::parse_indexes_with_wrong_type_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::json_parse_errors::parse_tables_with_malformed_json_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::json_parse_errors::parse_tables_with_wrong_structure_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::cmd_code_maps_to_rls_command::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::cmd_code_maps_to_rls_command::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::cmd_code_maps_to_rls_command::case_4 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::json_parse_errors::empty_or_null_input_returns_empty_metadata_vecs::case_1_empty_json ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::cmd_code_maps_to_rls_command::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::cmd_code_maps_to_rls_command::case_5 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::disabled_rls_without_policies_is_empty ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::empty_or_null_input_returns_none::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::enabled_and_forced_rls_preserves_flags ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::malformed_json_returns_invalid_json_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::empty_or_null_input_returns_none::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::empty_or_null_input_returns_none::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::missing_required_field_returns_invalid_json_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::null_roles_becomes_empty_vec ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::schema_parsing::empty_array_returns_empty_schema_vec ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::single_policy_parses_all_fields ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::schema_parsing::empty_or_null_input_returns_empty_schema_vec::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::rls_parsing::unknown_command_returns_metadata_parse_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::schema_parsing::empty_or_null_input_returns_empty_schema_vec::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::schema_parsing::empty_or_null_input_returns_empty_schema_vec::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::schema_parsing::malformed_json_returns_invalid_json_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::schema_parsing::valid_single_schema_parses_correctly ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::schema_parsing::missing_name_field_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::schema_parsing::valid_multiple_schemas_parse_in_order ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::schema_parsing::wrong_structure_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_columns_and_fks_parsing::missing_relation_preserves_false_existence_bit ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_columns_and_fks_parsing::missing_key_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_columns_and_fks_parsing::empty_input_returns_error_for_columns_and_fks ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_columns_and_fks_parsing::unknown_key_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_columns_and_fks_parsing::null_input_returns_error_for_columns_and_fks ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_columns_and_fks_parsing::null_sub_values_parse_to_empty ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_columns_and_fks_parsing::valid_light_json_parses_columns_and_fks ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_detail_combined_parsing::empty_input_returns_error_for_combined_detail ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::session_tests::inspector_detail_orchestration_rejects_empty_and_malformed_shapes_without_partial_table ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_detail_combined_parsing::missing_key_returns_invalid_json_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_detail_combined_parsing::existing_zero_column_table_keeps_empty_metadata_distinct_from_missing ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_detail_combined_parsing::missing_relation_preserves_false_existence_bit ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_detail_combined_parsing::unknown_key_returns_invalid_json_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_detail_combined_parsing::valid_combined_json_parses_all_categories ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_info_parsing::empty_or_null_input_returns_none::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_info_parsing::all_fields_present_returns_values ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_info_parsing::empty_or_null_input_returns_none::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_info_parsing::empty_or_null_input_returns_none::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_info_parsing::null_fields_returns_none ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_info_parsing::zero_row_count_returns_zero ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_signature_parsing::empty_or_null_input_returns_empty_vec::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_signature_parsing::empty_or_null_input_returns_empty_vec::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_signature_parsing::empty_or_null_input_returns_empty_vec::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_signature_parsing::malformed_json_returns_invalid_json_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_signature_parsing::missing_field_returns_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_info_parsing::negative_row_count_returns_none ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_signature_parsing::multiple_signatures_parse_in_order ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_signature_parsing::valid_single_signature_parses_all_fields ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::empty_array_returns_empty_trigger_vec ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::empty_or_null_input_returns_empty_trigger_vec::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::empty_or_null_input_returns_empty_trigger_vec::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::invoker_security_context_stays_invoker ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::malformed_json_returns_invalid_json_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::multiple_events_parsed_in_order ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::empty_or_null_input_returns_empty_trigger_vec::case_2 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::timing_code_maps_to_trigger_timing::case_1 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::timing_code_maps_to_trigger_timing::case_3 ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::unknown_timing_returns_metadata_parse_error ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::timing_code_maps_to_trigger_timing::case_2 ... ok
[INFO] [stdout] test adapters::postgres::sql::ddl::tests::ddl_generation::column_comment_appended_after_create ... ok
[INFO] [stdout] test adapters::postgres::sql::ddl::tests::ddl_generation::empty_table_returns_valid_ddl ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::unknown_event_returns_metadata_parse_error ... ok
[INFO] [stdout] test adapters::postgres::sql::ddl::tests::ddl_generation::no_comment_on_when_absent ... ok
[INFO] [stdout] test adapters::postgres::sql::ddl::tests::ddl_generation::single_quote_in_comment_is_escaped ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::trigger_parsing::valid_single_trigger_parses_all_fields ... ok
[INFO] [stdout] test adapters::postgres::sql::ddl::tests::ddl_generation::table_comment_appended_after_create ... ok
[INFO] [stdout] test adapters::postgres::sql::ddl::tests::ddl_generation::table_with_single_primary_key_returns_valid_ddl ... ok
[INFO] [stdout] test adapters::postgres::sql::ddl::tests::ddl_generation::table_with_composite_primary_key_returns_valid_ddl ... ok
[INFO] [stdout] test adapters::postgres::sql::ddl::tests::ddl_generation::table_without_primary_key_returns_valid_ddl ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::index_metadata_queries::columns_query_excludes_partial_and_expression_indexes_from_unique_columns ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::metadata_query_injection::hostile_input_is_escaped::case_01_columns_query ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::index_metadata_queries::indexes_query_expands_key_parts_in_server_order ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_detail_combined_parsing::null_input_returns_error_for_combined_detail ... ok
[INFO] [stdout] test adapters::postgres::psql::parser::metadata::tests::table_info_parsing::malformed_json_returns_invalid_json_error ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::metadata_query_injection::hostile_input_is_escaped::case_04_foreign_keys_query ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::metadata_query_injection::hostile_input_is_escaped::case_05_rls_query ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::metadata_query_injection::hostile_input_is_escaped::case_06_triggers_query ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::metadata_query_injection::hostile_input_is_escaped::case_08_table_detail_query_table ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::metadata_query_injection::hostile_input_is_escaped::case_09_table_columns_and_fks_query ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::metadata_query_injection::hostile_input_is_escaped::case_10_table_columns_and_fks_query_table ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::preview_query::primary_key_query_returns_json_aggregate_sql ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::preview_query::with_primary_key_columns_returns_ordered_preview_query ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::preview_query::without_primary_key_columns_returns_unordered_preview_query ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::preview_query_edge_cases::order_by_column_with_double_quote_is_escaped ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::effective_user_query_selects_current_user ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::preview_query_edge_cases::schema_name_with_double_quote_is_escaped ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::table_columns_and_fks_query::table_columns_and_fks_uses_quoted_schema_and_table ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::table_columns_and_fks_query::wraps_existence_columns_and_fks_in_json_build_object ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::table_detail_query::table_detail_uses_quoted_schema_and_table ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::table_detail_query::wraps_existence_and_all_six_categories_in_json_build_object ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::table_signatures_query::contains_md5_hash ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::metadata_query_injection::hostile_input_is_escaped::case_02_columns_query_table ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::table_signatures_query::includes_fk_separator ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::metadata_query_injection::hostile_input_is_escaped::case_03_indexes_query ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::table_signatures_query::includes_json_aggregate_projection ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::table_signatures_query::uses_same_filter_as_tables_query ... ok
[INFO] [stdout] test adapters::postgres::sql::tests::quote_ident_escapes_embedded_quotes ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::metadata_query_injection::hostile_input_is_escaped::case_07_table_detail_query ... ok
[INFO] [stdout] test adapters::postgres::sql::tests::quote_ident_supports_empty_string ... ok
[INFO] [stdout] test adapters::postgres::sql::tests::quote_literal_escapes_embedded_quotes ... ok
[INFO] [stdout] test adapters::postgres::sql::tests::quote_literal_supports_empty_string ... ok
[INFO] [stdout] test adapters::postgres::sql::tests::quote_literal_supports_only_quotes ... ok
[INFO] [stdout] test adapters::postgres::sql::query::tests::preview_query_edge_cases::table_name_with_double_quote_is_escaped ... ok
[INFO] [stdout] test adapters::query_history::tests::append_creates_file_and_writes_entry ... ok
[INFO] [stdout] test adapters::query_history::tests::append_and_load_succeed_for_cli_sqlite_connection_id ... ok
[INFO] [stdout] test adapters::query_history::tests::load_entries_with_affected_rows_and_malformed_lines ... ok
[INFO] [stdout] test adapters::query_history::tests::below_limit_entries_are_preserved_without_trim ... ok
[INFO] [stdout] test adapters::query_history::tests::load_nonexistent_file_returns_empty_vec ... ok
[INFO] [stdout] test adapters::query_history::tests::load_filters_entries_by_database_scope ... ok
[INFO] [stdout] test adapters::query_history::tests::malformed_lines_are_skipped ... ok
[INFO] [stdout] test adapters::query_history::tests::load_returns_entries_in_order ... ok
[INFO] [stdout] test adapters::mysql::cli::export::tests::stops_reading_mysql_csv_field_at_byte_limit ... ok
[INFO] [stdout] test adapters::registry::tests::builds_sqlite_dsn_from_sqlite_profile ... ok
[INFO] [stdout] test adapters::registry::tests::classifies_named_dsn_inputs::case_1_sqlite_url ... ok
[INFO] [stdout] test adapters::registry::tests::classifies_named_dsn_inputs::case_2_mysql_url ... ok
[INFO] [stdout] test adapters::registry::tests::classifies_named_dsn_inputs::case_3_postgres_url ... ok
[INFO] [stdout] test adapters::registry::tests::classifies_named_dsn_inputs::case_4_postgres_conninfo ... ok
[INFO] [stdout] test adapters::registry::tests::classifies_named_dsn_inputs::case_5_unsupported_scheme ... ok
[INFO] [stdout] test adapters::registry::tests::mysql_dsn_requires_a_selected_database_for_metadata ... ok
[INFO] [stdout] test adapters::registry::tests::mysql_effective_user_dispatch_does_not_expose_password_on_validation_failure ... ok
[INFO] [stdout] test adapters::registry::tests::mysql_registry_preserves_source_ddl ... ok
[INFO] [stdout] test adapters::registry::tests::builds_postgres_dsn_from_postgres_profile ... ok
[INFO] [stdout] test adapters::registry::tests::sqlite_columns_request_is_dispatched_to_sqlite_adapter ... ok
[INFO] [stdout] test adapters::registry::tests::sqlite_effective_user_dispatch_preserves_unknown_user ... ok
[INFO] [stdout] test adapters::registry::tests::sqlite_metadata_is_dispatched_to_sqlite_adapter ... ok
[INFO] [stdout] test adapters::registry::tests::sqlite_query_execution_is_dispatched_to_sqlite_adapter ... ok
[INFO] [stdout] test adapters::registry::tests::sqlite_table_detail_is_dispatched_to_sqlite_adapter ... ok
[INFO] [stdout] test adapters::settings_store::tests::invalid_toml_falls_back_to_default ... ok
[INFO] [stdout] test adapters::settings_store::tests::missing_file_returns_default_settings ... ok
[INFO] [stdout] test adapters::settings_store::tests::missing_theme_falls_back_to_default ... ok
[INFO] [stdout] test adapters::settings_store::tests::save_and_load_round_trips_settings ... ok
[INFO] [stdout] test adapters::settings_store::tests::save_invalid_toml_returns_error_without_overwriting_file ... ok
[INFO] [stdout] test adapters::settings_store::tests::save_preserves_existing_connections ... ok
[INFO] [stdout] test adapters::settings_store::tests::unknown_keymap_preset_falls_back_to_default ... ok
[INFO] [stdout] test adapters::settings_store::tests::unknown_theme_falls_back_to_default ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::database_list_field_maps_empty_rows_to_error ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::feature_probe_treats_pragma_without_columns_as_unavailable ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::feature_summary_is_unavailable_when_all_probes_are_unavailable ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::feature_summary_keeps_unknown_json_availability_separate_from_absent_modules ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::feature_summary_reports_compile_module_and_json_function_support ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::session_tests::inspector_detail_orchestration_uses_one_process_for_table_and_view ... ok
[INFO] [stdout] test adapters::registry::tests::sqlite_table_signatures_are_dispatched_to_sqlite_adapter ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::format_on_off_maps_sqlite_integers ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::quick_check_field_maps_empty_rows_to_error ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::scalar_field_maps_empty_rows_to_error ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::scalar_field_maps_query_failure_to_error ... ok
[INFO] [stdout] test adapters::sqlite::dsn::tests::extracts_path_from_sqlite_dsn ... ok
[INFO] [stdout] test adapters::sqlite::dsn::tests::rejects_empty_sqlite_dsn ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::fetch_quick_check_reports_integrity_summary ... ok
[INFO] [stdout] test adapters::sqlite::diagnostics::tests::fetch_core_diagnostics_reports_pragmas_without_quick_check ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::query_results::explain_query_plan_delete_does_not_modify_database ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::query_results::explain_query_plan_for_join_includes_both_scan_targets ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::query_results::long_text_result_does_not_materialize_display_rows ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::query_results::explain_query_plan_returns_readable_detail_lines ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::result_set_parsing::empty_cte_select_preserves_projection_columns ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::query_results::select_returns_query_result ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::result_set_parsing::multi_select_does_not_treat_data_row_as_next_header ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::result_set_parsing::multi_select_empty_trailing_result_preserves_projection_columns ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::query_results::runs_sql_larger_than_the_windows_command_line_limit ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::result_set_parsing::multi_select_preserves_quoted_newline_in_last_result ... ok
[INFO] [stdout] test adapters::query_history::tests::append_trims_to_1000_when_exceeded ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::session_configuration::applies_busy_timeout_before_user_sql ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::result_set_parsing::pragma_result_does_not_get_select_command_tag ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::session_configuration::rejects_fsdir_before_reading_host_files::case_1_read_write ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::result_set_parsing::select_preserves_quoted_newline_in_multicolumn_result ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::session_configuration::read_only_session_enables_query_only_before_user_sql ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::session_configuration::rejects_fsdir_before_reading_host_files::case_2_read_only ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::session_configuration::enables_foreign_keys_before_user_sql ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::session_configuration::safe_mode_rejects_host_side_effects_in_read_write_sessions::case_1_writefile ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::session_configuration::safe_mode_rejects_host_side_effects_in_read_write_sessions::case_2_readfile ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::session_configuration::safe_mode_rejects_host_side_effects_in_read_write_sessions::case_4_attach ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::session_configuration::safe_mode_rejects_host_side_effects_in_read_write_sessions::case_3_load_extension ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::trigger_execution::unclosed_create_trigger_fails_before_execution ... ok
[INFO] [stdout] test adapters::query_history::tests::multiple_appends_beyond_limit_preserves_latest ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::trigger_execution::create_trigger_with_multi_statement_body_preserves_definition ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::constraints::syntax_error_stays_query_failed_with_details ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::adhoc_session::trigger_execution::create_trigger_referencing_new_end_preserves_definition ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::constraints::returns_affected_rows ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::constraints::foreign_key_restrict_rejects_parent_delete_with_child_row ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::export::export_to_csv_missing_table_returns_object_missing ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::constraints::foreign_key_cascade_applies_to_parent_delete ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::export::export_to_csv_rejects_fsdir_before_creating_output ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::constraints::unique_constraint_violation_is_classified ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::export::missing_database_is_rejected_without_creating_an_empty_file ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::export::export_to_csv_rejects_write_sql ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::export::export_to_csv_runs_sql_larger_than_the_windows_command_line_limit ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::export::export_to_csv_preserves_records_with_embedded_newlines ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::export::read_only_write_fails ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::export::export_to_csv_writes_rows ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::preview::empty_rowid_table_preview_keeps_all_visible_columns ... ok
[INFO] [stdout] test adapters::mysql::cli::export::tests::accepts_null_fields_without_accumulating_their_xml_bytes ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::preview::keeps_generated_columns_in_preview_select_list ... ok
[INFO] [stdout] test adapters::query_history::tests::trim_does_not_trigger_at_exact_limit ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::preview::preserves_distinct_c0_text_values_in_preview ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::preview::metadata_and_rows_use_at_most_two_sqlite_processes ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::preview::primary_keyless_preview_exposes_only_user_columns ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::preview::preserves_nul_text_primary_key_for_preview_and_delete ... ok
[INFO] [stdout] test adapters::query_history::tests::append_succeeds_even_when_trim_would_fail ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::preview::excludes_hidden_columns_from_preview_select_list ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::command_tags::ddl_wins_over_later_dml_for_refresh_tag ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::command_tags::dml_returns_affected_rows_command_tag ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::command_tags::dml_with_following_select_preserves_result_set_and_refresh_tag ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::command_tags::values_result_does_not_get_select_command_tag ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::command_tags::replace_into_returns_insert_refresh_tag ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::preview::returns_columns_rows_and_respects_pagination ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::command_tags::dml_with_following_select_uses_trailing_changes_result ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::dml_command_tags::identifier_containing_returning_reports_affected_rows::case_2_backtick_quoted ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::dml_command_tags::identifier_containing_returning_reports_affected_rows::case_1_unquoted ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::dml_command_tags::dml_with_trailing_line_comment_returns_affected_rows ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::dml_command_tags::with_insert_reports_affected_rows_command_tag ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::dml_command_tags::identifier_containing_returning_reports_affected_rows::case_3_bracket_quoted ... ok
[INFO] [stdout] test adapters::postgres::psql::executor::tests::csv_export::reads_stderr_without_blocking_stdout ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::ddl_command_tags::ddl_returns_schema_refresh_command_tag ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::returning_results::delete_returning_preserves_returned_rows ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::preview::rejects_non_main_schema ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::returning_results::dml_returning_preserves_empty_suffix_column ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::returning_results::dml_returning_preserves_returned_rows ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::command_tags::multi_dml_uses_last_effective_refresh_tag ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::automatic_transactions::vacuum_is_rejected_in_safe_mode ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::automatic_transactions::ddl_and_dml_still_roll_back_as_one_auto_transaction ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::preview::preserves_sentinel_like_text_without_nul_in_preview ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::returning_results::update_returning_preserves_returned_rows ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::automatic_transactions::foreign_keys_change_in_mixed_sql_is_not_a_transaction_noop ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::multi_statement_atomicity::multi_statement_rolls_back_when_later_statement_fails::case_1_plain_dml ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::multi_statement_atomicity::multi_statement_rolls_back_when_later_statement_fails::case_3_returning_dml ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::multi_statement_atomicity::multi_statement_rolls_back_when_later_statement_fails::case_4_select_then_dml ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::multi_statement_atomicity::multi_statement_rolls_back_when_later_statement_fails::case_2_with_dml ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::automatic_transactions::journal_mode_change_in_mixed_sql_runs_outside_auto_transaction ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::automatic_transactions::persistent_pragma_writes_roll_back_when_a_later_statement_fails ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::savepoint_rollbacks::rolled_back_dml_returns_rollback_tag ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::savepoint_rollbacks::full_rollback_inside_savepoint_discards_outer_dml ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::savepoint_rollbacks::savepoint_rollback_discards_inner_dml_only ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::savepoint_rollbacks::rollback_to_named_outer_savepoint_discards_nested_frames ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::savepoint_rollbacks::top_level_savepoint_multi_write_rolls_back_when_later_statement_fails ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::empty_database_returns_no_tables ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::savepoint_rollbacks::top_level_savepoint_rollback_to_discards_inner_dml_only ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::savepoint_rollbacks::top_level_savepoint_without_release_does_not_persist_on_success ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::invalid_dsn_returns_connection_error ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::classifies_table_kind::case_1_regular ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::classifies_table_kind::case_3_name_containing_strict ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::missing_database_file_returns_error_without_creating_file ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::classifies_table_kind::case_4_strict ... ok
[INFO] [stdout] test adapters::sqlite::metadata::kind_info::tests::default_literal_does_not_mark_virtual_when_pragma_type_is_table ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::classifies_table_kind::case_5_virtual_table ... ok
[INFO] [stdout] test adapters::sqlite::metadata::kind_info::tests::parses_quoted_virtual_module_name ... ok
[INFO] [stdout] test adapters::sqlite::metadata::kind_info::tests::parses_virtual_module_after_quoted_table_name_containing_using ... ok
[INFO] [stdout] test adapters::sqlite::metadata::kind_info::tests::parses_virtual_module_from_ddl ... ok
[INFO] [stdout] test adapters::sqlite::metadata::kind_info::tests::pragma_fields_mark_strict_virtual_table ... ok
[INFO] [stdout] test adapters::sqlite::metadata::kind_info::tests::parses_virtual_module_when_using_starts_on_new_line ... ok
[INFO] [stdout] test adapters::sqlite::metadata::kind_info::tests::pragma_type_marks_view_kind ... ok
[INFO] [stdout] test adapters::sqlite::metadata::kind_info::tests::table_name_containing_strict_does_not_mark_strict_when_pragma_is_zero ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::classifies_table_kind::case_2_without_rowid ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::rejects_sqlite_before_safe_mode_minimum_at_connection ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::skips_row_count_even_when_table_has_rows ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::hides_rtree_shadow_tables_from_normal_table_list ... ok
[INFO] [stdout] test adapters::sqlite::executor::tests::transaction_refresh::transaction_execution::savepoint_rollbacks::rollback_to_keeps_savepoint_for_later_rollback ... ok
[INFO] [stdout] test adapters::sqlite::metadata::signature::tests::table_signatures::includes_regular_and_virtual_tables ... ok
[INFO] [stdout] test adapters::sqlite::metadata::signature::tests::table_signatures::include_foreign_key_update_action ... ok
[INFO] [stdout] test adapters::sqlite::metadata::signature::tests::table_signatures::returns_signature_details_for_completion_cache_seed ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::lists_user_tables_in_main_schema_with_one_process ... ok
[INFO] [stdout] test adapters::sqlite::metadata::catalog::tests::metadata::hides_fts5_shadow_tables_from_normal_table_list ... ok
[INFO] [stdout] test adapters::sqlite::metadata::signature::tests::table_signatures::unresolved_foreign_key_is_included_in_signature ... ok
[INFO] [stdout] test adapters::sqlite::metadata::signature::tests::table_signatures::trigger_change_updates_signature ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::columns::without_primary_key_sets_primary_key_none ... ok
[INFO] [stdout] test adapters::sqlite::metadata::signature::tests::table_signatures::change_with_table_shape ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::columns::columns_and_fks_preserves_unique_column_attributes_without_returning_indexes ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::columns::generated_and_hidden_columns_are_read_only ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::columns::primary_key_nullability_matches_sqlite_metadata ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::foreign_keys::foreign_key_to_missing_table_is_kept_as_unresolved ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::foreign_keys::composite_foreign_key_groups_columns_in_sequence_order ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::indexes::index_key_column_names_preserves_expression_and_unknown_key_columns ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::foreign_keys::foreign_key_to_missing_column_is_kept_as_unresolved ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::foreign_keys::foreign_key_target_column_matches_case_insensitively ... ok
[INFO] [stdout] test adapters::sqlite::metadata::signature::tests::table_signatures::all_tables_use_one_sqlite_process ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::foreign_keys::foreign_key_without_target_columns_resolves_parent_primary_key ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::foreign_keys::foreign_key_without_target_columns_and_missing_parent_pk_is_unresolved ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::indexes::partial_index_preserves_where_clause_in_definition ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::indexes::partial_expression_index_preserves_metadata_and_definition ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::indexes::partial_unique_index_does_not_mark_column_unique ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::table_detail::columns_and_fks_skips_row_count ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::indexes::descending_and_collation_indexes_preserve_definition ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::table_detail::inspector_returns_metadata_when_view_row_count_fails ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::table_detail::columns_and_fks_skips_triggers_and_source_ddl ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::table_detail::non_main_schema_returns_object_missing ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::table_detail::completion_metadata_uses_one_sqlite_process ... ok
[INFO] [stdout] test adapters::sqlite::metadata::trigger::tests::omitted_timing_defaults_to_before ... ok
[INFO] [stdout] test adapters::sqlite::metadata::trigger::tests::parses_after_insert_trigger ... ok
[INFO] [stdout] test adapters::sqlite::metadata::trigger::tests::parses_before_update_of_columns ... ok
[INFO] [stdout] test adapters::sqlite::metadata::trigger::tests::parses_instead_of_delete_trigger ... ok
[INFO] [stdout] test adapters::sqlite::metadata::trigger::tests::parses_temp_trigger ... ok
[INFO] [stdout] test adapters::sqlite::metadata::trigger::tests::parses_temp_trigger_if_not_exists_with_quoted_name ... ok
[INFO] [stdout] test adapters::sqlite::metadata::trigger::tests::parses_temporary_trigger ... ok
[INFO] [stdout] test adapters::sqlite::path_validation::tests::accepts_empty_existing_file ... ok
[INFO] [stdout] test adapters::sqlite::path_validation::tests::accepts_sqlite_file_by_header ... ok
[INFO] [stdout] test adapters::sqlite::path_validation::tests::canonicalize_reports_missing_file ... ok
[INFO] [stdout] test adapters::sqlite::path_validation::tests::canonicalizes_existing_file ... ok
[INFO] [stdout] test adapters::sqlite::path_validation::tests::rejects_directory ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::source_ddl::source_ddl_preserves_without_rowid_and_virtual_table_syntax ... ok
[INFO] [stdout] test adapters::sqlite::path_validation::tests::rejects_missing_file ... ok
[INFO] [stdout] test adapters::sqlite::path_validation::tests::rejects_readable_non_sqlite_file ... ok
[INFO] [stdout] test adapters::sqlite::path_validation::tests::rejects_short_non_empty_file ... ok
[INFO] [stdout] test adapters::sqlite::sql::ddl::tests::ddl_generation::composite_primary_key_quotes_all_columns ... ok
[INFO] [stdout] test adapters::sqlite::sql::ddl::tests::ddl_generation::defaults_are_preserved_and_comments_are_omitted ... ok
[INFO] [stdout] test adapters::sqlite::sql::ddl::tests::ddl_generation::source_ddl_appends_trigger_definitions ... ok
[INFO] [stdout] test adapters::sqlite::path_validation::tests::rejects_fifo_without_opening ... ok
[INFO] [stdout] test adapters::sqlite::sql::literal::tests::quoting::identifier_escapes_embedded_quotes ... ok
[INFO] [stdout] test adapters::sqlite::sql::literal::tests::quoting::literal_escapes_embedded_quotes ... ok
[INFO] [stdout] test adapters::sqlite::sql::ddl::tests::ddl_generation::table_with_pk_returns_schema_free_ddl ... ok
[INFO] [stdout] test adapters::sqlite::sql::metadata::tests::metadata_batch_queries::completion_query_only_loads_unique_index_key_columns ... ok
[INFO] [stdout] test adapters::sqlite::sql::metadata::tests::metadata_batch_queries::signatures_query_batches_all_tables ... ok
[INFO] [stdout] test adapters::sqlite::sql::metadata::tests::metadata_batch_queries::row_count_fallback_keeps_full_detail_payload ... ok
[INFO] [stdout] test adapters::sqlite::sql::metadata::tests::metadata_batch_queries::table_detail_combines_metadata_sources ... ok
[INFO] [stdout] test adapters::sqlite::sql::metadata::tests::metadata_queries::user_tables_uses_table_list ... ok
[INFO] [stdout] test adapters::sqlite::sql::metadata::tests::metadata_batch_queries::table_detail_escapes_identifier_and_literal_contexts ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::table_detail::resolves_table_name_case_insensitively ... ok
[INFO] [stdout] test adapters::sqlite::sql::preview::tests::preview_queries::primary_keyless_table_orders_by_rowid_without_selecting_it ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_01 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_02 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_03 ... ok
[INFO] [stdout] test adapters::sqlite::sql::preview::tests::preview_queries::falls_back_to_star_without_columns ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_04 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_06 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_07 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_08 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_09 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_10 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_11 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_05 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_12 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::empty_stderr_falls_back_to_query_failed ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::lock_readonly_and_constraints_use_distinct_summaries ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::classifies_sqlite_stderr::case_13 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::missing_sqlite_cli_has_command_specific_details ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::non_missing_sqlite_cli_error_is_query_failed ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::parses_sqlite_version::case_1 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::parses_sqlite_version::case_2 ... ok
[INFO] [stdout] test adapters::sqlite::sql::preview::tests::preview_queries::orders_by_primary_key_columns_when_available ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::parses_sqlite_version::case_3 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::parses_sqlite_version::case_4 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::classification::unknown_falls_back_safely ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::trigger_metadata::table_detail_loads_trigger_metadata_from_sqlite_master_sql ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::validates_sqlite_safe_mode_version::case_1 ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::trigger_metadata::table_detail_loads_trigger_without_explicit_timing ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::table_detail::inspector_metadata_uses_one_sqlite_process ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::rejects_unparseable_version_as_safe_mode_requirement ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::safe_mode_required_error_keeps_details_without_marker ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::table_detail::loads_columns_indexes_and_foreign_keys ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::validates_sqlite_safe_mode_version::case_2 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::dsn_validation::database_uri_uses_non_creating_access_modes ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::validates_sqlite_safe_mode_version::case_4 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::dsn_validation::empty_initialization_file_uses_platform_null_device ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::validates_sqlite_safe_mode_version::case_3 ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::error::tests::safe_mode_version::safe_mode_requires_sqlite_3_41_1_or_later ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::dsn_validation::session_options_include_safety_timeout_and_explain_output ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::dsn_validation::session_pragmas_precede_user_sql ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::dsn_validation::windows_database_uri_normalizes_drive_paths ... ok
[INFO] [stderr] Error: unable to open database "file:%2Ftmp%2F.tmpOCqAsm%2Fmissing.db?mode=rw": unable to open database file
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::dsn_validation::terminates_sql_with_a_standalone_statement_separator ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::dsn_validation::read_write_uri_rejects_missing_database_without_creating_file ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::windows_csv_newline_normalizer_handles_chunk_boundaries ... ok
[INFO] [stdout] test adapters::sqlite::metadata::table_detail::tests::table_detail::missing_table_returns_object_missing ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::windows_csv_newline_normalizer_preserves_embedded_crlf ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::metadata::tests::lock_timeout_uses_row_count_fallback ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::discard_rolled_back_policy::begin_savepoint_release_still_merges_nested_frame ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::discard_rolled_back_policy::quoted_savepoint_release_merges_named_frame ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::discard_rolled_back_policy::rollback_to_quoted_savepoint_is_not_full_rollback ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::discard_rolled_back_policy::rollback_transaction_to_savepoint_discards_inner_dml ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::discard_rolled_back_policy::top_level_savepoint_full_rollback_discards_all_dml ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::discard_rolled_back_policy::top_level_savepoint_rollback_to_discards_inner_dml ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::discard_rolled_back_policy::unclosed_begin_discards_frame_from_effective ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::discard_rolled_back_policy::unclosed_top_level_savepoint_aggregates_to_rollback ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::export::spawn_failure_leaves_no_output_files ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::sqlite_side_effect_statements_emit_refresh_tags ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::discard_rolled_back_policy::unclosed_top_level_savepoint_discards_frame_from_effective ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::export_guard::rejects_non_rerunnable_sql ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::export_guard::allows_read_only_sql ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::command_tag::tests::discard_rolled_back_policy::release_savepoint_uses_following_target_name ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::allows_dot_at_line_start_inside_literal ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_01_single_quoted_literal ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_03_block_comment ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_04_identifier_prefix ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_02_line_comment ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_05_identifier_suffix ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_06_column ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_07_alias ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_08_table_without_arguments ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_11_other_virtual_table ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_semicolons_in_literals_and_comments ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::keeps_create_trigger_body_together ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_09_table_definition ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::ignores_non_fsdir_occurrences::case_10_quoted_table_definition ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_dot_commands ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::keeps_create_trigger_with_dotted_end_reference ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_01_unquoted ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_02_double_quoted ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_03_backtick_quoted ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_04_bracket_quoted ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_06_comments_between_tokens ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_07_virtual_table_module ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_08_single_quoted_virtual_table_module ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_09_double_quoted_virtual_table_module ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_10_backtick_virtual_table_module ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_11_bracket_virtual_table_module ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_in_any_statement_of_batch ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_incomplete_create_trigger_without_begin ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_fsdir_access::case_05_single_quoted ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::virtual_table_parsing::module_name_reads_double_quoted_module ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::rejects_unclosed_create_trigger_body ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::virtual_table_parsing::module_name_rejects_unclosed_bracket_module ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::decode_preview_transport_unistr_decodes_hex_payload ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::decode_unistr_quoted_text_decodes_documented_escape_forms ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::decode_unistr_quoted_text_rejects_invalid_escapes ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::last_sqlite_result_set_uses_marker_boundaries ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_affected_rows_reads_trailing_changes_cell ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::virtual_table_parsing::module_name_skips_quoted_table_name ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_affected_rows_rejects_empty_output_as_command_tag_failure ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_affected_rows_rejects_header_only_output_as_invalid_count ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_affected_rows_rejects_missing_first_field_as_invalid_count ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_quoted_value_decodes_preview_transport_plain_quoted ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_quoted_value_decodes_adhoc_unistr ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_quoted_value_decodes_preview_transport_unistr ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_quoted_value_decodes_unistr_control_characters ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_quoted_value_keeps_plain_quoted_transport_as_text_for_adhoc ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_quoted_value_skips_preview_transport_decode_for_column_names ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::parse_unistr_inner_sql_escapes_does_not_decode_unicode_sequences ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::quoted_to_query_result_accepts_crlf_output ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::quoted_to_query_result_decodes_adhoc_unistr ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::quoted_to_query_result_keeps_transport_like_column_name ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::quoted_to_query_result_normalizes_infinite_numeric_literals ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::quoted_to_query_result_preserves_malformed_unistr_as_sql_literal ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::quoted_to_query_result_preserves_newline_for_single_statement ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::quoted_to_query_result_preserves_sqlite_value_kinds ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::quoted_to_query_result_rejects_unterminated_quote ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::output::tests::parsing::strip_sqlite_probes_removes_probe_result_sets ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::changes_query::keeps_explicit_begin_commit_transaction_control ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::changes_query::keeps_explicit_begin_end_transaction_control ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::changes_query::keeps_transaction_incompatible_statement_outside_auto_transaction ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::changes_query::wraps_multi_statement_replace_without_explicit_transaction ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::changes_query::wraps_multi_statement_with_write_without_explicit_transaction ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::changes_query::wraps_multi_statement_write_without_explicit_transaction ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::execution_probes::do_not_insert_probes_inside_create_trigger ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::lexer::tests::statement_splitting::keeps_create_trigger_with_case_end_expression ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::execution_probes::do_not_insert_probes_when_trigger_references_new_end ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::dsn_validation::initialization_isolation::export_preserves_csv_protocol ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::transaction_wrap_mode::compatible_write_batches_use_auto_transaction::case_1_multi_dml ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::statement_classification::classifies_vacuum_and_writes_for_auto_transaction_policy ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::statement_classification::distinguishes_journal_mode_query_from_change ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::transaction_wrap_mode::compatible_write_batches_use_auto_transaction::case_2_trailing_comment_only ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::transaction_wrap_mode::compatible_write_batches_use_auto_transaction::case_3_read_only_pragma_with_writes ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::transaction_wrap_mode::compatible_write_batches_use_auto_transaction::case_4_ddl_and_dml ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::transaction_wrap_mode::user_managed_or_incompatible_batches_skip_auto_transaction::case_1_explicit_transaction ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::transaction_wrap_mode::user_managed_or_incompatible_batches_skip_auto_transaction::case_2_top_level_savepoint ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::transaction_wrap_mode::user_managed_or_incompatible_batches_skip_auto_transaction::case_4_vacuum ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::transaction_wrap_mode::user_managed_or_incompatible_batches_skip_auto_transaction::case_3_mid_batch_savepoint ... ok
[INFO] [stdout] test config::connection_config::tests::mysql_entry_drops_ca_for_non_verification_mode ... ok
[INFO] [stdout] test config::connection_config::tests::mysql_entry_rejects_invalid_host ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::transaction_wrap_mode::user_managed_or_incompatible_batches_skip_auto_transaction::case_6_quoted_foreign_keys_change ... ok
[INFO] [stdout] test config::connection_config::tests::mysql_entry_requires_host_and_username ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::parser::statement_plan::tests::transaction_wrap_mode::user_managed_or_incompatible_batches_skip_auto_transaction::case_5_journal_mode_change ... ok
[INFO] [stdout] test config::connection_config::tests::mysql_entry_rejects_zero_port ... ok
[INFO] [stdout] test config::connection_config::tests::mysql_entry_round_trips_certificate_paths ... ok
[INFO] [stdout] test config::connection_config::tests::mysql_entry_round_trips_cleartext_auth_plugin ... ok
[INFO] [stdout] test config::connection_config::tests::mysql_entry_round_trips_optional_database_and_tls_mode ... ok
[INFO] [stdout] test config::connection_config::tests::mysql_entry_round_trips_server_public_key_path ... ok
[INFO] [stdout] test config::connection_config::tests::mysql_entry_without_database_is_valid ... ok
[INFO] [stdout] test config::connection_config::tests::sqlite_entry_rejects_empty_path ... ok
[INFO] [stdout] test config::connection_config::tests::sqlite_entry_rejects_invalid_path ... ok
[INFO] [stdout] test config::connection_config::tests::mysql_socket_entry_round_trips_transport_path_without_tcp_fields ... ok
[INFO] [stdout] test config::connection_config::tests::postgres_entry_rejects_missing_required_field ... ok
[INFO] [stdout] test config::connection_config::tests::sqlite_entry_rejects_uri_filename ... ok
[INFO] [stdout] test config::connection_config::tests::supported_versions_are_accepted ... ok
[INFO] [stdout] test config::connection_config::tests::unsupported_versions_are_rejected ... ok
[INFO] [stdout] test config::connection_config::tests::v2_entry_defaults_to_postgres ... ok
[INFO] [stdout] test config::project_root::tests::find_dir_upward_tests::finds_root_from_nested_subdirectory ... ok
[INFO] [stdout] test config::project_root::tests::find_dir_upward_tests::finds_root_with_git_directory ... ok
[INFO] [stdout] test config::connection_config::tests::sqlite_entry_rejects_missing_path ... ok
[INFO] [stdout] test config::project_root::tests::find_dir_upward_tests::finds_root_with_git_file_worktree ... ok
[INFO] [stdout] test config::project_root::tests::get_project_name_tests::reports_unknown_for_root ... ok
[INFO] [stdout] test export::dot::tests::export::browser_command_candidates_include_common_presets ... ok
[INFO] [stdout] test config::project_root::tests::get_project_name_tests::extracts_dir_basename ... ok
[INFO] [stdout] test export::dot::tests::export::calls_graphviz_and_viewer ... ok
[INFO] [stdout] test export::dot::tests::export::default_browser_bundle_prefers_https_handler ... ok
[INFO] [stdout] test export::dot::tests::export::empty_browser_candidates_return_unsupported_browser ... ok
[INFO] [stdout] test export::dot::tests::export::default_browser_bundle_falls_back_to_default_browser_content_type ... ok
[INFO] [stdout] test adapters::sqlite::metadata::signature::tests::table_signatures::index_desc_and_collation_change_signature ... ok
[INFO] [stdout] test config::connection_config::tests::sqlite_entry_rejects_in_memory_database ... ok
[INFO] [stdout] test export::dot::tests::export::macos_browser_application_name_resolves_brave ... ok
[INFO] [stdout] test export::dot::tests::export::graphviz_failure_preserves_old_files ... ok
[INFO] [stdout] test export::dot::tests::export::non_er_files_survive_cleanup ... ok
[INFO] [stdout] test export::dot::tests::export::passes_browser_to_viewer ... ok
[INFO] [stdout] test export::dot::tests::export::requested_browser_ignores_whitespace_only_values ... ok
[INFO] [stdout] test export::dot::tests::export::graphviz_command_failed_includes_exit_code ... ok
[INFO] [stdout] test export::dot::tests::export::requested_browser_trims_browser_name ... ok
[INFO] [stdout] test export::dot::tests::export::graphviz_not_installed_returns_error ... ok
[INFO] [stdout] test export::dot::tests::generate_full_dot::foreign_keys_appear_as_edges ... ok
[INFO] [stdout] test export::dot::tests::export::old_er_files_are_removed_on_export ... ok
[INFO] [stdout] test export::dot::tests::export::viewer_failure_returns_error ... ok
[INFO] [stdout] test export::dot::tests::generate_full_dot::tables_appear_as_nodes ... ok
[INFO] [stdout] test export::dot::tests::export::viewer_failure_preserves_old_and_new_files ... ok
[INFO] [stdout] test export::graphviz::tests::graphviz_error::command_failed_contains_exit_code ... ok
[INFO] [stdout] test export::graphviz::tests::graphviz_error::not_installed_contains_installation_hint ... ok
[INFO] [stdout] test export::graphviz::tests::viewer_error::browser_command_not_found_lists_candidates ... ok
[INFO] [stdout] test export::graphviz::tests::viewer_error::unsupported_browser_names_browser ... ok
[INFO] [stdout] test export::graphviz::tests::viewer_error::unsupported_platform_names_operation ... ok
[INFO] [stdout] test export::graphviz::tests::viewer_error::launch_failed_contains_cause ... ok
[INFO] [stdout] test export::dot::tests::generate_full_dot::output_is_sorted_for_stability ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::dsn_validation::relative_path_starting_with_dash_is_opened_as_database_path ... FAILED
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::dsn_validation::initialization_isolation::public_adapter_operations_preserve_query_metadata_preview_and_diagnostics ... ok
[INFO] [stdout] test adapters::mysql::cli::export::tests::handles_cdata_values_ending_in_brackets_before_the_next_field ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::process_lifecycle::export_reaps_fake_sqlite_before_temporary_cleanup_and_returning ... ok
[INFO] [stdout] test adapters::sqlite::sqlite3::executor::tests::process_lifecycle::collect_reaps_fake_sqlite_before_returning ... ok
[INFO] [stdout] test adapters::mysql::cli::export::tests::does_not_count_xml_syntax_against_mysql_csv_field_limit ... ok
[INFO] [stdout] test adapters::mysql::cli::xml::tests::applies_frame_limit_only_to_preview_reader ... ok
[INFO] [stdout] test adapters::mysql::metadata::table_detail::session_tests::inspector_detail_orchestration_cleans_up_after_probe_failure_and_timeout ... ok
[INFO] [stdout] test adapters::mysql::cli::export::tests::rejects_mysql_csv_field_over_byte_limit ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::cleanup::bounds_pty_drain_when_the_slave_stays_open ... ok
[INFO] [stdout] test adapters::mysql::cli::process::tests::metadata_session::external_metadata_timeout_kills_and_reaps_the_process ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- adapters::sqlite::sqlite3::executor::tests::dsn_validation::relative_path_starting_with_dash_is_opened_as_database_path stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'adapters::sqlite::sqlite3::executor::tests::dsn_validation::relative_path_starting_with_dash_is_opened_as_database_path' (4297) panicked at adapters/sqlite/sqlite3/executor.rs:828:40:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5617f90edb01 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5617f90edb01 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::trace_unsynchronized::<std[617be2ca0a6fd877]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5617f90edb01 - std[617be2ca0a6fd877]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5617f90edb01 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5617f91060da - <core[a373ad73a504971]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5617f91060da - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    6:     0x5617f90f28ec - core[a373ad73a504971]::io::write::default_write_fmt::<alloc[2e1b2a31b91974c5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5617f90f28ec - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5617f90c5a86 - <std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5617f90c5a86 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:289:27
[INFO] [stdout]   10:     0x5617f90e4699 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:313:9
[INFO] [stdout]   11:     0x5617f8d92700 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   12:     0x5617f8d92700 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5617f90e49c2 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   14:     0x5617f90e49c2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:819:13
[INFO] [stdout]   15:     0x5617f90c5b32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:685:13
[INFO] [stdout]   16:     0x5617f90be299 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5617f90c6bfd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:676:5
[INFO] [stdout]   18:     0x5617f91068fc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5617f9106652 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/result.rs:1870:5
[INFO] [stdout]   20:     0x5617f8bfe818 - <core[a373ad73a504971]::result::Result<(), core[a373ad73a504971]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/result.rs:1232:23
[INFO] [stdout]   21:     0x5617f8bfe818 - sabiql_infra[ba6d0f485140811a]::adapters::sqlite::sqlite3::executor::tests::dsn_validation::relative_path_starting_with_dash_is_opened_as_database_path::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/adapters/sqlite/sqlite3/executor.rs:828:40
[INFO] [stdout]   22:     0x5617f8d65422 - <core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>> as core[a373ad73a504971]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5617f8d6549d - <core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>> as core[a373ad73a504971]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x5617f896a70d - <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:830:70
[INFO] [stdout]   25:     0x5617f896a615 - tokio[2d2848ceb996c979]::task::coop::with_budget::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x5617f896a615 - tokio[2d2848ceb996c979]::task::coop::budget::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x5617f896a615 - <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:830:25
[INFO] [stdout]   28:     0x5617f89452a2 - <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:488:19
[INFO] [stdout]   29:     0x5617f896302d - <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:829:44
[INFO] [stdout]   30:     0x5617f89622c4 - <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:906:68
[INFO] [stdout]   31:     0x5617f88d4a0b - <tokio[2d2848ceb996c979]::runtime::context::scoped::Scoped<tokio[2d2848ceb996c979]::runtime::scheduler::Context>>::set::<<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x5617f885a589 - tokio[2d2848ceb996c979]::runtime::context::set_scheduler::<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/context.rs:187:38
[INFO] [stdout]   33:     0x5617f894718f - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[2d2848ceb996c979]::runtime::context::Context>>::try_with::<tokio[2d2848ceb996c979]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/local.rs:463:12
[INFO] [stdout]   34:     0x5617f8946d3e - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[2d2848ceb996c979]::runtime::context::Context>>::with::<tokio[2d2848ceb996c979]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/local.rs:427:20
[INFO] [stdout]   35:     0x5617f882ac9d - tokio[2d2848ceb996c979]::runtime::context::set_scheduler::<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/context.rs:187:17
[INFO] [stdout]   36:     0x5617f894e700 - <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:906:27
[INFO] [stdout]   37:     0x5617f894e9f6 - <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:817:24
[INFO] [stdout]   38:     0x5617f8961ff0 - <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:218:33
[INFO] [stdout]   39:     0x5617f8a15a18 - tokio[2d2848ceb996c979]::runtime::context::runtime::enter_runtime::<<tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x5617f8943ba4 - <tokio[2d2848ceb996c979]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:206:9
[INFO] [stdout]   41:     0x5617f87e835f - <tokio[2d2848ceb996c979]::runtime::runtime::Runtime>::block_on_inner::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/runtime.rs:374:52
[INFO] [stdout]   42:     0x5617f87e84ab - <tokio[2d2848ceb996c979]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/runtime.rs:343:18
[INFO] [stdout]   43:     0x5617f8c1ec43 - sabiql_infra[ba6d0f485140811a]::adapters::sqlite::sqlite3::executor::tests::dsn_validation::relative_path_starting_with_dash_is_opened_as_database_path
[INFO] [stdout]                                at /opt/rustwide/workdir/adapters/sqlite/sqlite3/executor.rs:837:85
[INFO] [stdout]   44:     0x5617f8bfe3a7 - sabiql_infra[ba6d0f485140811a]::adapters::sqlite::sqlite3::executor::tests::dsn_validation::relative_path_starting_with_dash_is_opened_as_database_path::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/adapters/sqlite/sqlite3/executor.rs:814:79
[INFO] [stdout]   45:     0x5617f87e2776 - <sabiql_infra[ba6d0f485140811a]::adapters::sqlite::sqlite3::executor::tests::dsn_validation::relative_path_starting_with_dash_is_opened_as_database_path::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5617f8d85b4b - <fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x5617f8d85b4b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:701:18
[INFO] [stdout]   48:     0x5617f8d92d25 - test[aada8e7e76ba119b]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:74
[INFO] [stdout]   49:     0x5617f8d92d25 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   50:     0x5617f8d92d25 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   51:     0x5617f8d92d25 - std[617be2ca0a6fd877]::panicking::catch_unwind::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   52:     0x5617f8d92d25 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x5617f8d92d25 - test[aada8e7e76ba119b]::run_test_in_process
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:27
[INFO] [stdout]   54:     0x5617f8d92d25 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:645:43
[INFO] [stdout]   55:     0x5617f8d8c614 - test[aada8e7e76ba119b]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:675:41
[INFO] [stdout]   56:     0x5617f8d8c614 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x5617f8d95db2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   58:     0x5617f8d95db2 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   59:     0x5617f8d95db2 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   60:     0x5617f8d95db2 - std[617be2ca0a6fd877]::panicking::catch_unwind::<(), core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   61:     0x5617f8d95db2 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x5617f8d95db2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   63:     0x5617f8d95db2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x5617f90ecaff - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn core[a373ad73a504971]::ops::function::FnOnce<(), Output = ()> + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2314:9
[INFO] [stdout]   65:     0x5617f90ecaff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   66:     0x7ef86a48cdfa - <unknown>
[INFO] [stdout]   67:     0x7ef86a5203d4 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     adapters::sqlite::sqlite3::executor::tests::dsn_validation::relative_path_starting_with_dash_is_opened_as_database_path
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1040 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 10.62s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5", kill_on_drop: false }`
[INFO] [stdout] 5d8af008e150e23893648bb4c1c76cd4befb449958adf9e3e33a44d6523584a5
