[INFO] fetching crate roblox-slang 2.0.3...
[INFO] testing roblox-slang-2.0.3 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate roblox-slang 2.0.3 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate roblox-slang 2.0.3
[INFO] finished tweaking crates.io crate roblox-slang 2.0.3
[INFO] tweaked toml for crates.io crate roblox-slang 2.0.3 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate roblox-slang 2.0.3 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate roblox-slang 2.0.3 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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quickcheck_macros v1.1.0
[INFO] [stderr]   Downloaded notify-debouncer-full v0.3.2
[INFO] [stderr]   Downloaded mockito v1.7.2
[INFO] [stderr]   Downloaded env_logger v0.10.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7ea963cd790e7fe5af3799087fbc53c9b4fd504cf8b1796be894664d137c5592
[INFO] running `Command { std: "docker" "start" "-a" "7ea963cd790e7fe5af3799087fbc53c9b4fd504cf8b1796be894664d137c5592", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ea963cd790e7fe5af3799087fbc53c9b4fd504cf8b1796be894664d137c5592", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ea963cd790e7fe5af3799087fbc53c9b4fd504cf8b1796be894664d137c5592", kill_on_drop: false }`
[INFO] [stdout] 7ea963cd790e7fe5af3799087fbc53c9b4fd504cf8b1796be894664d137c5592
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7deb4f6db385132cb25b190f4a661f5317e610b965280c22c2341387f626cedf
[INFO] running `Command { std: "docker" "start" "-a" "7deb4f6db385132cb25b190f4a661f5317e610b965280c22c2341387f626cedf", kill_on_drop: false }`
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling clap_builder v4.5.57
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling file-id v0.2.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling notify-debouncer-full v0.3.2
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling clap v4.5.57
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling roblox-slang v2.0.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 49.90s
[INFO] running `Command { std: "docker" "inspect" "7deb4f6db385132cb25b190f4a661f5317e610b965280c22c2341387f626cedf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7deb4f6db385132cb25b190f4a661f5317e610b965280c22c2341387f626cedf", kill_on_drop: false }`
[INFO] [stdout] 7deb4f6db385132cb25b190f4a661f5317e610b965280c22c2341387f626cedf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 89c3212fc8d7c5942c6fe5574551728291592312ba721f5c2d14cde7cff85917
[INFO] running `Command { std: "docker" "start" "-a" "89c3212fc8d7c5942c6fe5574551728291592312ba721f5c2d14cde7cff85917", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling clap_builder v4.5.57
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling clap v4.5.57
[INFO] [stderr]    Compiling notify-debouncer-full v0.3.2
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling quickcheck_macros v1.1.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling quickcheck v1.0.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling mockito v1.7.2
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling roblox-slang v2.0.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 13s
[INFO] running `Command { std: "docker" "inspect" "89c3212fc8d7c5942c6fe5574551728291592312ba721f5c2d14cde7cff85917", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89c3212fc8d7c5942c6fe5574551728291592312ba721f5c2d14cde7cff85917", kill_on_drop: false }`
[INFO] [stdout] 89c3212fc8d7c5942c6fe5574551728291592312ba721f5c2d14cde7cff85917
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3f65ba322405351d0e9534076390147cc1648a5abf0ec5df5186707d79fb69f0
[INFO] running `Command { std: "docker" "start" "-a" "3f65ba322405351d0e9534076390147cc1648a5abf0ec5df5186707d79fb69f0", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/roblox_slang-f68c53b28164d482)
[INFO] [stdout] 
[INFO] [stdout] running 286 tests
[INFO] [stdout] test config::schema::tests::test_analytics_config_with_callback ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_empty_base_locale ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_base_locale_not_in_supported ... ok
[INFO] [stdout] test config::defaults::tests::test_config_default ... ok
[INFO] [stdout] test config::schema::tests::test_analytics_config_defaults ... ok
[INFO] [stdout] test config::defaults::tests::test_config_default_validates ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_empty_output_directory ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_empty_input_directory ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_same_input_output ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_empty_supported_locales ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_unsupported_locale ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_valid ... ok
[INFO] [stdout] test config::schema::tests::test_config_with_namespace ... ok
[INFO] [stdout] test config::schema::tests::test_localization_config_cloud ... ok
[INFO] [stdout] test config::schema::tests::test_default_functions ... ok
[INFO] [stdout] test config::schema::tests::test_localization_config_default ... ok
[INFO] [stdout] test config::schema::tests::test_localization_config_embedded ... ok
[INFO] [stdout] test config::schema::tests::test_localization_config_hybrid ... ok
[INFO] [stdout] test config::schema::tests::test_override_config_defaults ... ok
[INFO] [stdout] test config::schema::tests::test_localization_config_invalid_mode ... ok
[INFO] [stdout] test config::tests::test_create_default_config ... ok
[INFO] [stdout] test config::tests::test_load_config_file_not_found ... ok
[INFO] [stdout] test config::tests::test_load_config_valid ... ok
[INFO] [stdout] test config::tests::test_load_config_empty_file ... ok
[INFO] [stdout] test config::tests::test_create_default_overrides ... ok
[INFO] [stdout] test config::tests::test_load_config_validation_error ... ok
[INFO] [stdout] test config::tests::test_load_config_with_overrides ... ok
[INFO] [stdout] test generator::csv::tests::test_escape_csv_value ... ok
[INFO] [stdout] test generator::csv::tests::test_escape_csv_value_empty ... ok
[INFO] [stdout] test generator::csv::tests::test_escape_csv_value_multiple_quotes ... ok
[INFO] [stdout] test generator::csv::tests::test_escape_csv_value_newline ... ok
[INFO] [stdout] test generator::csv::tests::test_generate_csv ... ok
[INFO] [stdout] test generator::csv::tests::test_generate_csv_sorted_keys ... ok
[INFO] [stdout] test generator::csv::tests::test_generate_csv_special_characters ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_empty_file ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_invalid_header ... ok
[INFO] [stdout] test generator::csv::tests::test_generate_csv_with_context ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line_empty_values ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line_mixed ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line_with_commas ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line_unquoted ... ok
[INFO] [stdout] test generator::csv::tests::test_generate_csv_missing_locale ... ok
[INFO] [stdout] test config::tests::test_load_config_with_analytics ... ok
[INFO] [stdout] test config::tests::test_load_config_with_namespace ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line_with_quotes ... ok
[INFO] [stdout] test generator::luau::test_generate_luau_with_full_config_cloud ... ok
[INFO] [stdout] test generator::luau::test_analytics_generation ... ok
[INFO] [stdout] test config::tests::test_load_config_invalid_yaml ... ok
[INFO] [stdout] test generator::luau::test_generate_luau_with_full_config_default_mode ... ok
[INFO] [stdout] test generator::luau::test_analytics_disabled ... ok
[INFO] [stdout] test generator::luau::test_generate_luau_with_full_config_hybrid ... ok
[INFO] [stdout] test generator::luau::test_generate_method_cloud_simple ... ok
[INFO] [stdout] test generator::csv::tests::test_escape_csv_value_carriage_return ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_skip_empty_lines ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_with_context ... ok
[INFO] [stdout] test generator::luau::test_generate_method_cloud_with_analytics ... ok
[INFO] [stdout] test generator::luau::test_generate_method_cloud_with_params ... ok
[INFO] [stdout] test generator::luau::test_generate_method_embedded_simple ... ok
[INFO] [stdout] test generator::luau::test_generate_method_embedded_with_analytics ... ok
[INFO] [stdout] test generator::luau::test_generate_method_embedded_with_params ... ok
[INFO] [stdout] test generator::luau::test_generate_method_hybrid_simple ... ok
[INFO] [stdout] test generator::luau::test_analytics_with_custom_callback ... ok
[INFO] [stdout] test generator::luau::test_generate_method_hybrid_with_analytics ... ok
[INFO] [stdout] test generator::csv::tests::test_roundtrip_csv ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_basic ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_carriage_return ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_escape_length_increases_or_stays_same ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_multiple_special_chars ... ok
[INFO] [stdout] test generator::luau::test_generate_method_hybrid_with_params ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_complex ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_escape_no_unescaped_special_chars ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_newlines ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_quotes ... ok
[INFO] [stdout] test generator::luau::tests::test_extract_parameters ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_tabs ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_cloud_with_analytics ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_cloud_has_localization_service ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_backslashes ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_embedded_with_analytics ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_embedded_data_empty_locale ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_server_safe ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_embedded_data_multiple_locales ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_embedded_data_sorted_keys ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_hybrid_with_analytics ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_embedded_data_single_locale ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_flat_methods_with_plurals ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_embedded_no_localization_service ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_hybrid_optional_cloud ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_namespace_with_plurals ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_luau_complete ... ok
[INFO] [stdout] test generator::types::tests::test_generate_type_definitions_with_plurals ... ok
[INFO] [stdout] test migrator::custom_json::tests::test_extract_translations_direct ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_with_format_specifiers ... ok
[INFO] [stdout] test generator::types::tests::test_build_namespace_tree ... ok
[INFO] [stdout] test migrator::custom_json::tests::test_extract_translations_pattern1 ... ok
[INFO] [stdout] test migrator::custom_json::tests::test_extract_translations_pattern2 ... ok
[INFO] [stdout] test migrator::custom_json::tests::test_extract_translations_pattern3 ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_embedded_data_with_special_chars ... ok
[INFO] [stdout] test migrator::gettext::tests::test_extract_quoted_string ... ok
[INFO] [stdout] test migrator::gettext::tests::test_parse_po_file_multiline ... ok
[INFO] [stdout] test migrator::gettext::tests::test_parse_po_file_with_comments ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel_leading_underscore ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel_no_underscores ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel_trailing_underscore ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_dot_to_nested ... ok
[INFO] [stdout] test migrator::gettext::tests::test_migrate_gettext ... ok
[INFO] [stdout] test migrator::custom_json::tests::test_migrate_custom_json ... ok
[INFO] [stdout] test migrator::gettext::tests::test_parse_po_file_simple ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_escape_idempotent_on_safe_strings ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_snake_to_camel ... ok
[INFO] [stdout] test generator::luau::tests::test_extract_parameters_no_params ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_upper_to_lower ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel_empty ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_empty ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_none ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_special_chars ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel_multiple_underscores ... ok
[INFO] [stdout] test migrator::tests::test_key_transform_debug ... ok
[INFO] [stdout] test migrator::tests::test_migration_format_debug ... ok
[INFO] [stdout] test parser::json::tests::test_flatten_deep_nested ... ok
[INFO] [stdout] test parser::overrides::tests::test_merge_translations ... ok
[INFO] [stdout] test migrator::tests::test_migrate_gettext ... ok
[INFO] [stdout] test migrator::tests::test_migrate_custom_json ... ok
[INFO] [stdout] test parser::overrides::tests::test_parse_overrides ... ok
[INFO] [stdout] test parser::overrides::tests::test_parse_overrides_nonexistent_file ... ok
[INFO] [stdout] test migrator::tests::test_migrate_with_transform ... ok
[INFO] [stdout] test parser::json::tests::test_flatten_nested ... ok
[INFO] [stdout] test parser::types::tests::test_translation_equality ... ok
[INFO] [stdout] test parser::types::tests::test_translation_with_context ... ok
[INFO] [stdout] test roblox::auth::tests::test_load_from_config ... ok
[INFO] [stdout] test roblox::auth::tests::test_load_missing_api_key ... ok
[INFO] [stdout] test parser::yaml::tests::test_parse_yaml_simple ... ok
[INFO] [stdout] test parser::yaml::tests::test_yaml_to_json_conversion ... ok
[INFO] [stdout] test parser::yaml::tests::test_parse_yaml_nested ... ok
[INFO] [stdout] test roblox::auth::tests::test_validate_empty_key ... ok
[INFO] [stdout] test generator::luau::test_generate_luau_with_full_config_multiple_locales ... ok
[INFO] [stdout] test roblox::auth::tests::test_validate_short_key ... ok
[INFO] [stdout] test roblox::auth::tests::test_validate_valid_key ... ok
[INFO] [stdout] test roblox::client::tests::test_client_creation ... ok
[INFO] [stdout] test roblox::client::tests::test_client_creation_with_empty_key ... ok
[INFO] [stdout] test generator::luau::test_generate_luau_with_full_config_embedded ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_empty_cells ... ok
[INFO] [stdout] test roblox::merge::tests::test_overwrite_strategy ... ok
[INFO] [stdout] test roblox::client::tests::test_client_has_correct_base_url ... ok
[INFO] [stdout] test parser::types::tests::test_translation_clone ... ok
[INFO] [stdout] test parser::types::tests::test_translation_creation ... ok
[INFO] [stdout] test roblox::merge::tests::test_merge_strategy ... ok
[INFO] [stdout] test roblox::client::tests::test_client_stores_api_key ... ok
[INFO] [stdout] test roblox::merge::tests::test_empty_diff ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_default ... ok
[INFO] [stdout] test roblox::merge::tests::test_compute_diff ... ok
[INFO] [stdout] test parser::types::tests::test_translation_map ... ok
[INFO] [stdout] test roblox::merge::tests::test_skip_conflicts_strategy ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_success_first_try ... ok
[INFO] [stdout] test roblox::merge::tests::test_identical_translations ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_exponential_backoff ... ok
[INFO] [stdout] test roblox::sync::tests::test_entries_to_translations_multiple_locales ... ok
[INFO] [stdout] test roblox::sync::tests::test_translations_to_map ... ok
[INFO] [stdout] test roblox::sync::tests::test_translations_to_entries ... ok
[INFO] [stdout] test roblox::sync::tests::test_entries_to_translations_with_context ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_non_retryable_error ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_respects_retry_after ... ok
[INFO] [stdout] test roblox::sync::tests::test_sync_orchestrator_new ... ok
[INFO] [stdout] test roblox::types::tests::test_cloud_config_with_values ... ok
[INFO] [stdout] test roblox::types::tests::test_cloud_config_defaults ... ok
[INFO] [stdout] test roblox::sync::tests::test_translations_to_map_multiple_keys ... ok
[INFO] [stdout] test roblox::sync::tests::test_translations_to_entries_with_context ... ok
[INFO] [stdout] test roblox::types::tests::test_cloud_sync_error_display ... ok
[INFO] [stdout] test roblox::types::tests::test_entry_metadata ... ok
[INFO] [stdout] test roblox::types::tests::test_get_table_entries_response_deserialization ... ok
[INFO] [stdout] test roblox::types::tests::test_download_stats ... ok
[INFO] [stdout] test roblox::types::tests::test_localization_entry_clone ... ok
[INFO] [stdout] test roblox::sync::tests::test_entries_to_translations ... ok
[INFO] [stdout] test roblox::types::tests::test_localization_entry_creation ... ok
[INFO] [stdout] test roblox::types::tests::test_sync_stats ... ok
[INFO] [stdout] test roblox::types::tests::test_upload_stats ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_deep_nested ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_non_string_values ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_simple ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_with_prefix ... ok
[INFO] [stdout] test utils::flatten::tests::test_roundtrip ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten_empty ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten_deep ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten_multiple_roots ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten_single_key ... ok
[INFO] [stdout] test utils::format::tests::test_extract_empty_braces ... ok
[INFO] [stdout] test utils::format::tests::test_extract_all_specifier_types ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten_translations ... ok
[INFO] [stdout] test utils::format::tests::test_extract_multiple_same_param ... ok
[INFO] [stdout] test roblox::sync::tests::test_translations_to_map_empty ... ok
[INFO] [stdout] test utils::format::tests::test_extract_no_parameters ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_fixed ... ok
[INFO] [stdout] test utils::format::tests::test_extract_nested_braces ... ok
[INFO] [stdout] test utils::format::tests::test_extract_parameters_with_format ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_datetime ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_int ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_none ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_translate ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_num ... ok
[INFO] [stdout] test utils::format::tests::test_parse_datetime_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_fixed_with_different_digits ... ok
[INFO] [stdout] test utils::format::tests::test_parse_fixed_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_format_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_invalid_fixed_defaults_to_2 ... ok
[INFO] [stdout] test utils::format::tests::test_parse_unknown_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_num_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_translate_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_with_whitespace ... ok
[INFO] [stdout] test roblox::types::tests::test_identifier_with_context ... ok
[INFO] [stdout] test roblox::types::tests::test_translation_serialization ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_nested ... ok
[INFO] [stdout] test utils::locales::tests_locale_detection::test_get_locale_for_country ... ok
[INFO] [stdout] test utils::locales::tests_locale_detection::test_country_locale_map_coverage ... ok
[INFO] [stdout] test utils::plurals::tests::test_extract_base_key_all_forms ... ok
[INFO] [stdout] test utils::plurals::tests::test_extract_base_key ... ok
[INFO] [stdout] test utils::locales::tests::test_get_supported_locale_codes ... ok
[INFO] [stdout] test utils::locales::tests::test_get_roblox_locales ... ok
[INFO] [stdout] test utils::locales::tests::test_is_roblox_locale ... ok
[INFO] [stdout] test utils::plurals::tests::test_extract_base_key_no_plural ... ok
[INFO] [stdout] test utils::plurals::tests::test_is_plural_key ... ok
[INFO] [stdout] test utils::plurals::tests::test_is_plural_key_nested ... ok
[INFO] [stdout] test utils::plurals::tests::test_is_plural_key_false_cases ... ok
[INFO] [stdout] test utils::plurals::tests::test_is_plural_key_all_forms ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_empty_object ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_empty_namespace ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_invalid_base_locale ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_invalid_namespace_chars ... ok
[INFO] [stdout] test utils::format::tests::test_parse_no_specifier ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_namespace_starts_with_digit ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_valid ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_locale_code_invalid_chars ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_path_traversal ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_with_namespace ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_locale_code_empty ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_locale_code_uppercase ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_locale_code_valid ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_consecutive_dots ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_empty ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_safe_path_double_dot ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_invalid_supported_locale ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_leading_dot ... ok
[INFO] [stdout] test utils::plurals::tests::test_extract_base_key_empty ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_safe_path_traversal ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_safe_path_valid ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_locale_code_invalid_format ... ok
[INFO] [stdout] test utils::plurals::tests::test_extract_base_key_nested_parentheses ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_valid ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_whitespace ... ok
[INFO] [stdout] test validator::conflicts::tests::test_empty_translations ... ok
[INFO] [stdout] test validator::conflicts::tests::test_detect_conflicts ... ok
[INFO] [stdout] test validator::conflicts::tests::test_multiple_conflicts ... ok
[INFO] [stdout] test validator::conflicts::tests::test_triple_duplicate ... ok
[INFO] [stdout] test validator::conflicts::tests::test_no_conflicts ... ok
[INFO] [stdout] test validator::conflicts::tests::test_same_key_different_locales_no_conflict ... ok
[INFO] [stdout] test validator::coverage::tests::test_generate_coverage_report ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_reserved_chars ... ok
[INFO] [stdout] test validator::missing::tests::test_base_locale_only ... ok
[INFO] [stdout] test validator::missing::tests::test_detect_missing_keys ... ok
[INFO] [stdout] test validator::missing::tests::test_extra_keys_in_non_base_locale ... ok
[INFO] [stdout] test validator::missing::tests::test_empty_translations ... ok
[INFO] [stdout] test validator::missing::tests::test_multiple_locales_missing_keys ... ok
[INFO] [stdout] test validator::missing::tests::test_no_missing_keys ... ok
[INFO] [stdout] test validator::tests::test_coverage_info_clone ... ok
[INFO] [stdout] test validator::tests::test_coverage_info_creation ... ok
[INFO] [stdout] test validator::tests::test_coverage_info_debug ... ok
[INFO] [stdout] test validator::unused::tests::test_detect_unused_keys_empty_keys ... ok
[INFO] [stdout] test validator::unused::tests::test_detect_unused_keys_all_used ... ok
[INFO] [stdout] test validator::unused::tests::test_detect_unused_keys_nonexistent_dir ... ok
[INFO] [stdout] test validator::unused::tests::test_detect_unused_keys_single_quotes ... ok
[INFO] [stdout] test validator::unused::tests::test_find_lua_files ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_trailing_dot ... ok
[INFO] [stdout] test validator::unused::tests::test_find_lua_files_nested ... ok
[INFO] [stdout] test validator::unused::tests::test_detect_unused_keys ... ok
[INFO] [stdout] test parser::json::tests::test_flatten_simple ... ok
[INFO] [stdout] test parser::json::tests::test_parse_json_file_structure ... ok
[INFO] [stdout] test validator::unused::tests::test_find_lua_files_single_file ... ok
[INFO] [stdout] test validator::unused::tests::test_find_lua_files_non_lua_file ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_escape_preserves_safe_characters ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_embedded_data_all_locales_present ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_retry_then_success ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_max_retries_exceeded ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_embedded_data_completeness ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 286 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 15.98s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/roblox_slang-5d0102ee9046f2f3)
[INFO] [stdout] 
[INFO] [stdout] running 286 tests
[INFO] [stdout] test config::defaults::tests::test_config_default ... ok
[INFO] [stdout] test config::defaults::tests::test_config_default_validates ... ok
[INFO] [stdout] test config::schema::tests::test_analytics_config_defaults ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_empty_base_locale ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_empty_input_directory ... ok
[INFO] [stdout] test config::schema::tests::test_config_with_namespace ... ok
[INFO] [stdout] test config::schema::tests::test_localization_config_cloud ... ok
[INFO] [stdout] test config::schema::tests::test_localization_config_default ... ok
[INFO] [stdout] test config::schema::tests::test_localization_config_embedded ... ok
[INFO] [stdout] test config::schema::tests::test_localization_config_hybrid ... ok
[INFO] [stdout] test config::schema::tests::test_localization_config_invalid_mode ... ok
[INFO] [stdout] test config::schema::tests::test_override_config_defaults ... ok
[INFO] [stdout] test config::tests::test_create_default_config ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_empty_output_directory ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_valid ... ok
[INFO] [stdout] test config::tests::test_load_config_empty_file ... ok
[INFO] [stdout] test config::tests::test_create_default_overrides ... ok
[INFO] [stdout] test config::tests::test_load_config_file_not_found ... ok
[INFO] [stdout] test config::tests::test_load_config_validation_error ... ok
[INFO] [stdout] test config::tests::test_load_config_with_analytics ... ok
[INFO] [stdout] test generator::csv::tests::test_escape_csv_value_carriage_return ... ok
[INFO] [stdout] test config::tests::test_load_config_with_overrides ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_same_input_output ... ok
[INFO] [stdout] test generator::csv::tests::test_escape_csv_value_newline ... ok
[INFO] [stdout] test config::schema::tests::test_default_functions ... ok
[INFO] [stdout] test generator::csv::tests::test_generate_csv_missing_locale ... ok
[INFO] [stdout] test generator::csv::tests::test_generate_csv ... ok
[INFO] [stdout] test config::tests::test_load_config_with_namespace ... ok
[INFO] [stdout] test generator::csv::tests::test_escape_csv_value_multiple_quotes ... ok
[INFO] [stdout] test generator::csv::tests::test_escape_csv_value_empty ... ok
[INFO] [stdout] test generator::csv::tests::test_generate_csv_special_characters ... ok
[INFO] [stdout] test generator::csv::tests::test_escape_csv_value ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv ... ok
[INFO] [stdout] test generator::csv::tests::test_generate_csv_with_context ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_empty_cells ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_empty_file ... ok
[INFO] [stdout] test config::schema::tests::test_analytics_config_with_callback ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_empty_supported_locales ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_unsupported_locale ... ok
[INFO] [stdout] test config::tests::test_load_config_valid ... ok
[INFO] [stdout] test config::tests::test_load_config_invalid_yaml ... ok
[INFO] [stdout] test generator::csv::tests::test_generate_csv_sorted_keys ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line_empty_values ... ok
[INFO] [stdout] test config::schema::tests::test_config_validate_base_locale_not_in_supported ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line_with_quotes ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_skip_empty_lines ... ok
[INFO] [stdout] test generator::csv::tests::test_roundtrip_csv ... ok
[INFO] [stdout] test generator::luau::test_generate_luau_with_full_config_cloud ... ok
[INFO] [stdout] test generator::luau::test_analytics_generation ... ok
[INFO] [stdout] test generator::luau::test_analytics_disabled ... ok
[INFO] [stdout] test generator::luau::test_analytics_with_custom_callback ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line_with_commas ... ok
[INFO] [stdout] test generator::luau::test_generate_luau_with_full_config_default_mode ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line_mixed ... ok
[INFO] [stdout] test generator::luau::test_generate_luau_with_full_config_embedded ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_with_context ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_line_unquoted ... ok
[INFO] [stdout] test generator::csv::tests::test_parse_csv_invalid_header ... ok
[INFO] [stdout] test generator::luau::test_generate_method_cloud_simple ... ok
[INFO] [stdout] test generator::luau::test_generate_method_cloud_with_analytics ... ok
[INFO] [stdout] test generator::luau::test_generate_luau_with_full_config_multiple_locales ... ok
[INFO] [stdout] test generator::luau::test_generate_method_cloud_with_params ... ok
[INFO] [stdout] test generator::luau::test_generate_method_embedded_with_params ... ok
[INFO] [stdout] test generator::luau::test_generate_method_hybrid_simple ... ok
[INFO] [stdout] test generator::luau::test_generate_luau_with_full_config_hybrid ... ok
[INFO] [stdout] test generator::luau::test_generate_method_embedded_with_analytics ... ok
[INFO] [stdout] test generator::luau::test_generate_method_embedded_simple ... ok
[INFO] [stdout] test generator::luau::test_generate_method_hybrid_with_analytics ... ok
[INFO] [stdout] test generator::luau::test_generate_method_hybrid_with_params ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_backslashes ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_cloud_has_localization_service ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_cloud_with_analytics ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_embedded_no_localization_service ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_embedded_with_analytics ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_hybrid_optional_cloud ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_escape_length_increases_or_stays_same ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_hybrid_with_analytics ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_constructor_server_safe ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_embedded_data_empty_locale ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_embedded_data_multiple_locales ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_embedded_data_single_locale ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_embedded_data_sorted_keys ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_embedded_data_with_special_chars ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_flat_methods_with_plurals ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_luau_complete ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_namespace_with_plurals ... ok
[INFO] [stdout] test generator::luau::tests::test_generate_with_format_specifiers ... ok
[INFO] [stdout] test generator::types::tests::test_build_namespace_tree ... ok
[INFO] [stdout] test generator::types::tests::test_generate_type_definitions_with_plurals ... ok
[INFO] [stdout] test migrator::custom_json::tests::test_extract_translations_direct ... ok
[INFO] [stdout] test migrator::custom_json::tests::test_extract_translations_pattern1 ... ok
[INFO] [stdout] test migrator::custom_json::tests::test_extract_translations_pattern2 ... ok
[INFO] [stdout] test migrator::custom_json::tests::test_extract_translations_pattern3 ... ok
[INFO] [stdout] test migrator::custom_json::tests::test_migrate_custom_json ... ok
[INFO] [stdout] test migrator::gettext::tests::test_extract_quoted_string ... ok
[INFO] [stdout] test migrator::gettext::tests::test_migrate_gettext ... ok
[INFO] [stdout] test migrator::gettext::tests::test_parse_po_file_multiline ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_escape_no_unescaped_special_chars ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_basic ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel_empty ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel_leading_underscore ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel_multiple_underscores ... ok
[INFO] [stdout] test migrator::gettext::tests::test_parse_po_file_with_comments ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_carriage_return ... ok
[INFO] [stdout] test migrator::gettext::tests::test_parse_po_file_simple ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_multiple_special_chars ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_newlines ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_escape_idempotent_on_safe_strings ... ok
[INFO] [stdout] test generator::luau::tests::test_extract_parameters ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel_no_underscores ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_snake_to_camel_trailing_underscore ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_none ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_snake_to_camel ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_special_chars ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_dot_to_nested ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_upper_to_lower ... ok
[INFO] [stdout] test migrator::key_transform::tests::test_transform_key_empty ... ok
[INFO] [stdout] test generator::luau::tests::test_extract_parameters_no_params ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_quotes ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_tabs ... ok
[INFO] [stdout] test generator::luau::tests::test_escape_lua_string_complex ... ok
[INFO] [stdout] test migrator::tests::test_migration_format_debug ... ok
[INFO] [stdout] test parser::json::tests::test_flatten_nested ... ok
[INFO] [stdout] test parser::json::tests::test_flatten_simple ... ok
[INFO] [stdout] test parser::overrides::tests::test_merge_translations ... ok
[INFO] [stdout] test migrator::tests::test_migrate_with_transform ... ok
[INFO] [stdout] test migrator::tests::test_key_transform_debug ... ok
[INFO] [stdout] test parser::overrides::tests::test_parse_overrides ... ok
[INFO] [stdout] test migrator::tests::test_migrate_custom_json ... ok
[INFO] [stdout] test roblox::auth::tests::test_load_from_config ... ok
[INFO] [stdout] test parser::json::tests::test_flatten_deep_nested ... ok
[INFO] [stdout] test parser::json::tests::test_parse_json_file_structure ... ok
[INFO] [stdout] test parser::overrides::tests::test_parse_overrides_nonexistent_file ... ok
[INFO] [stdout] test parser::types::tests::test_translation_with_context ... ok
[INFO] [stdout] test parser::yaml::tests::test_parse_yaml_nested ... ok
[INFO] [stdout] test roblox::auth::tests::test_validate_valid_key ... ok
[INFO] [stdout] test parser::yaml::tests::test_parse_yaml_simple ... ok
[INFO] [stdout] test parser::yaml::tests::test_yaml_to_json_conversion ... ok
[INFO] [stdout] test roblox::auth::tests::test_load_missing_api_key ... ok
[INFO] [stdout] test roblox::auth::tests::test_validate_empty_key ... ok
[INFO] [stdout] test roblox::client::tests::test_client_creation ... ok
[INFO] [stdout] test migrator::tests::test_migrate_gettext ... ok
[INFO] [stdout] test roblox::client::tests::test_client_creation_with_empty_key ... ok
[INFO] [stdout] test roblox::merge::tests::test_compute_diff ... ok
[INFO] [stdout] test roblox::client::tests::test_client_has_correct_base_url ... ok
[INFO] [stdout] test parser::types::tests::test_translation_clone ... ok
[INFO] [stdout] test roblox::merge::tests::test_empty_diff ... ok
[INFO] [stdout] test parser::types::tests::test_translation_creation ... ok
[INFO] [stdout] test parser::types::tests::test_translation_equality ... ok
[INFO] [stdout] test roblox::client::tests::test_client_stores_api_key ... ok
[INFO] [stdout] test roblox::merge::tests::test_overwrite_strategy ... ok
[INFO] [stdout] test roblox::merge::tests::test_skip_conflicts_strategy ... ok
[INFO] [stdout] test roblox::auth::tests::test_validate_short_key ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_default ... ok
[INFO] [stdout] test parser::types::tests::test_translation_map ... ok
[INFO] [stdout] test roblox::merge::tests::test_identical_translations ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_exponential_backoff ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_non_retryable_error ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_respects_retry_after ... ok
[INFO] [stdout] test roblox::merge::tests::test_merge_strategy ... ok
[INFO] [stdout] test roblox::sync::tests::test_translations_to_entries_with_context ... ok
[INFO] [stdout] test roblox::sync::tests::test_entries_to_translations_with_context ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_success_first_try ... ok
[INFO] [stdout] test roblox::sync::tests::test_translations_to_map ... ok
[INFO] [stdout] test roblox::sync::tests::test_entries_to_translations_multiple_locales ... ok
[INFO] [stdout] test roblox::sync::tests::test_entries_to_translations ... ok
[INFO] [stdout] test roblox::sync::tests::test_translations_to_map_empty ... ok
[INFO] [stdout] test roblox::sync::tests::test_sync_orchestrator_new ... ok
[INFO] [stdout] test roblox::sync::tests::test_translations_to_entries ... ok
[INFO] [stdout] test roblox::sync::tests::test_translations_to_map_multiple_keys ... ok
[INFO] [stdout] test roblox::types::tests::test_cloud_config_defaults ... ok
[INFO] [stdout] test roblox::types::tests::test_cloud_config_with_values ... ok
[INFO] [stdout] test roblox::types::tests::test_cloud_sync_error_display ... ok
[INFO] [stdout] test roblox::types::tests::test_download_stats ... ok
[INFO] [stdout] test roblox::types::tests::test_entry_metadata ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_empty_object ... ok
[INFO] [stdout] test roblox::types::tests::test_get_table_entries_response_deserialization ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_non_string_values ... ok
[INFO] [stdout] test roblox::types::tests::test_identifier_with_context ... ok
[INFO] [stdout] test roblox::types::tests::test_localization_entry_clone ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_simple ... ok
[INFO] [stdout] test roblox::types::tests::test_sync_stats ... ok
[INFO] [stdout] test roblox::types::tests::test_localization_entry_creation ... ok
[INFO] [stdout] test roblox::types::tests::test_translation_serialization ... ok
[INFO] [stdout] test roblox::types::tests::test_upload_stats ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_nested ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_deep_nested ... ok
[INFO] [stdout] test utils::flatten::tests::test_flatten_with_prefix ... ok
[INFO] [stdout] test utils::flatten::tests::test_roundtrip ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten_deep ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten_empty ... ok
[INFO] [stdout] test utils::format::tests::test_extract_all_specifier_types ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten_single_key ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten_multiple_roots ... ok
[INFO] [stdout] test utils::flatten::tests::test_unflatten_translations ... ok
[INFO] [stdout] test utils::format::tests::test_extract_empty_braces ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_datetime ... ok
[INFO] [stdout] test utils::format::tests::test_extract_nested_braces ... ok
[INFO] [stdout] test utils::format::tests::test_extract_multiple_same_param ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_none ... ok
[INFO] [stdout] test utils::format::tests::test_extract_no_parameters ... ok
[INFO] [stdout] test utils::format::tests::test_parse_fixed_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_extract_parameters_with_format ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_fixed ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_int ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_num ... ok
[INFO] [stdout] test utils::format::tests::test_generate_format_code_translate ... ok
[INFO] [stdout] test utils::format::tests::test_parse_datetime_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_format_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_fixed_with_different_digits ... ok
[INFO] [stdout] test utils::format::tests::test_parse_invalid_fixed_defaults_to_2 ... ok
[INFO] [stdout] test utils::format::tests::test_parse_unknown_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_num_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_with_whitespace ... ok
[INFO] [stdout] test utils::format::tests::test_parse_no_specifier ... ok
[INFO] [stdout] test utils::format::tests::test_parse_translate_specifier ... ok
[INFO] [stdout] test utils::plurals::tests::test_extract_base_key_all_forms ... ok
[INFO] [stdout] test utils::plurals::tests::test_extract_base_key_nested_parentheses ... ok
[INFO] [stdout] test utils::locales::tests_locale_detection::test_country_locale_map_coverage ... ok
[INFO] [stdout] test utils::locales::tests::test_get_supported_locale_codes ... ok
[INFO] [stdout] test utils::plurals::tests::test_is_plural_key_nested ... ok
[INFO] [stdout] test utils::plurals::tests::test_extract_base_key_empty ... ok
[INFO] [stdout] test utils::locales::tests_locale_detection::test_get_locale_for_country ... ok
[INFO] [stdout] test utils::locales::tests::test_get_roblox_locales ... ok
[INFO] [stdout] test utils::locales::tests::test_is_roblox_locale ... ok
[INFO] [stdout] test utils::plurals::tests::test_extract_base_key_no_plural ... ok
[INFO] [stdout] test utils::plurals::tests::test_is_plural_key_all_forms ... ok
[INFO] [stdout] test utils::plurals::tests::test_is_plural_key_false_cases ... ok
[INFO] [stdout] test utils::plurals::tests::test_is_plural_key ... ok
[INFO] [stdout] test utils::plurals::tests::test_extract_base_key ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_empty_namespace ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_invalid_supported_locale ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_invalid_base_locale ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_invalid_namespace_chars ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_namespace_starts_with_digit ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_locale_code_invalid_format ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_with_namespace ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_locale_code_uppercase ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_locale_code_empty ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_valid ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_config_path_traversal ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_locale_code_invalid_chars ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_safe_path_double_dot ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_safe_path_traversal ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_consecutive_dots ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_safe_path_valid ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_empty ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_leading_dot ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_valid ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_whitespace ... ok
[INFO] [stdout] test validator::conflicts::tests::test_detect_conflicts ... ok
[INFO] [stdout] test validator::conflicts::tests::test_multiple_conflicts ... ok
[INFO] [stdout] test validator::conflicts::tests::test_empty_translations ... ok
[INFO] [stdout] test validator::conflicts::tests::test_no_conflicts ... ok
[INFO] [stdout] test validator::conflicts::tests::test_same_key_different_locales_no_conflict ... ok
[INFO] [stdout] test validator::conflicts::tests::test_triple_duplicate ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_locale_code_valid ... ok
[INFO] [stdout] test validator::coverage::tests::test_generate_coverage_report ... ok
[INFO] [stdout] test validator::missing::tests::test_base_locale_only ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_trailing_dot ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_translation_key_reserved_chars ... ok
[INFO] [stdout] test validator::missing::tests::test_empty_translations ... ok
[INFO] [stdout] test validator::missing::tests::test_detect_missing_keys ... ok
[INFO] [stdout] test validator::missing::tests::test_extra_keys_in_non_base_locale ... ok
[INFO] [stdout] test validator::tests::test_coverage_info_clone ... ok
[INFO] [stdout] test validator::tests::test_coverage_info_creation ... ok
[INFO] [stdout] test validator::tests::test_coverage_info_debug ... ok
[INFO] [stdout] test validator::unused::tests::test_detect_unused_keys_nonexistent_dir ... ok
[INFO] [stdout] test validator::unused::tests::test_detect_unused_keys ... ok
[INFO] [stdout] test validator::unused::tests::test_find_lua_files_non_lua_file ... ok
[INFO] [stdout] test validator::unused::tests::test_detect_unused_keys_all_used ... ok
[INFO] [stdout] test validator::unused::tests::test_find_lua_files_single_file ... ok
[INFO] [stdout] test validator::unused::tests::test_find_lua_files ... ok
[INFO] [stdout] test validator::missing::tests::test_multiple_locales_missing_keys ... ok
[INFO] [stdout] test validator::unused::tests::test_detect_unused_keys_empty_keys ... ok
[INFO] [stdout] test validator::unused::tests::test_detect_unused_keys_single_quotes ... ok
[INFO] [stdout] test validator::unused::tests::test_find_lua_files_nested ... ok
[INFO] [stdout] test validator::missing::tests::test_no_missing_keys ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_escape_preserves_safe_characters ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_embedded_data_all_locales_present ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_retry_then_success ... ok
[INFO] [stdout] test roblox::rate_limit::tests::test_rate_limiter_max_retries_exceeded ... ok
[INFO] [stdout] test generator::luau::tests::property_tests::prop_embedded_data_completeness ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 286 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 16.44s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests roblox_slang
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test src/lib.rs - (line 34) - compile ... ok
[INFO] [stdout] test src/roblox/sync.rs - roblox::sync::SyncOrchestrator::upload (line 77) - compile ... ok
[INFO] [stdout] test src/roblox/sync.rs - roblox::sync::SyncOrchestrator::download (line 155) - compile ... ok
[INFO] [stdout] test src/utils/validation.rs - utils::validation::validate_directory_exists (line 304) - compile ... ok
[INFO] [stdout] test src/roblox/auth.rs - roblox::auth::AuthConfig::load (line 60) - compile ... ok
[INFO] [stdout] test src/roblox/rate_limit.rs - roblox::rate_limit::RateLimiter::execute (line 58) - compile ... ok
[INFO] [stdout] test src/utils/validation.rs - utils::validation::validate_config (line 421) - compile ... ok
[INFO] [stdout] test src/roblox/mod.rs - roblox (line 36) - compile ... ok
[INFO] [stdout] test src/roblox/sync.rs - roblox::sync::SyncOrchestrator::sync (line 273) - compile ... ok
[INFO] [stdout] test src/roblox/auth.rs - roblox::auth::AuthConfig (line 17) - compile ... ok
[INFO] [stdout] test src/roblox/sync.rs - roblox::sync::SyncOrchestrator (line 20) - compile ... ok
[INFO] [stdout] test src/utils/validation.rs - utils::validation::validate_file_exists (line 245) - compile ... ok
[INFO] [stdout] test src/roblox/client.rs - roblox::client::RobloxCloudClient (line 19) - compile ... ok
[INFO] [stdout] test src/roblox/merge.rs - roblox::merge::MergeEngine::apply_strategy (line 146) ... ok
[INFO] [stdout] test src/utils/validation.rs - utils::validation::validate_safe_path (line 362) ... ok
[INFO] [stdout] test src/generator/luau.rs - generator::luau::escape_lua_string (line 978) ... ok
[INFO] [stdout] test src/roblox/merge.rs - roblox::merge::MergeEngine::compute_diff (line 68) ... ok
[INFO] [stdout] test src/utils/validation.rs - utils::validation::validate_locale_code (line 28) ... ok
[INFO] [stdout] test src/roblox/rate_limit.rs - roblox::rate_limit::RateLimiter::new (line 31) ... ok
[INFO] [stdout] test src/utils/validation.rs - utils::validation::validate_translation_key (line 156) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3f65ba322405351d0e9534076390147cc1648a5abf0ec5df5186707d79fb69f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f65ba322405351d0e9534076390147cc1648a5abf0ec5df5186707d79fb69f0", kill_on_drop: false }`
[INFO] [stdout] 3f65ba322405351d0e9534076390147cc1648a5abf0ec5df5186707d79fb69f0
