[INFO] cloning repository https://github.com/ToughLad/Rust-AI
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ToughLad/Rust-AI" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FToughLad%2FRust-AI", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FToughLad%2FRust-AI'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4ad65e46971d2919aeeb852f3b9565fe8cecb791
[INFO] testing ToughLad/Rust-AI against 1.91.0 for beta-1.92-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FToughLad%2FRust-AI" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ToughLad/Rust-AI
[INFO] finished tweaking git repo https://github.com/ToughLad/Rust-AI
[INFO] tweaked toml for git repo https://github.com/ToughLad/Rust-AI written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ToughLad/Rust-AI on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ToughLad/Rust-AI 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.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded config v0.14.1
[INFO] [stderr]   Downloaded rust-multipart-rfc7578_2 v0.6.1
[INFO] [stderr]   Downloaded rust-ini v0.20.0
[INFO] [stderr]   Downloaded arraydeque v0.5.1
[INFO] [stderr]   Downloaded tower-http v0.5.2
[INFO] [stderr]   Downloaded validator_derive v0.18.2
[INFO] [stderr]   Downloaded yaml-rust2 v0.8.1
[INFO] [stderr]   Downloaded auto-future v1.0.0
[INFO] [stderr]   Downloaded bcrypt v0.15.1
[INFO] [stderr]   Downloaded axum-test v14.10.0
[INFO] [stderr]   Downloaded reserve-port v2.3.0
[INFO] [stderr]   Downloaded validator v0.18.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ca2744bdba9853708a8bbb9865ea288b11af9d9aa862a5add98f6ece3c1bb89a
[INFO] running `Command { std: "docker" "start" "-a" "ca2744bdba9853708a8bbb9865ea288b11af9d9aa862a5add98f6ece3c1bb89a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ca2744bdba9853708a8bbb9865ea288b11af9d9aa862a5add98f6ece3c1bb89a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca2744bdba9853708a8bbb9865ea288b11af9d9aa862a5add98f6ece3c1bb89a", kill_on_drop: false }`
[INFO] [stdout] ca2744bdba9853708a8bbb9865ea288b11af9d9aa862a5add98f6ece3c1bb89a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5854ef5d22700fe5875c4e31c9b948854457c32fdc1e04640fd239431d4f8c38
[INFO] running `Command { std: "docker" "start" "-a" "5854ef5d22700fe5875c4e31c9b948854457c32fdc1e04640fd239431d4f8c38", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.0
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling cc v1.2.35
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling time-core v0.1.5
[INFO] [stderr]    Compiling time-macros v0.2.23
[INFO] [stderr]    Compiling deranged v0.5.3
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling time v0.3.42
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling ordered-multimap v0.7.3
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling yaml-rust2 v0.8.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling blowfish v0.9.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rust-ini v0.20.0
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling pem v3.0.5
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling validator_derive v0.18.2
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling simple_asn1 v0.6.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling bcrypt v0.15.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling bitflags v2.9.3
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.17
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling jsonwebtoken v9.3.1
[INFO] [stderr]    Compiling validator v0.18.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling config v0.14.1
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling uuid v1.18.0
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling rust-ai v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 53s
[INFO] running `Command { std: "docker" "inspect" "5854ef5d22700fe5875c4e31c9b948854457c32fdc1e04640fd239431d4f8c38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5854ef5d22700fe5875c4e31c9b948854457c32fdc1e04640fd239431d4f8c38", kill_on_drop: false }`
[INFO] [stdout] 5854ef5d22700fe5875c4e31c9b948854457c32fdc1e04640fd239431d4f8c38
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a7e0590189da6131ad25dfa723c459008623e59c56a0e0ada4b855bf253bd94c
[INFO] running `Command { std: "docker" "start" "-a" "a7e0590189da6131ad25dfa723c459008623e59c56a0e0ada4b855bf253bd94c", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling reserve-port v2.3.0
[INFO] [stderr]    Compiling auto-future v1.0.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling rust-multipart-rfc7578_2 v0.6.1
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling axum-test v14.10.0
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling rust-ai v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "a7e0590189da6131ad25dfa723c459008623e59c56a0e0ada4b855bf253bd94c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7e0590189da6131ad25dfa723c459008623e59c56a0e0ada4b855bf253bd94c", kill_on_drop: false }`
[INFO] [stdout] a7e0590189da6131ad25dfa723c459008623e59c56a0e0ada4b855bf253bd94c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1b7388f095182ec5249469f4398b3965522945405fe8cf8b15ba04b6d4e8c2cc
[INFO] running `Command { std: "docker" "start" "-a" "1b7388f095182ec5249469f4398b3965522945405fe8cf8b15ba04b6d4e8c2cc", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.53s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_ai-cd882bd213975781)
[INFO] [stdout] 
[INFO] [stdout] running 101 tests
[INFO] [stdout] test auth::tests::test_config_without_secret ... ok
[INFO] [stdout] test auth::tests::test_create_user_request_validation ... ok
[INFO] [stdout] test auth::tests::test_generate_jwt ... ok
[INFO] [stdout] test auth::tests::test_login_request_validation ... ok
[INFO] [stdout] test auth::tests::test_verify_jwt_invalid_token ... ok
[INFO] [stdout] test auth::tests::test_jwt_expiration ... ok
[INFO] [stdout] test config::tests::test_bind_address_parsing ... ok
[INFO] [stdout] test config::tests::test_config_from_env_custom_values ... ok
[INFO] [stdout] test config::tests::test_config_from_env_defaults ... ok
[INFO] [stdout] test config::tests::test_env_or_function ... ok
[INFO] [stdout] test config::tests::test_config_validation ... ok
[INFO] [stdout] test config::tests::test_cache_duration_parsing ... ok
[INFO] [stdout] test config::tests::test_parse_csv_empty_items ... ok
[INFO] [stdout] test config::tests::test_parse_csv_multiple_items ... ok
[INFO] [stdout] test config::tests::test_parse_csv_whitespace ... ok
[INFO] [stdout] test convex_service::tests::test_api_request_event_serialization ... ok
[INFO] [stdout] test convex_service::tests::test_convex_service_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_convex_service_new ... ok
[INFO] [stdout] test config::tests::test_bool_env_function ... ok
[INFO] [stdout] test convex_service::tests::test_create_user_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_create_chat_disabled ... ok
[INFO] [stdout] test config::tests::test_parse_csv_single_item ... ok
[INFO] [stdout] test convex_service::tests::test_convex_user_serialization ... ok
[INFO] [stdout] test config::tests::test_parse_csv_empty ... ok
[INFO] [stdout] test convex_service::tests::test_delete_chat_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_log_message_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_get_user_chats_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_log_usage_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_log_system_event_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_get_user_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_update_user_usage_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_usage_event_serialization ... ok
[INFO] [stdout] test file_processor::tests::test_create_messages_with_file_context ... ok
[INFO] [stdout] test file_processor::tests::test_decode_data_url ... ok
[INFO] [stdout] test file_processor::tests::test_decode_data_url_comprehensive ... ok
[INFO] [stdout] test file_processor::tests::test_decode_data_url_multiline ... ok
[INFO] [stdout] test convex_service::tests::test_log_api_request_disabled ... ok
[INFO] [stdout] test auth::tests::test_create_guest_user ... ok
[INFO] [stdout] test file_processor::tests::test_create_messages_empty_files ... ok
[INFO] [stdout] test file_processor::tests::test_create_messages_large_files ... ok
[INFO] [stdout] test auth::tests::test_guest_user_uniqueness ... ok
[INFO] [stdout] test file_processor::tests::test_decode_data_url_special_characters ... ok
[INFO] [stdout] test file_processor::tests::test_decode_data_url_unicode ... ok
[INFO] [stdout] test file_processor::tests::test_is_text_content_type ... ok
[INFO] [stdout] test file_processor::tests::test_supports_multimodal ... ok
[INFO] [stdout] test file_processor::tests::test_is_text_content_type_edge_cases ... ok
[INFO] [stdout] test routing::tests::test_build_routing ... ok
[INFO] [stdout] test routing::tests::test_build_routing_duplicate_keys ... ok
[INFO] [stdout] test routing::tests::test_build_routing_edge_cases ... ok
[INFO] [stdout] test routing::tests::test_build_routing_empty ... ok
[INFO] [stdout] test routing::tests::test_build_routing_single_route ... ok
[INFO] [stdout] test routing::tests::test_build_routing_invalid_formats ... ok
[INFO] [stdout] test routing::tests::test_normalize_provider ... ok
[INFO] [stdout] test routing::tests::test_build_routing_multiple_operations ... ok
[INFO] [stdout] test routing::tests::test_build_routing_whitespace_handling ... ok
[INFO] [stdout] test file_processor::tests::test_supports_multimodal_comprehensive ... ok
[INFO] [stdout] test routing::tests::test_build_routing_with_special_model_names ... ok
[INFO] [stdout] test routing::tests::test_route_target_creation ... ok
[INFO] [stdout] test routing::tests::test_resolve_route ... ok
[INFO] [stdout] test routing::tests::test_resolve_route_comprehensive ... ok
[INFO] [stdout] test search_service::tests::test_brave_request_serialization ... ok
[INFO] [stdout] test search_service::tests::test_search_response_serialization ... ok
[INFO] [stdout] test search_service::tests::test_search_result_serialization ... ok
[INFO] [stdout] test search_service::tests::test_cleanup_cache ... ok
[INFO] [stdout] test search_service::tests::test_tavily_request_serialization ... ok
[INFO] [stdout] test search_service::tests::test_search_service_new ... ok
[INFO] [stdout] test test_types_serialization ... ok
[INFO] [stdout] test types::tests::test_api_response_error ... ok
[INFO] [stdout] test types::tests::test_api_response_serialization ... ok
[INFO] [stdout] test types::tests::test_api_response_success ... ok
[INFO] [stdout] test types::tests::test_api_response_success_with_message ... ok
[INFO] [stdout] test types::tests::test_attachment_creation ... ok
[INFO] [stdout] test types::tests::test_attachment_serialization ... ok
[INFO] [stdout] test types::tests::test_auth_user_anonymous ... ok
[INFO] [stdout] test types::tests::test_auth_user_creation ... ok
[INFO] [stdout] test search_service::tests::test_perform_web_search_disabled ... ok
[INFO] [stdout] test types::tests::test_auth_user_serialization ... ok
[INFO] [stdout] test types::tests::test_chat_message_creation ... ok
[INFO] [stdout] test types::tests::test_chat_message_serialization ... ok
[INFO] [stdout] test types::tests::test_invoke_request_complete ... ok
[INFO] [stdout] test types::tests::test_invoke_request_minimal ... ok
[INFO] [stdout] test types::tests::test_enum_edge_cases ... ok
[INFO] [stdout] test types::tests::test_message_role_serialization ... ok
[INFO] [stdout] test types::tests::test_operation_serialization ... ok
[INFO] [stdout] test types::tests::test_invoke_request_serialization ... ok
[INFO] [stdout] test types::tests::test_provider_deserialization ... ok
[INFO] [stdout] test types::tests::test_provider_serialization ... ok
[INFO] [stdout] test types::tests::test_route_target_serialization ... ok
[INFO] [stdout] test types::tests::test_route_target_creation ... ok
[INFO] [stdout] test types::tests::test_search_response_empty ... ok
[INFO] [stdout] test types::tests::test_search_response_creation ... ok
[INFO] [stdout] test types::tests::test_search_result_creation ... ok
[INFO] [stdout] test types::tests::test_search_response_serialization ... ok
[INFO] [stdout] test types::tests::test_search_result_serialization ... ok
[INFO] [stdout] test types::tests::test_search_result_without_score ... ok
[INFO] [stdout] test search_service::tests::test_needs_internet_search_case_insensitive ... ok
[INFO] [stdout] test test_basic_functionality ... ok
[INFO] [stdout] test search_service::tests::test_search_patterns ... ok
[INFO] [stdout] test search_service::tests::test_needs_internet_search ... ok
[INFO] [stdout] test search_service::tests::test_needs_internet_search_keywords ... ok
[INFO] [stdout] test auth::tests::test_hash_password ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.10s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_ai-063912ab3ee6ab2b)
[INFO] [stdout] 
[INFO] [stdout] running 99 tests
[INFO] [stdout] test auth::tests::test_jwt_expiration ... ok
[INFO] [stdout] test auth::tests::test_generate_jwt ... ok
[INFO] [stdout] test auth::tests::test_login_request_validation ... ok
[INFO] [stdout] test auth::tests::test_config_without_secret ... ok
[INFO] [stdout] test auth::tests::test_create_user_request_validation ... ok
[INFO] [stdout] test config::tests::test_config_from_env_custom_values ... ok
[INFO] [stdout] test config::tests::test_config_from_env_defaults ... ok
[INFO] [stdout] test config::tests::test_config_validation ... ok
[INFO] [stdout] test auth::tests::test_verify_jwt_invalid_token ... ok
[INFO] [stdout] test config::tests::test_bind_address_parsing ... ok
[INFO] [stdout] test config::tests::test_bool_env_function ... ok
[INFO] [stdout] test config::tests::test_env_or_function ... ok
[INFO] [stdout] test config::tests::test_parse_csv_multiple_items ... ok
[INFO] [stdout] test config::tests::test_parse_csv_empty ... ok
[INFO] [stdout] test config::tests::test_parse_csv_empty_items ... ok
[INFO] [stdout] test config::tests::test_parse_csv_single_item ... ok
[INFO] [stdout] test config::tests::test_parse_csv_whitespace ... ok
[INFO] [stdout] test convex_service::tests::test_convex_service_new ... ok
[INFO] [stdout] test auth::tests::test_guest_user_uniqueness ... ok
[INFO] [stdout] test auth::tests::test_create_guest_user ... ok
[INFO] [stdout] test convex_service::tests::test_api_request_event_serialization ... ok
[INFO] [stdout] test convex_service::tests::test_convex_service_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_convex_user_serialization ... ok
[INFO] [stdout] test convex_service::tests::test_create_user_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_create_chat_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_get_user_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_get_user_chats_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_log_system_event_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_log_api_request_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_log_message_disabled ... ok
[INFO] [stdout] test config::tests::test_cache_duration_parsing ... ok
[INFO] [stdout] test convex_service::tests::test_usage_event_serialization ... ok
[INFO] [stdout] test file_processor::tests::test_create_messages_empty_files ... ok
[INFO] [stdout] test file_processor::tests::test_decode_data_url ... ok
[INFO] [stdout] test convex_service::tests::test_log_usage_disabled ... ok
[INFO] [stdout] test convex_service::tests::test_delete_chat_disabled ... ok
[INFO] [stdout] test file_processor::tests::test_decode_data_url_comprehensive ... ok
[INFO] [stdout] test file_processor::tests::test_create_messages_with_file_context ... ok
[INFO] [stdout] test convex_service::tests::test_update_user_usage_disabled ... ok
[INFO] [stdout] test file_processor::tests::test_create_messages_large_files ... ok
[INFO] [stdout] test file_processor::tests::test_is_text_content_type_edge_cases ... ok
[INFO] [stdout] test file_processor::tests::test_decode_data_url_multiline ... ok
[INFO] [stdout] test file_processor::tests::test_supports_multimodal_comprehensive ... ok
[INFO] [stdout] test file_processor::tests::test_supports_multimodal ... ok
[INFO] [stdout] test routing::tests::test_build_routing ... ok
[INFO] [stdout] test routing::tests::test_build_routing_invalid_formats ... ok
[INFO] [stdout] test routing::tests::test_build_routing_empty ... ok
[INFO] [stdout] test routing::tests::test_build_routing_edge_cases ... ok
[INFO] [stdout] test routing::tests::test_build_routing_single_route ... ok
[INFO] [stdout] test routing::tests::test_build_routing_whitespace_handling ... ok
[INFO] [stdout] test routing::tests::test_build_routing_with_special_model_names ... ok
[INFO] [stdout] test routing::tests::test_normalize_provider ... ok
[INFO] [stdout] test routing::tests::test_resolve_route ... ok
[INFO] [stdout] test routing::tests::test_resolve_route_comprehensive ... ok
[INFO] [stdout] test routing::tests::test_route_target_creation ... ok
[INFO] [stdout] test search_service::tests::test_brave_request_serialization ... ok
[INFO] [stdout] test file_processor::tests::test_decode_data_url_special_characters ... ok
[INFO] [stdout] test file_processor::tests::test_decode_data_url_unicode ... ok
[INFO] [stdout] test file_processor::tests::test_is_text_content_type ... ok
[INFO] [stdout] test routing::tests::test_build_routing_multiple_operations ... ok
[INFO] [stdout] test routing::tests::test_build_routing_duplicate_keys ... ok
[INFO] [stdout] test search_service::tests::test_search_response_serialization ... ok
[INFO] [stdout] test search_service::tests::test_search_result_serialization ... ok
[INFO] [stdout] test search_service::tests::test_search_service_new ... ok
[INFO] [stdout] test search_service::tests::test_tavily_request_serialization ... ok
[INFO] [stdout] test types::tests::test_api_response_error ... ok
[INFO] [stdout] test types::tests::test_api_response_serialization ... ok
[INFO] [stdout] test types::tests::test_api_response_success ... ok
[INFO] [stdout] test types::tests::test_api_response_success_with_message ... ok
[INFO] [stdout] test types::tests::test_attachment_creation ... ok
[INFO] [stdout] test types::tests::test_attachment_serialization ... ok
[INFO] [stdout] test types::tests::test_auth_user_anonymous ... ok
[INFO] [stdout] test types::tests::test_auth_user_creation ... ok
[INFO] [stdout] test types::tests::test_auth_user_serialization ... ok
[INFO] [stdout] test types::tests::test_chat_message_creation ... ok
[INFO] [stdout] test types::tests::test_chat_message_serialization ... ok
[INFO] [stdout] test types::tests::test_enum_edge_cases ... ok
[INFO] [stdout] test types::tests::test_invoke_request_complete ... ok
[INFO] [stdout] test types::tests::test_invoke_request_minimal ... ok
[INFO] [stdout] test types::tests::test_invoke_request_serialization ... ok
[INFO] [stdout] test types::tests::test_message_role_serialization ... ok
[INFO] [stdout] test types::tests::test_operation_serialization ... ok
[INFO] [stdout] test types::tests::test_provider_deserialization ... ok
[INFO] [stdout] test types::tests::test_provider_serialization ... ok
[INFO] [stdout] test types::tests::test_route_target_creation ... ok
[INFO] [stdout] test search_service::tests::test_cleanup_cache ... ok
[INFO] [stdout] test types::tests::test_search_response_creation ... ok
[INFO] [stdout] test types::tests::test_search_response_empty ... ok
[INFO] [stdout] test types::tests::test_search_response_serialization ... ok
[INFO] [stdout] test types::tests::test_search_result_creation ... ok
[INFO] [stdout] test types::tests::test_search_result_serialization ... ok
[INFO] [stdout] test types::tests::test_search_result_without_score ... ok
[INFO] [stdout] test types::tests::test_route_target_serialization ... ok
[INFO] [stdout] test search_service::tests::test_perform_web_search_disabled ... ok
[INFO] [stdout] test search_service::tests::test_needs_internet_search_case_insensitive ... ok
[INFO] [stdout] test search_service::tests::test_needs_internet_search ... ok
[INFO] [stdout] test search_service::tests::test_search_patterns ... ok
[INFO] [stdout] test search_service::tests::test_needs_internet_search_keywords ... ok
[INFO] [stdout] test auth::tests::test_hash_password ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 99 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rust_ai
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/config.rs - config::parse_csv (line 66) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.95s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1b7388f095182ec5249469f4398b3965522945405fe8cf8b15ba04b6d4e8c2cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b7388f095182ec5249469f4398b3965522945405fe8cf8b15ba04b6d4e8c2cc", kill_on_drop: false }`
[INFO] [stdout] 1b7388f095182ec5249469f4398b3965522945405fe8cf8b15ba04b6d4e8c2cc
