[INFO] cloning repository https://github.com/elisedemarie/linguaguessr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/elisedemarie/linguaguessr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felisedemarie%2Flinguaguessr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felisedemarie%2Flinguaguessr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d8d4ebbfffb4143bfafa90e4241d9798232159fb
[INFO] testing elisedemarie/linguaguessr against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felisedemarie%2Flinguaguessr" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/elisedemarie/linguaguessr
[INFO] finished tweaking git repo https://github.com/elisedemarie/linguaguessr
[INFO] tweaked toml for git repo https://github.com/elisedemarie/linguaguessr written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/elisedemarie/linguaguessr on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/elisedemarie/linguaguessr 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510
[INFO] running `Command { std: "docker" "start" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.121
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling wasm-bindgen v0.2.121
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]    Compiling throw_error v0.2.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling konst_macro_rules v0.2.19
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling konst v0.2.20
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]    Compiling send_wrapper v0.6.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling or_poisoned v0.1.0
[INFO] [stderr]    Compiling openssl v0.10.80
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling async-lock v3.4.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling proc-macro-utils v0.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling guardian v1.3.0
[INFO] [stderr]    Compiling xxhash-rust v0.8.15
[INFO] [stderr]    Compiling utf8-width v0.1.8
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling camino v1.2.2
[INFO] [stderr]    Compiling openssl-sys v0.9.116
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling html-escape v0.2.13
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling manyhow-macros v0.11.4
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling const_format v0.2.36
[INFO] [stderr]    Compiling findshlibs v0.10.2
[INFO] [stderr]    Compiling either_of v0.1.9
[INFO] [stderr]    Compiling next_tuple v0.1.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.27
[INFO] [stderr]    Compiling drain_filter_polyfill v0.1.3
[INFO] [stderr]    Compiling interpolator v0.5.0
[INFO] [stderr]    Compiling const_str_slice_concat v0.1.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling collection_literals v1.0.3
[INFO] [stderr]    Compiling linear-map v1.2.0
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling sentry-contexts v0.48.2
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling sentry v0.48.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling uname v0.1.1
[INFO] [stderr]    Compiling hostname v0.4.2
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling config v0.15.23
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.121
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling server_fn_macro v0.7.8
[INFO] [stderr]    Compiling manyhow v0.11.4
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling derive-where v1.6.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling syn_derive v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling reactive_stores_macro v0.1.8
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling quote-use-macros v0.8.4
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling rstml v0.12.1
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling quote-use v0.8.4
[INFO] [stderr]    Compiling attribute-derive-macro v0.10.5
[INFO] [stderr]    Compiling typed-builder-macro v0.20.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling server_fn_macro_default v0.7.8
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling pin-project v1.1.13
[INFO] [stderr]    Compiling attribute-derive v0.10.5
[INFO] [stderr]    Compiling typed-builder v0.20.1
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.121
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling debugid v0.8.0
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling oco_ref v0.2.1
[INFO] [stderr]    Compiling serde_qs v0.13.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling codee v0.3.5
[INFO] [stderr]    Compiling leptos_hot_reload v0.7.8
[INFO] [stderr]    Compiling leptos_config v0.7.8
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling js-sys v0.3.98
[INFO] [stderr]    Compiling hydration_context v0.2.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling leptos_macro v0.7.9
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling sentry-types v0.48.2
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stdout] warning: field `unrelated` is never read
[INFO] [stdout]   --> common/src/scoring.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct ScoringConfig {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     unrelated: u32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling sentry-core v0.48.2
[INFO] [stderr]    Compiling sentry-backtrace v0.48.2
[INFO] [stderr]    Compiling sentry-debug-images v0.48.2
[INFO] [stderr]    Compiling sentry-panic v0.48.2
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.71
[INFO] [stderr]    Compiling web-sys v0.3.98
[INFO] [stderr]    Compiling any_spawner v0.2.0
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling reactive_graph v0.1.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling reactive_stores v0.1.8
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling backend v0.1.0 (/opt/rustwide/workdir/backend)
[INFO] [stdout] warning: unused variable: `lang`
[INFO] [stdout]    --> backend/src/wikipedia.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     lang: &Language,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_lang`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> backend/src/github.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Http(String),
[INFO] [stdout]   |     ---- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `GitHubError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 5 -     Http(String),
[INFO] [stdout] 5 +     Http(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> backend/src/wikipedia.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Http(String),
[INFO] [stdout]    |     ---- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FetchError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 10 -     Http(String),
[INFO] [stdout] 10 +     Http(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gloo-utils v0.2.0
[INFO] [stderr]    Compiling tachys v0.1.9
[INFO] [stderr]    Compiling gloo-net v0.6.0
[INFO] [stderr]    Compiling wasm-streams v0.4.2
[INFO] [stderr]    Compiling server_fn v0.7.8
[INFO] [stderr]    Compiling leptos_server v0.7.8
[INFO] [stderr]    Compiling leptos_dom v0.7.8
[INFO] [stderr]    Compiling leptos v0.7.8
[INFO] [stderr]    Compiling frontend v0.1.0 (/opt/rustwide/workdir/frontend)
[INFO] [stdout] warning: constant `CHARSET` is never used
[INFO] [stdout]   --> frontend/src/seed.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const CHARSET: &[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `seed_from_values` is never used
[INFO] [stdout]   --> frontend/src/seed.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) fn seed_from_values(values: [f64; 6]) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_share_url` is never used
[INFO] [stdout]   --> frontend/src/seed.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) fn build_share_url(origin: &str, seed: &str, mode: &GameMode) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 35s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stdout] warning: field `unrelated` is never read
[INFO] [stdout]   --> common/src/scoring.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct ScoringConfig {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     unrelated: u32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stdout] warning: constant `CHARSET` is never used
[INFO] [stdout]   --> frontend/src/seed.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const CHARSET: &[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `seed_from_values` is never used
[INFO] [stdout]   --> frontend/src/seed.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) fn seed_from_values(values: [f64; 6]) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_share_url` is never used
[INFO] [stdout]   --> frontend/src/seed.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) fn build_share_url(origin: &str, seed: &str, mode: &GameMode) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling frontend v0.1.0 (/opt/rustwide/workdir/frontend)
[INFO] [stderr]    Compiling common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stdout] warning: field `unrelated` is never read
[INFO] [stdout]   --> common/src/scoring.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct ScoringConfig {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     unrelated: u32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling sentry v0.48.2
[INFO] [stderr]    Compiling backend v0.1.0 (/opt/rustwide/workdir/backend)
[INFO] [stdout] warning: unused variable: `lang`
[INFO] [stdout]    --> backend/src/wikipedia.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     lang: &Language,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_lang`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> backend/src/github.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Http(String),
[INFO] [stdout]   |     ---- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `GitHubError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 5 -     Http(String),
[INFO] [stdout] 5 +     Http(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> backend/src/wikipedia.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Http(String),
[INFO] [stdout]    |     ---- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FetchError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 10 -     Http(String),
[INFO] [stdout] 10 +     Http(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 24.51s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: field `unrelated` is never read
[INFO] [stderr]   --> common/src/scoring.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 39 | struct ScoringConfig {
[INFO] [stderr]    |        ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 42 |     unrelated: u32,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `common` (lib) generated 1 warning
[INFO] [stderr] warning: constant `CHARSET` is never used
[INFO] [stderr]   --> frontend/src/seed.rs:23:7
[INFO] [stderr]    |
[INFO] [stderr] 23 | const CHARSET: &[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
[INFO] [stderr]    |       ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `seed_from_values` is never used
[INFO] [stderr]   --> frontend/src/seed.rs:25:15
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub(crate) fn seed_from_values(values: [f64; 6]) -> String {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `build_share_url` is never used
[INFO] [stderr]   --> frontend/src/seed.rs:31:15
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub(crate) fn build_share_url(origin: &str, seed: &str, mode: &GameMode) -> String {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `frontend` (lib) generated 3 warnings
[INFO] [stderr] warning: unused variable: `lang`
[INFO] [stderr]    --> backend/src/wikipedia.rs:148:5
[INFO] [stderr]     |
[INFO] [stderr] 148 |     lang: &Language,
[INFO] [stderr]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_lang`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]  --> backend/src/github.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 |     Http(String),
[INFO] [stderr]   |     ---- ^^^^^^
[INFO] [stderr]   |     |
[INFO] [stderr]   |     field in this variant
[INFO] [stderr]   |
[INFO] [stderr]   = note: `GitHubError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]   |
[INFO] [stderr] 5 -     Http(String),
[INFO] [stderr] 5 +     Http(()),
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> backend/src/wikipedia.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 |     Http(String),
[INFO] [stderr]    |     ---- ^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FetchError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 10 -     Http(String),
[INFO] [stderr] 10 +     Http(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `backend` (bin "backend" test) generated 3 warnings (run `cargo fix --bin "backend" -p backend --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `common` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.68s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/backend-165abf4f295236ef)
[INFO] [stdout] 
[INFO] [stdout] running 198 tests
[INFO] [stdout] test feedback::tests::body_includes_article_url_when_provided ... ok
[INFO] [stdout] test feedback::tests::body_includes_all_fields_when_all_provided ... ok
[INFO] [stdout] test feedback::tests::body_includes_email_when_provided ... ok
[INFO] [stdout] test feedback::tests::body_includes_game_id_when_provided ... ok
[INFO] [stdout] test feedback::tests::body_omits_email_when_absent ... ok
[INFO] [stdout] test feedback::tests::body_omits_game_id_when_absent ... ok
[INFO] [stdout] test feedback::tests::body_always_contains_message ... ok
[INFO] [stdout] test feedback::tests::body_includes_round_id_when_provided ... ok
[INFO] [stdout] test feedback::tests::body_omits_article_url_when_absent ... ok
[INFO] [stdout] test feedback::tests::body_includes_language_when_provided ... ok
[INFO] [stdout] test feedback::tests::body_omits_language_when_absent ... ok
[INFO] [stdout] test feedback::tests::title_has_feedback_prefix ... ok
[INFO] [stdout] test feedback::tests::title_includes_message_of_exactly_60_chars_in_full ... ok
[INFO] [stdout] test feedback::tests::title_includes_short_message_in_full ... ok
[INFO] [stdout] test feedback::tests::title_truncates_long_message_to_60_chars ... ok
[INFO] [stdout] test game::tests::view_has_same_number_of_rounds ... ok
[INFO] [stdout] test game::tests::view_preserves_game_id ... ok
[INFO] [stdout] test game::tests::view_round_has_no_language_field ... ok
[INFO] [stdout] test feedback::tests::title_truncates_message_longer_than_60_chars ... ok
[INFO] [stdout] test handlers::tests::all_rounds_have_non_empty_text ... ok
[INFO] [stdout] test game::tests::view_preserves_round_text ... ok
[INFO] [stdout] test game::tests::view_preserves_round_ids ... ok
[INFO] [stdout] test handlers::tests::easy_mode_rounds_have_exactly_4_options ... ok
[INFO] [stdout] test handlers::tests::daily_mode_stored_session_has_daily_mode ... ok
[INFO] [stdout] test handlers::tests::all_rounds_have_unique_ids ... ok
[INFO] [stdout] test feedback::tests::body_omits_round_id_when_absent ... ok
[INFO] [stdout] test github::tests::create_issue_sends_bearer_auth_header ... ok
[INFO] [stdout] test github::tests::create_issue_posts_to_github_issues_endpoint ... ok
[INFO] [stdout] test github::tests::create_issue_sends_correct_json_payload ... ok
[INFO] [stdout] test github::tests::create_issue_returns_err_on_non_2xx ... ok
[INFO] [stdout] test handlers::tests::default_mode_rounds_have_no_options ... ok
[INFO] [stdout] test handlers::tests::empty_token_returns_502 ... ok
[INFO] [stdout] test handlers::tests::empty_message_does_not_call_github ... ok
[INFO] [stdout] test handlers::tests::get_game_with_mode_easy_returns_200_and_five_rounds ... ok
[INFO] [stdout] test github::tests::create_issue_returns_ok_on_201 ... ok
[INFO] [stdout] test handlers::tests::get_game_with_mode_medium_returns_200 ... ok
[INFO] [stdout] test handlers::tests::github_error_returns_502 ... ok
[INFO] [stdout] test handlers::tests::get_seed_scores_unknown_seed_returns_empty_list ... ok
[INFO] [stdout] test handlers::tests::hard_mode_rounds_have_no_options ... ok
[INFO] [stdout] test handlers::tests::language_pool_easy_returns_10 ... ok
[INFO] [stdout] test handlers::tests::language_pool_hard_returns_75 ... ok
[INFO] [stdout] test handlers::tests::language_pool_medium_does_not_contain_hard_only_languages ... ok
[INFO] [stdout] test handlers::tests::easy_mode_wrong_guess_scores_0 ... ok
[INFO] [stdout] test handlers::tests::correct_guess_returns_200_with_correct_true ... ok
[INFO] [stdout] test handlers::tests::easy_mode_correct_guess_scores_1000 ... ok
[INFO] [stdout] test handlers::tests::guessing_same_round_twice_returns_valid_response ... ok
[INFO] [stdout] test handlers::tests::guess_response_includes_labels ... ok
[INFO] [stdout] test handlers::tests::make_options_always_includes_correct_language ... ok
[INFO] [stdout] test handlers::tests::make_options_returns_exactly_4 ... ok
[INFO] [stdout] test handlers::tests::make_options_has_no_duplicates ... ok
[INFO] [stdout] test handlers::tests::daily_mode_near_miss_gets_partial_score_not_zero ... ok
[INFO] [stdout] test handlers::tests::make_options_correct_appears_exactly_once ... ok
[INFO] [stdout] test handlers::tests::malformed_mode_query_param_returns_400 ... ok
[INFO] [stdout] test handlers::tests::empty_message_returns_422 ... ok
[INFO] [stdout] test handlers::tests::empty_token_does_not_call_github ... ok
[INFO] [stdout] test handlers::tests::get_game_with_mode_daily_returns_200_and_five_rounds ... ok
[INFO] [stdout] test handlers::tests::get_game_with_mode_hard_returns_200_and_five_rounds ... ok
[INFO] [stdout] test handlers::tests::get_seed_scores_after_one_post_returns_that_score ... ok
[INFO] [stdout] test handlers::tests::language_pool_hard_contains_languages_outside_medium_pool ... ok
[INFO] [stdout] test handlers::tests::language_pool_medium_returns_30 ... ok
[INFO] [stdout] test handlers::tests::make_options_all_from_pool ... ok
[INFO] [stdout] test handlers::tests::malformed_post_body_returns_422 ... ok
[INFO] [stdout] test handlers::tests::get_game_with_no_mode_defaults_to_medium_pool_size ... ok
[INFO] [stdout] test handlers::tests::get_seed_scores_accumulates_multiple_scores_in_order ... ok
[INFO] [stdout] test handlers::tests::medium_mode_wrong_guess_still_gets_partial_score ... ok
[INFO] [stdout] test handlers::tests::response_has_five_rounds ... ok
[INFO] [stdout] test handlers::tests::missing_message_field_returns_422 ... ok
[INFO] [stdout] test handlers::tests::response_has_game_id ... ok
[INFO] [stdout] test handlers::tests::returns_200 ... ok
[INFO] [stdout] test handlers::tests::medium_mode_rounds_have_no_options ... ok
[INFO] [stdout] test handlers::tests::same_seed_different_modes_scores_are_independent ... ok
[INFO] [stdout] test handlers::tests::seeded_game_with_easy_mode_returns_200 ... ok
[INFO] [stdout] test handlers::tests::scores_for_different_seeds_are_independent ... ok
[INFO] [stdout] test handlers::tests::select_languages_daily_different_dates_different_results ... ok
[INFO] [stdout] test handlers::tests::select_languages_daily_returns_five ... ok
[INFO] [stdout] test handlers::tests::select_languages_daily_from_full_pool ... ok
[INFO] [stdout] test handlers::tests::select_languages_seeded_easy_stays_in_easy_pool ... ok
[INFO] [stdout] test handlers::tests::select_languages_seeded_hard_stays_in_full_pool ... ok
[INFO] [stdout] test handlers::tests::seeded_game_with_hard_mode_returns_200 ... ok
[INFO] [stdout] test handlers::tests::seeded_game_returns_200_with_five_rounds ... ok
[INFO] [stdout] test handlers::tests::seeded_game_session_stored_in_state ... ok
[INFO] [stdout] test handlers::tests::select_languages_same_seed_different_mode_differs ... ok
[INFO] [stdout] test handlers::tests::select_languages_daily_same_date_same_result ... ok
[INFO] [stdout] test handlers::tests::post_seed_score_returns_200 ... ok
[INFO] [stdout] test handlers::tests::select_languages_medium_returns_five_from_medium_pool ... ok
[INFO] [stdout] test handlers::tests::select_languages_seeded_is_deterministic ... ok
[INFO] [stdout] test handlers::tests::select_languages_seeded_different_seeds_differ ... ok
[INFO] [stdout] test handlers::tests::select_languages_seeded_medium_stays_in_medium_pool ... ok
[INFO] [stdout] test handlers::tests::single_fetch_failure_among_five_returns_503 ... ok
[INFO] [stdout] test handlers::tests::session_is_saved_to_store ... ok
[INFO] [stdout] test handlers::tests::unrelated_guess_scores_zero ... ok
[INFO] [stdout] test handlers::tests::wikipedia_failure_returns_503 ... ok
[INFO] [stdout] test handlers::tests::unknown_game_id_returns_404 ... ok
[INFO] [stdout] test handlers::tests::valid_feedback_returns_201 ... ok
[INFO] [stdout] test handlers::tests::stored_session_has_five_rounds ... ok
[INFO] [stdout] test handlers::tests::select_languages_no_seed_none_does_not_break_daily ... ok
[INFO] [stdout] test handlers::tests::valid_feedback_calls_github_with_formatted_title_and_body ... ok
[INFO] [stdout] test handlers::tests::unknown_round_id_returns_404 ... ok
[INFO] [stdout] test wikipedia::tests::afrikaans_url ... ok
[INFO] [stdout] test wikipedia::tests::amharic_url ... ok
[INFO] [stdout] test wikipedia::tests::arabic_url ... ok
[INFO] [stdout] test wikipedia::tests::armenian_url ... ok
[INFO] [stdout] test wikipedia::tests::azerbaijani_url ... ok
[INFO] [stdout] test wikipedia::tests::bengali_url ... ok
[INFO] [stdout] test wikipedia::tests::basque_url ... ok
[INFO] [stdout] test wikipedia::tests::bulgarian_url ... ok
[INFO] [stdout] test wikipedia::tests::belarusian_url ... ok
[INFO] [stdout] test tests::permissive_cors_allows_any_origin ... ok
[INFO] [stdout] test wikipedia::tests::chinese_url ... ok
[INFO] [stdout] test wikipedia::tests::burmese_url ... ok
[INFO] [stdout] test wikipedia::tests::albanian_url ... ok
[INFO] [stdout] test wikipedia::tests::croatian_url ... ok
[INFO] [stdout] test wikipedia::tests::czech_url ... ok
[INFO] [stdout] test wikipedia::tests::dutch_url ... ok
[INFO] [stdout] test wikipedia::tests::danish_url ... ok
[INFO] [stdout] test wikipedia::tests::estonian_url ... ok
[INFO] [stdout] test wikipedia::tests::catalan_url ... ok
[INFO] [stdout] test wikipedia::tests::english_url ... ok
[INFO] [stdout] test tests::locked_cors_does_not_echo_non_allowed_origin ... ok
[INFO] [stdout] test tests::locked_cors_echoes_configured_origin ... ok
[INFO] [stdout] test handlers::tests::wrong_guess_returns_200_with_correct_false ... ok
[INFO] [stdout] test wikipedia::tests::finnish_url ... ok
[INFO] [stdout] test wikipedia::tests::french_url ... ok
[INFO] [stdout] test wikipedia::tests::fetch_article_returns_text_from_wiki_url ... ok
[INFO] [stdout] test wikipedia::tests::galician_url ... ok
[INFO] [stdout] test wikipedia::tests::georgian_url ... ok
[INFO] [stdout] test wikipedia::tests::greek_url ... ok
[INFO] [stdout] test wikipedia::tests::german_url ... ok
[INFO] [stdout] test wikipedia::tests::hebrew_url ... ok
[INFO] [stdout] test wikipedia::tests::hindi_url ... ok
[INFO] [stdout] test wikipedia::tests::hungarian_url ... ok
[INFO] [stdout] test wikipedia::tests::indonesian_url ... ok
[INFO] [stdout] test wikipedia::tests::icelandic_url ... ok
[INFO] [stdout] test wikipedia::tests::italian_url ... ok
[INFO] [stdout] test wikipedia::tests::japanese_url ... ok
[INFO] [stdout] test wikipedia::tests::kannada_url ... ok
[INFO] [stdout] test wikipedia::tests::khmer_url ... ok
[INFO] [stdout] test wikipedia::tests::kazakh_url ... ok
[INFO] [stdout] test wikipedia::tests::korean_url ... ok
[INFO] [stdout] test wikipedia::tests::latvian_url ... ok
[INFO] [stdout] test wikipedia::tests::irish_url ... ok
[INFO] [stdout] test wikipedia::tests::lithuanian_url ... ok
[INFO] [stdout] test wikipedia::tests::long_ascii_text_truncated_within_char_limit ... ok
[INFO] [stdout] test wikipedia::tests::long_text_not_cut_mid_word ... ok
[INFO] [stdout] test wikipedia::tests::malay_url ... ok
[INFO] [stdout] test wikipedia::tests::malayalam_url ... ok
[INFO] [stdout] test wikipedia::tests::marathi_url ... ok
[INFO] [stdout] test wikipedia::tests::mongolian_url ... ok
[INFO] [stdout] test wikipedia::tests::multibyte_arabic_text_does_not_panic ... ok
[INFO] [stdout] test wikipedia::tests::nepali_url ... ok
[INFO] [stdout] test wikipedia::tests::multibyte_thai_text_result_is_valid_utf8 ... ok
[INFO] [stdout] test wikipedia::tests::multibyte_thai_text_does_not_panic ... ok
[INFO] [stdout] test wikipedia::tests::persian_url ... ok
[INFO] [stdout] test wikipedia::tests::odia_url ... ok
[INFO] [stdout] test wikipedia::tests::polish_url ... ok
[INFO] [stdout] test wikipedia::tests::no_space_near_boundary_falls_back_to_char_boundary ... ok
[INFO] [stdout] test wikipedia::tests::norwegian_url ... ok
[INFO] [stdout] test wikipedia::tests::long_text_preserves_content_up_to_cutoff ... ok
[INFO] [stdout] test wikipedia::tests::extract_of_exactly_min_chars_is_accepted_without_retry ... ok
[INFO] [stdout] test wikipedia::tests::extract_one_char_below_min_triggers_retry ... ok
[INFO] [stdout] test wikipedia::tests::gujarati_url ... ok
[INFO] [stdout] test wikipedia::tests::hausa_url ... ok
[INFO] [stdout] test wikipedia::tests::macedonian_url ... ok
[INFO] [stdout] test wikipedia::tests::makes_exactly_three_attempts_on_repeated_short_extracts ... ok
[INFO] [stdout] test wikipedia::tests::last_attempt_returns_short_extract_rather_than_error ... ok
[INFO] [stdout] test wikipedia::tests::portuguese_url ... ok
[INFO] [stdout] test wikipedia::tests::punjabi_url ... ok
[INFO] [stdout] test wikipedia::tests::romanian_url ... ok
[INFO] [stdout] test wikipedia::tests::serbian_url ... ok
[INFO] [stdout] test wikipedia::tests::short_text_returned_unchanged ... ok
[INFO] [stdout] test wikipedia::tests::tamil_url ... ok
[INFO] [stdout] test wikipedia::tests::telugu_url ... ok
[INFO] [stdout] test wikipedia::tests::returns_truncated_text_when_extract_exceeds_limit ... ok
[INFO] [stdout] test wikipedia::tests::tagalog_url ... ok
[INFO] [stdout] test wikipedia::tests::text_exactly_max_chars_returned_unchanged ... ok
[INFO] [stdout] test wikipedia::tests::returns_http_error_on_server_error ... ok
[INFO] [stdout] test wikipedia::tests::russian_url ... ok
[INFO] [stdout] test wikipedia::tests::sinhala_url ... ok
[INFO] [stdout] test wikipedia::tests::slovenian_url ... ok
[INFO] [stdout] test wikipedia::tests::somali_url ... ok
[INFO] [stdout] test wikipedia::tests::swahili_url ... ok
[INFO] [stdout] test wikipedia::tests::spanish_url ... ok
[INFO] [stdout] test wikipedia::tests::swedish_url ... ok
[INFO] [stdout] test wikipedia::tests::returns_extract_unchanged_when_within_limit ... ok
[INFO] [stdout] test wikipedia::tests::retries_on_short_extract_and_succeeds ... ok
[INFO] [stdout] test wikipedia::tests::text_of_exactly_max_chars_plus_one_is_truncated ... ok
[INFO] [stdout] test wikipedia::tests::slovak_url ... ok
[INFO] [stdout] test wikipedia::tests::turkish_url ... ok
[INFO] [stdout] test wikipedia::tests::ukrainian_url ... ok
[INFO] [stdout] test wikipedia::tests::uzbek_url ... ok
[INFO] [stdout] test wikipedia::tests::welsh_url ... ok
[INFO] [stdout] test wikipedia::tests::yoruba_url ... ok
[INFO] [stdout] test wikipedia::tests::zulu_url ... ok
[INFO] [stdout] test wikipedia::tests::vietnamese_url ... ok
[INFO] [stdout] test wikipedia::tests::returns_parse_error_on_missing_extract_field ... ok
[INFO] [stdout] test wikipedia::tests::thai_url ... ok
[INFO] [stdout] test wikipedia::tests::urdu_url ... ok
[INFO] [stdout] test handlers::tests::fetches_complete_in_parallel ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 198 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/common-b02cd0a6f308840f)
[INFO] [stdout] 
[INFO] [stdout] running 349 tests
[INFO] [stdout] test api::tests::game_view_round_trips ... ok
[INFO] [stdout] test api::tests::game_view_serialises_to_expected_json_shape ... ok
[INFO] [stdout] test api::tests::guess_request_round_trips ... ok
[INFO] [stdout] test api::tests::guess_request_deserialises_from_json ... ok
[INFO] [stdout] test api::tests::language_deserialises_from_plain_string ... ok
[INFO] [stdout] test api::tests::language_serialises_as_plain_string_not_object ... ok
[INFO] [stdout] test api::tests::round_view_serialises_to_expected_json_shape ... ok
[INFO] [stdout] test api::tests::round_view_with_options_round_trips ... ok
[INFO] [stdout] test api::tests::round_view_without_options_field_in_json_deserialises_as_empty ... ok
[INFO] [stdout] test api::tests::round_view_options_serialise_as_language_strings ... ok
[INFO] [stdout] test api::tests::round_view_round_trips ... ok
[INFO] [stdout] test scoring::tests::binary_score_wrong_is_0 ... ok
[INFO] [stdout] test scoring::tests::correct_answer_scores_1000 ... ok
[INFO] [stdout] test scoring::tests::binary_score_correct_is_1000 ... ok
[INFO] [stdout] test scoring::tests::chinese_japanese_scores_250 ... ok
[INFO] [stdout] test scoring::tests::english_japanese_scores_0 ... ok
[INFO] [stdout] test api::tests::guess_response_correct_serialises_to_expected_json ... ok
[INFO] [stdout] test scoring::tests::arabic_hebrew_same_family_diff_branch_scores_100 ... ok
[INFO] [stdout] test api::tests::guess_response_incorrect_serialises_to_expected_json ... ok
[INFO] [stdout] test api::tests::wrong_guess_score_reflects_partial_credit ... ok
[INFO] [stdout] test scoring::tests::basque_spanish_scores_409 ... ok
[INFO] [stdout] test scoring::tests::english_russian_unrelated_scripts_scores_0 ... ok
[INFO] [stdout] test scoring::tests::cross_script_scoring_is_symmetric ... ok
[INFO] [stdout] test api::tests::guess_response_round_trips ... ok
[INFO] [stdout] test scoring::tests::all_languages_have_toml_entries ... ok
[INFO] [stdout] test scoring::tests::finnish_hungarian_scores_600 ... ok
[INFO] [stdout] test scoring::tests::english_french_scores_407 ... ok
[INFO] [stdout] test api::tests::correct_guess_score_is_1000 ... ok
[INFO] [stdout] test api::tests::score_labels_included_in_response ... ok
[INFO] [stdout] test scoring::tests::hindi_tamil_same_family_diff_branch_scores_100 ... ok
[INFO] [stdout] test scoring::tests::hindi_urdu_scores_450 ... ok
[INFO] [stdout] test scoring::tests::jaccard_nodes_deduplication_works ... ok
[INFO] [stdout] test scoring::tests::indonesian_malay_scores_950 ... ok
[INFO] [stdout] test scoring::tests::arabic_hebrew_scores_325 ... ok
[INFO] [stdout] test scoring::tests::jaccard_nodes_same_path_is_1 ... ok
[INFO] [stdout] test scoring::tests::hindi_thai_same_family_diff_branch_scores_100 ... ok
[INFO] [stdout] test scoring::tests::jaccard_of_disjoint_sets_is_0 ... ok
[INFO] [stdout] test scoring::tests::japanese_korean_scores_0 ... ok
[INFO] [stdout] test scoring::tests::labels_for_branch_match ... ok
[INFO] [stdout] test scoring::tests::labels_for_cjk_pair ... ok
[INFO] [stdout] test scoring::tests::labels_for_different_scripts ... ok
[INFO] [stdout] test scoring::tests::labels_for_no_match ... ok
[INFO] [stdout] test scoring::tests::labels_for_same_family_same_branch_different_script ... ok
[INFO] [stdout] test scoring::tests::jaccard_of_identical_sets_is_1 ... ok
[INFO] [stdout] test scoring::tests::labels_for_sub_branch_match ... ok
[INFO] [stdout] test scoring::tests::jaccard_of_both_empty_is_1 ... ok
[INFO] [stdout] test scoring::tests::labels_for_family_match ... ok
[INFO] [stdout] test scoring::tests::labels_for_identical_guess_and_answer_show_same_script_and_family ... ok
[INFO] [stdout] test scoring::tests::labels_for_same_family_different_branch ... ok
[INFO] [stdout] test scoring::tests::labels_for_same_script_match ... ok
[INFO] [stdout] test scoring::tests::punjabi_hindi_same_branch_scores_250 ... ok
[INFO] [stdout] test scoring::tests::jaccard_of_partial_overlap_is_correct ... ok
[INFO] [stdout] test scoring::tests::spanish_portuguese_scores_838 ... ok
[INFO] [stdout] test scoring::tests::tamil_telugu_scores_700 ... ok
[INFO] [stdout] test types::tests::afrikaans_alias_returns_afrikaans ... ok
[INFO] [stdout] test scoring::tests::thai_khmer_same_branch_scores_250 ... ok
[INFO] [stdout] test scoring::tests::russian_bulgarian_scores_680 ... ok
[INFO] [stdout] test scoring::tests::russian_ukrainian_scores_842 ... ok
[INFO] [stdout] test scoring::tests::swahili_zulu_scores_950 ... ok
[INFO] [stdout] test scoring::tests::scoring_is_symmetric ... ok
[INFO] [stdout] test types::tests::albanian_alias_returns_albanian ... ok
[INFO] [stdout] test types::tests::am_alias_returns_amharic ... ok
[INFO] [stdout] test types::tests::amharic_alias_returns_amharic ... ok
[INFO] [stdout] test types::tests::amharic_label ... ok
[INFO] [stdout] test scoring::tests::turkish_azerbaijani_scores_935 ... ok
[INFO] [stdout] test types::tests::amharic_script_prefix_returns_amharic ... ok
[INFO] [stdout] test types::tests::afrikaans_label ... ok
[INFO] [stdout] test types::tests::af_alias_returns_afrikaans ... ok
[INFO] [stdout] test types::tests::albanian_label ... ok
[INFO] [stdout] test types::tests::armenian_label ... ok
[INFO] [stdout] test types::tests::arabic_script_prefix_returns_arabic ... ok
[INFO] [stdout] test types::tests::armenian_script_prefix_returns_armenian ... ok
[INFO] [stdout] test types::tests::ar_alias_returns_arabic_and_armenian ... ok
[INFO] [stdout] test types::tests::az_alias_returns_azerbaijani ... ok
[INFO] [stdout] test types::tests::basque_alias_returns_basque ... ok
[INFO] [stdout] test types::tests::arabic_alias_returns_arabic ... ok
[INFO] [stdout] test types::tests::arabic_label ... ok
[INFO] [stdout] test types::tests::basque_label ... ok
[INFO] [stdout] test types::tests::be_alias_returns_belarusian_and_bengali ... ok
[INFO] [stdout] test types::tests::armenian_alias_returns_armenian ... ok
[INFO] [stdout] test types::tests::azerbaijani_alias_returns_azerbaijani ... ok
[INFO] [stdout] test types::tests::azerbaijani_label ... ok
[INFO] [stdout] test types::tests::belarusian_alias_returns_belarusian ... ok
[INFO] [stdout] test types::tests::belarusian_label ... ok
[INFO] [stdout] test types::tests::belarusian_script_prefix_returns_belarusian ... ok
[INFO] [stdout] test types::tests::bengali_alias_returns_bengali ... ok
[INFO] [stdout] test types::tests::bn_alias_returns_bengali ... ok
[INFO] [stdout] test types::tests::bg_alias_returns_bulgarian ... ok
[INFO] [stdout] test types::tests::bulgarian_script_prefix_returns_bulgarian ... ok
[INFO] [stdout] test types::tests::bulgarian_label ... ok
[INFO] [stdout] test types::tests::burmese_script_prefix_returns_burmese ... ok
[INFO] [stdout] test types::tests::catalan_label ... ok
[INFO] [stdout] test types::tests::bengali_label ... ok
[INFO] [stdout] test types::tests::bulgarian_alias_returns_bulgarian ... ok
[INFO] [stdout] test types::tests::burmese_alias_returns_burmese ... ok
[INFO] [stdout] test types::tests::cy_alias_returns_welsh ... ok
[INFO] [stdout] test types::tests::catalan_alias_returns_catalan ... ok
[INFO] [stdout] test types::tests::chinese_label ... ok
[INFO] [stdout] test types::tests::czech_alias_returns_czech ... ok
[INFO] [stdout] test types::tests::croatian_alias_returns_croatian ... ok
[INFO] [stdout] test types::tests::croatian_label ... ok
[INFO] [stdout] test types::tests::burmese_label ... ok
[INFO] [stdout] test types::tests::czech_label ... ok
[INFO] [stdout] test types::tests::daily_languages_different_dates_different_results ... ok
[INFO] [stdout] test types::tests::danish_alias_returns_danish ... ok
[INFO] [stdout] test types::tests::daily_languages_same_date_same_result ... ok
[INFO] [stdout] test types::tests::cs_alias_returns_czech ... ok
[INFO] [stdout] test types::tests::daily_languages_all_distinct ... ok
[INFO] [stdout] test types::tests::danish_label ... ok
[INFO] [stdout] test types::tests::dutch_alias_returns_dutch ... ok
[INFO] [stdout] test types::tests::da_alias_returns_danish ... ok
[INFO] [stdout] test types::tests::daily_languages_all_in_full_pool ... ok
[INFO] [stdout] test types::tests::de_alias_returns_german ... ok
[INFO] [stdout] test types::tests::empty_query_first_result_is_afrikaans ... ok
[INFO] [stdout] test types::tests::easy_pool_does_not_contain_japanese ... ok
[INFO] [stdout] test types::tests::easy_pool_returns_exactly_10_languages ... ok
[INFO] [stdout] test types::tests::el_alias_returns_greek ... ok
[INFO] [stdout] test types::tests::english_alias_returns_english ... ok
[INFO] [stdout] test types::tests::es_alias_returns_estonian_and_spanish ... ok
[INFO] [stdout] test types::tests::en_alias_returns_english ... ok
[INFO] [stdout] test types::tests::empty_query_returns_all_languages ... ok
[INFO] [stdout] test types::tests::estonian_label ... ok
[INFO] [stdout] test types::tests::empty_query_last_result_is_zulu ... ok
[INFO] [stdout] test types::tests::english_label ... ok
[INFO] [stdout] test types::tests::et_alias_returns_estonian ... ok
[INFO] [stdout] test types::tests::eu_alias_returns_basque ... ok
[INFO] [stdout] test types::tests::fa_alias_returns_persian ... ok
[INFO] [stdout] test types::tests::dutch_label ... ok
[INFO] [stdout] test types::tests::farsi_alias_returns_persian ... ok
[INFO] [stdout] test types::tests::easy_pool_contains_the_10_most_spoken_languages ... ok
[INFO] [stdout] test types::tests::filtered_results_are_also_sorted ... ok
[INFO] [stdout] test types::tests::finnish_alias_returns_finnish ... ok
[INFO] [stdout] test types::tests::finnish_label ... ok
[INFO] [stdout] test types::tests::fr_alias_returns_french ... ok
[INFO] [stdout] test types::tests::fi_alias_returns_finnish_and_tagalog ... ok
[INFO] [stdout] test types::tests::estonian_alias_returns_estonian ... ok
[INFO] [stdout] test types::tests::french_alias_returns_french ... ok
[INFO] [stdout] test types::tests::french_label ... ok
[INFO] [stdout] test types::tests::francais_with_cedilla_returns_french ... ok
[INFO] [stdout] test types::tests::ga_alias_returns_galician_and_irish ... ok
[INFO] [stdout] test types::tests::galician_label ... ok
[INFO] [stdout] test types::tests::game_mode_daily_deserialises_from_lowercase ... ok
[INFO] [stdout] test types::tests::galician_alias_returns_galician ... ok
[INFO] [stdout] test types::tests::game_mode_default_is_medium ... ok
[INFO] [stdout] test types::tests::game_mode_easy_deserialises_from_lowercase ... ok
[INFO] [stdout] test types::tests::game_mode_daily_serialises_as_lowercase ... ok
[INFO] [stdout] test types::tests::game_mode_easy_serialises_as_lowercase ... ok
[INFO] [stdout] test types::tests::game_mode_easy_label ... ok
[INFO] [stdout] test types::tests::game_mode_hard_label ... ok
[INFO] [stdout] test types::tests::game_mode_daily_label ... ok
[INFO] [stdout] test types::tests::game_mode_hard_deserialises_from_lowercase ... ok
[INFO] [stdout] test types::tests::game_mode_medium_deserialises_from_lowercase ... ok
[INFO] [stdout] test types::tests::georgian_alias_returns_georgian ... ok
[INFO] [stdout] test types::tests::game_mode_medium_label ... ok
[INFO] [stdout] test types::tests::georgian_script_prefix_returns_georgian ... ok
[INFO] [stdout] test types::tests::ca_alias_returns_catalan ... ok
[INFO] [stdout] test types::tests::german_alias_returns_german ... ok
[INFO] [stdout] test types::tests::gl_alias_returns_galician ... ok
[INFO] [stdout] test types::tests::greek_label ... ok
[INFO] [stdout] test types::tests::georgian_label ... ok
[INFO] [stdout] test types::tests::gujarati_label ... ok
[INFO] [stdout] test types::tests::game_mode_hard_serialises_as_lowercase ... ok
[INFO] [stdout] test types::tests::german_label ... ok
[INFO] [stdout] test types::tests::daily_languages_returns_exactly_five ... ok
[INFO] [stdout] test types::tests::greek_alias_returns_greek ... ok
[INFO] [stdout] test types::tests::gu_alias_returns_gujarati ... ok
[INFO] [stdout] test types::tests::ha_alias_returns_hausa ... ok
[INFO] [stdout] test types::tests::gujarati_script_prefix_returns_gujarati ... ok
[INFO] [stdout] test types::tests::gujarati_alias_returns_gujarati ... ok
[INFO] [stdout] test types::tests::hr_alias_returns_croatian ... ok
[INFO] [stdout] test types::tests::hausa_alias_returns_hausa ... ok
[INFO] [stdout] test types::tests::hu_alias_returns_hungarian ... ok
[INFO] [stdout] test types::tests::hausa_label ... ok
[INFO] [stdout] test types::tests::hungarian_label ... ok
[INFO] [stdout] test types::tests::hungarian_alias_returns_hungarian ... ok
[INFO] [stdout] test types::tests::hy_alias_returns_armenian ... ok
[INFO] [stdout] test types::tests::hebrew_alias_returns_hebrew ... ok
[INFO] [stdout] test types::tests::icelandic_alias_returns_icelandic ... ok
[INFO] [stdout] test types::tests::hebrew_label ... ok
[INFO] [stdout] test types::tests::hebrew_script_prefix_returns_hebrew ... ok
[INFO] [stdout] test types::tests::hi_alias_returns_hindi ... ok
[INFO] [stdout] test types::tests::hindi_alias_returns_hindi ... ok
[INFO] [stdout] test types::tests::he_alias_returns_hebrew ... ok
[INFO] [stdout] test types::tests::hindi_label ... ok
[INFO] [stdout] test types::tests::icelandic_label ... ok
[INFO] [stdout] test types::tests::indonesian_alias_returns_indonesian ... ok
[INFO] [stdout] test types::tests::id_alias_returns_indonesian ... ok
[INFO] [stdout] test types::tests::indonesian_label ... ok
[INFO] [stdout] test types::tests::irish_alias_returns_irish ... ok
[INFO] [stdout] test types::tests::it_alias_returns_italian ... ok
[INFO] [stdout] test types::tests::is_alias_returns_icelandic ... ok
[INFO] [stdout] test types::tests::italian_label ... ok
[INFO] [stdout] test types::tests::irish_label ... ok
[INFO] [stdout] test types::tests::italian_alias_returns_italian ... ok
[INFO] [stdout] test types::tests::japanese_alias_returns_japanese ... ok
[INFO] [stdout] test types::tests::japanese_script_prefix_returns_japanese ... ok
[INFO] [stdout] test types::tests::japanese_label ... ok
[INFO] [stdout] test types::tests::kannada_label ... ok
[INFO] [stdout] test types::tests::ka_alias_returns_georgian_kannada_kazakh ... ok
[INFO] [stdout] test types::tests::kazakh_alias_returns_kazakh ... ok
[INFO] [stdout] test types::tests::kazakh_label ... ok
[INFO] [stdout] test types::tests::khmer_alias_returns_khmer ... ok
[INFO] [stdout] test types::tests::kannada_alias_returns_kannada ... ok
[INFO] [stdout] test types::tests::kannada_script_prefix_returns_kannada ... ok
[INFO] [stdout] test types::tests::khmer_label ... ok
[INFO] [stdout] test types::tests::khmer_script_prefix_returns_khmer ... ok
[INFO] [stdout] test types::tests::km_alias_returns_khmer ... ok
[INFO] [stdout] test types::tests::kn_alias_returns_kannada ... ok
[INFO] [stdout] test types::tests::ja_alias_returns_japanese ... ok
[INFO] [stdout] test types::tests::ko_alias_returns_korean ... ok
[INFO] [stdout] test types::tests::kk_alias_returns_kazakh ... ok
[INFO] [stdout] test types::tests::lithuanian_alias_returns_lithuanian ... ok
[INFO] [stdout] test types::tests::korean_alias_returns_korean ... ok
[INFO] [stdout] test types::tests::lt_alias_returns_lithuanian ... ok
[INFO] [stdout] test types::tests::korean_label ... ok
[INFO] [stdout] test types::tests::latvian_label ... ok
[INFO] [stdout] test types::tests::macedonian_label ... ok
[INFO] [stdout] test types::tests::latvian_alias_returns_latvian ... ok
[INFO] [stdout] test types::tests::malay_label ... ok
[INFO] [stdout] test types::tests::malayalam_alias_returns_malayalam ... ok
[INFO] [stdout] test types::tests::lv_alias_returns_latvian ... ok
[INFO] [stdout] test types::tests::malay_alias_returns_malay_and_malayalam ... ok
[INFO] [stdout] test types::tests::macedonian_alias_returns_macedonian ... ok
[INFO] [stdout] test types::tests::malayalam_label ... ok
[INFO] [stdout] test types::tests::lithuanian_label ... ok
[INFO] [stdout] test types::tests::malayalam_script_prefix_returns_malayalam ... ok
[INFO] [stdout] test types::tests::mandarin_alias_returns_chinese ... ok
[INFO] [stdout] test types::tests::marathi_alias_returns_marathi ... ok
[INFO] [stdout] test types::tests::marathi_label ... ok
[INFO] [stdout] test types::tests::medium_pool_contains_english ... ok
[INFO] [stdout] test types::tests::medium_pool_contains_hungarian ... ok
[INFO] [stdout] test types::tests::medium_pool_does_not_contain_afrikaans ... ok
[INFO] [stdout] test types::tests::medium_pool_does_not_contain_swedish ... ok
[INFO] [stdout] test types::tests::medium_pool_returns_exactly_30_languages ... ok
[INFO] [stdout] test types::tests::mid_word_english_query_returns_empty ... ok
[INFO] [stdout] test types::tests::mid_word_query_returns_empty ... ok
[INFO] [stdout] test types::tests::mk_alias_returns_macedonian ... ok
[INFO] [stdout] test types::tests::ml_alias_returns_malayalam ... ok
[INFO] [stdout] test types::tests::mn_alias_returns_mongolian ... ok
[INFO] [stdout] test types::tests::mongolian_alias_returns_mongolian ... ok
[INFO] [stdout] test types::tests::mongolian_label ... ok
[INFO] [stdout] test types::tests::mr_alias_returns_marathi ... ok
[INFO] [stdout] test types::tests::ms_alias_returns_malay ... ok
[INFO] [stdout] test types::tests::my_alias_returns_burmese ... ok
[INFO] [stdout] test types::tests::ne_alias_returns_dutch_and_nepali ... ok
[INFO] [stdout] test types::tests::nepali_alias_returns_nepali ... ok
[INFO] [stdout] test types::tests::nepali_label ... ok
[INFO] [stdout] test types::tests::nl_alias_returns_dutch ... ok
[INFO] [stdout] test types::tests::no_alias_returns_norwegian ... ok
[INFO] [stdout] test types::tests::norwegian_alias_returns_norwegian ... ok
[INFO] [stdout] test types::tests::norwegian_label ... ok
[INFO] [stdout] test types::tests::odia_alias_returns_odia ... ok
[INFO] [stdout] test types::tests::odia_label ... ok
[INFO] [stdout] test types::tests::or_alias_returns_odia ... ok
[INFO] [stdout] test types::tests::pa_alias_returns_punjabi ... ok
[INFO] [stdout] test types::tests::persian_label ... ok
[INFO] [stdout] test types::tests::pl_alias_returns_polish ... ok
[INFO] [stdout] test types::tests::polish_alias_returns_polish ... ok
[INFO] [stdout] test types::tests::polish_label ... ok
[INFO] [stdout] test types::tests::portuguese_alias_returns_portuguese ... ok
[INFO] [stdout] test types::tests::portuguese_label ... ok
[INFO] [stdout] test types::tests::pt_alias_returns_portuguese ... ok
[INFO] [stdout] test types::tests::punjabi_alias_returns_punjabi ... ok
[INFO] [stdout] test types::tests::punjabi_label ... ok
[INFO] [stdout] test types::tests::punjabi_script_prefix_returns_punjabi ... ok
[INFO] [stdout] test types::tests::ro_alias_returns_romanian ... ok
[INFO] [stdout] test types::tests::romanian_label ... ok
[INFO] [stdout] test types::tests::romanian_alias_returns_romanian ... ok
[INFO] [stdout] test types::tests::ru_alias_returns_russian ... ok
[INFO] [stdout] test types::tests::russian_alias_returns_russian ... ok
[INFO] [stdout] test types::tests::russian_script_prefix_returns_russian ... ok
[INFO] [stdout] test types::tests::seeded_languages_all_in_given_pool ... ok
[INFO] [stdout] test types::tests::seeded_languages_all_distinct ... ok
[INFO] [stdout] test types::tests::seeded_languages_same_seed_different_pool_gives_different_results ... ok
[INFO] [stdout] test types::tests::seeded_languages_known_seed_pins_hash_algorithm ... ok
[INFO] [stdout] test types::tests::russian_label ... ok
[INFO] [stdout] test types::tests::si_alias_returns_sinhala ... ok
[INFO] [stdout] test types::tests::seeded_languages_respects_easy_pool_membership ... ok
[INFO] [stdout] test types::tests::seeded_languages_returns_exactly_five ... ok
[INFO] [stdout] test types::tests::seeded_languages_same_seed_same_pool_same_result ... ok
[INFO] [stdout] test types::tests::serbian_alias_returns_serbian ... ok
[INFO] [stdout] test types::tests::serbian_label ... ok
[INFO] [stdout] test types::tests::seeded_languages_different_seeds_different_results ... ok
[INFO] [stdout] test types::tests::sinhala_alias_returns_sinhala ... ok
[INFO] [stdout] test types::tests::sinhala_label ... ok
[INFO] [stdout] test types::tests::sk_alias_returns_slovak ... ok
[INFO] [stdout] test types::tests::slovak_alias_returns_slovak ... ok
[INFO] [stdout] test types::tests::slovak_label ... ok
[INFO] [stdout] test types::tests::slovenian_label ... ok
[INFO] [stdout] test types::tests::sl_alias_returns_slovak_and_slovenian ... ok
[INFO] [stdout] test types::tests::slovenian_alias_returns_slovenian ... ok
[INFO] [stdout] test types::tests::somali_label ... ok
[INFO] [stdout] test types::tests::somali_alias_returns_somali ... ok
[INFO] [stdout] test types::tests::spanish_alias_returns_spanish ... ok
[INFO] [stdout] test types::tests::spanish_label ... ok
[INFO] [stdout] test types::tests::sq_alias_returns_albanian ... ok
[INFO] [stdout] test types::tests::so_alias_returns_somali ... ok
[INFO] [stdout] test types::tests::sv_alias_returns_swedish ... ok
[INFO] [stdout] test types::tests::swahili_label ... ok
[INFO] [stdout] test types::tests::suggestions_for_empty_query_returns_full_pool ... ok
[INFO] [stdout] test types::tests::suggestions_for_excludes_languages_outside_pool ... ok
[INFO] [stdout] test types::tests::tagalog_alias_returns_tagalog ... ok
[INFO] [stdout] test types::tests::suggestions_for_filters_within_pool ... ok
[INFO] [stdout] test types::tests::sr_alias_returns_serbian ... ok
[INFO] [stdout] test types::tests::sinhala_script_prefix_returns_sinhala ... ok
[INFO] [stdout] test types::tests::sw_alias_returns_swahili_and_swedish ... ok
[INFO] [stdout] test types::tests::swedish_label ... ok
[INFO] [stdout] test types::tests::ta_alias_returns_tagalog_and_tamil ... ok
[INFO] [stdout] test types::tests::tagalog_label ... ok
[INFO] [stdout] test types::tests::suggestions_for_returns_sorted_results ... ok
[INFO] [stdout] test types::tests::swahili_alias_returns_swahili ... ok
[INFO] [stdout] test types::tests::swedish_alias_returns_swedish ... ok
[INFO] [stdout] test types::tests::tamil_alias_returns_tamil ... ok
[INFO] [stdout] test types::tests::tamil_label ... ok
[INFO] [stdout] test types::tests::te_alias_returns_telugu ... ok
[INFO] [stdout] test types::tests::telugu_alias_returns_telugu ... ok
[INFO] [stdout] test types::tests::telugu_label ... ok
[INFO] [stdout] test types::tests::th_alias_returns_thai ... ok
[INFO] [stdout] test types::tests::thai_alias_returns_thai ... ok
[INFO] [stdout] test types::tests::thai_label ... ok
[INFO] [stdout] test types::tests::tl_alias_returns_tagalog ... ok
[INFO] [stdout] test types::tests::turkish_label ... ok
[INFO] [stdout] test types::tests::ukrainian_alias_returns_ukrainian ... ok
[INFO] [stdout] test types::tests::turkish_alias_returns_turkish ... ok
[INFO] [stdout] test types::tests::uk_alias_returns_ukrainian ... ok
[INFO] [stdout] test types::tests::ukrainian_label ... ok
[INFO] [stdout] test types::tests::uppercase_es_returns_estonian_and_spanish ... ok
[INFO] [stdout] test types::tests::tr_alias_returns_turkish ... ok
[INFO] [stdout] test types::tests::unrecognised_query_returns_empty ... ok
[INFO] [stdout] test types::tests::uz_alias_returns_uzbek ... ok
[INFO] [stdout] test types::tests::uzbek_alias_returns_uzbek ... ok
[INFO] [stdout] test types::tests::vi_alias_returns_vietnamese ... ok
[INFO] [stdout] test types::tests::uppercase_fr_returns_french ... ok
[INFO] [stdout] test types::tests::uppercase_english_returns_english ... ok
[INFO] [stdout] test types::tests::vietnamese_label ... ok
[INFO] [stdout] test types::tests::ur_alias_returns_urdu ... ok
[INFO] [stdout] test types::tests::urdu_alias_returns_urdu ... ok
[INFO] [stdout] test types::tests::urdu_label ... ok
[INFO] [stdout] test types::tests::uzbek_label ... ok
[INFO] [stdout] test types::tests::welsh_alias_returns_welsh ... ok
[INFO] [stdout] test types::tests::vietnamese_alias_returns_vietnamese ... ok
[INFO] [stdout] test types::tests::yo_alias_returns_yoruba ... ok
[INFO] [stdout] test types::tests::welsh_label ... ok
[INFO] [stdout] test types::tests::yoruba_alias_returns_yoruba ... ok
[INFO] [stdout] test types::tests::yoruba_label ... ok
[INFO] [stdout] test types::tests::zh_alias_returns_chinese ... ok
[INFO] [stdout] test types::tests::zu_alias_returns_zulu ... ok
[INFO] [stdout] test types::tests::zulu_alias_returns_zulu ... ok
[INFO] [stdout] test types::tests::zulu_label ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 349 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/frontend-4930f507e3869722)
[INFO] [stdout] 
[INFO] [stdout] running 95 tests
[INFO] [stdout] test animation::tests::at_half_returns_0_875 ... ok
[INFO] [stdout] test animation::tests::at_quarter_returns_correct_cubic_value ... ok
[INFO] [stdout] test animation::tests::at_zero_returns_zero ... ok
[INFO] [stdout] test animation::tests::at_one_returns_one ... ok
[INFO] [stdout] test api::tests::all_fields_serialised_when_all_provided ... ok
[INFO] [stdout] test api::tests::article_url_omitted_when_none ... ok
[INFO] [stdout] test api::tests::article_url_included_when_some ... ok
[INFO] [stdout] test animation::tests::is_monotonically_increasing ... ok
[INFO] [stdout] test api::tests::email_included_when_some ... ok
[INFO] [stdout] test api::tests::email_omitted_when_none ... ok
[INFO] [stdout] test api::tests::game_id_included_when_some ... ok
[INFO] [stdout] test api::tests::game_id_omitted_when_none ... ok
[INFO] [stdout] test api::tests::game_url_with_seed_includes_both ... ok
[INFO] [stdout] test api::tests::game_url_without_seed_easy ... ok
[INFO] [stdout] test api::tests::game_url_with_seed_medium ... ok
[INFO] [stdout] test api::tests::game_url_without_seed_includes_mode ... ok
[INFO] [stdout] test api::tests::language_included_when_some ... ok
[INFO] [stdout] test api::tests::language_omitted_when_none ... ok
[INFO] [stdout] test api::tests::round_id_included_when_some ... ok
[INFO] [stdout] test api::tests::round_id_omitted_when_none ... ok
[INFO] [stdout] test api::tests::seed_scores_url_easy_mode ... ok
[INFO] [stdout] test api::tests::message_is_serialised ... ok
[INFO] [stdout] test api::tests::seed_scores_url_hard_mode ... ok
[INFO] [stdout] test components::feedback_panel::tests::family_tooltip_text_is_correct ... ok
[INFO] [stdout] test components::feedback_panel::tests::script_tooltip_text_is_correct ... ok
[INFO] [stdout] test components::language_combobox::tests::next_highlighted_clamps_at_last_item ... ok
[INFO] [stdout] test components::language_combobox::tests::next_highlighted_none_with_no_items_returns_none ... ok
[INFO] [stdout] test components::language_combobox::tests::next_highlighted_single_item_stays_at_zero ... ok
[INFO] [stdout] test components::language_combobox::tests::prev_highlighted_decrements_index ... ok
[INFO] [stdout] test components::language_combobox::tests::prev_highlighted_first_item_returns_none ... ok
[INFO] [stdout] test components::language_combobox::tests::prev_highlighted_from_one_returns_zero ... ok
[INFO] [stdout] test daily::tests::returns_false_when_date_is_tomorrow ... ok
[INFO] [stdout] test components::language_combobox::tests::prev_highlighted_none_returns_none ... ok
[INFO] [stdout] test daily::tests::returns_false_when_date_is_yesterday ... ok
[INFO] [stdout] test components::language_combobox::tests::next_highlighted_advances_index ... ok
[INFO] [stdout] test mode::tests::mode_str_hard ... ok
[INFO] [stdout] test mode::tests::mode_str_medium ... ok
[INFO] [stdout] test daily::tests::returns_false_when_entry_is_from_different_month ... ok
[INFO] [stdout] test mode::tests::show_score_breakdown_is_true_for_daily ... ok
[INFO] [stdout] test api::tests::seed_scores_url_includes_mode ... ok
[INFO] [stdout] test score::tests::display_score_daily_returns_raw ... ok
[INFO] [stdout] test score::tests::display_score_easy_correct_all_is_5 ... ok
[INFO] [stdout] test score::tests::display_score_easy_divides_by_1000 ... ok
[INFO] [stdout] test score::tests::display_score_easy_zero_is_0 ... ok
[INFO] [stdout] test score::tests::display_score_hard_returns_raw ... ok
[INFO] [stdout] test mode::tests::show_score_breakdown_is_true_for_hard ... ok
[INFO] [stdout] test score::tests::display_score_medium_returns_raw ... ok
[INFO] [stdout] test daily::tests::returns_true_when_date_matches_today ... ok
[INFO] [stdout] test mode::tests::suggestion_pool_daily_returns_full_75 ... ok
[INFO] [stdout] test mode::tests::show_score_breakdown_is_true_for_medium ... ok
[INFO] [stdout] test mode::tests::suggestion_pool_easy_returns_10 ... ok
[INFO] [stdout] test mode::tests::suggestion_pool_hard_returns_75 ... ok
[INFO] [stdout] test mode::tests::mode_str_easy ... ok
[INFO] [stdout] test score::tests::just_below_perfect_is_yellow ... ok
[INFO] [stdout] test components::language_combobox::tests::next_highlighted_none_with_items_returns_first ... ok
[INFO] [stdout] test mode::tests::mode_str_daily ... ok
[INFO] [stdout] test mode::tests::show_score_breakdown_is_false_for_easy ... ok
[INFO] [stdout] test score::tests::max_score_hard_is_5000 ... ok
[INFO] [stdout] test score::tests::max_score_easy_is_5 ... ok
[INFO] [stdout] test score::tests::max_score_medium_is_5000 ... ok
[INFO] [stdout] test mode::tests::suggestion_pool_medium_returns_30 ... ok
[INFO] [stdout] test score::tests::max_score_daily_is_5000 ... ok
[INFO] [stdout] test score::tests::share_text_contains_date ... ok
[INFO] [stdout] test score::tests::share_text_contains_max_score ... ok
[INFO] [stdout] test score::tests::partial_score_is_yellow ... ok
[INFO] [stdout] test score::tests::perfect_score_is_green ... ok
[INFO] [stdout] test score::tests::share_text_contains_emojis ... ok
[INFO] [stdout] test score::tests::minimal_partial_score_is_yellow ... ok
[INFO] [stdout] test score::tests::share_text_contains_site_url ... ok
[INFO] [stdout] test score::tests::share_text_contains_total_score ... ok
[INFO] [stdout] test score::tests::sort_scores_descending_already_sorted_unchanged ... ok
[INFO] [stdout] test score::tests::sort_scores_descending_empty_returns_empty ... ok
[INFO] [stdout] test score::tests::sort_scores_descending_equal_scores_preserved ... ok
[INFO] [stdout] test score::tests::sort_scores_descending_highest_first ... ok
[INFO] [stdout] test score::tests::sort_scores_descending_single_element ... ok
[INFO] [stdout] test seed::tests::build_share_url_contains_mode ... ok
[INFO] [stdout] test score::tests::zero_score_is_red ... ok
[INFO] [stdout] test seed::tests::build_share_url_format ... ok
[INFO] [stdout] test seed::tests::parse_url_seed_handles_mode_before_seed ... ok
[INFO] [stdout] test seed::tests::build_share_url_contains_seed ... ok
[INFO] [stdout] test seed::tests::parse_url_seed_returns_none_for_empty_seed_value ... ok
[INFO] [stdout] test seed::tests::parse_url_seed_returns_seed_and_hard_mode ... ok
[INFO] [stdout] test seed::tests::parse_url_seed_returns_seed_with_default_medium_when_no_mode ... ok
[INFO] [stdout] test seed::tests::parse_url_seed_returns_none_when_no_seed_param ... ok
[INFO] [stdout] test seed::tests::build_share_url_medium_mode ... ok
[INFO] [stdout] test seed::tests::seed_from_values_all_chars_are_uppercase_alphanumeric ... ok
[INFO] [stdout] test seed::tests::seed_from_values_near_zero_maps_to_first_charset_char ... ok
[INFO] [stdout] test seed::tests::parse_url_seed_returns_seed_and_easy_mode ... ok
[INFO] [stdout] test seed::tests::seed_from_values_produces_six_chars ... ok
[INFO] [stdout] test seed::tests::parse_url_seed_returns_seed_and_medium_mode_explicitly ... ok
[INFO] [stdout] test seed::tests::parse_url_seed_unknown_mode_defaults_to_medium ... ok
[INFO] [stdout] test seed::tests::seed_from_values_same_input_same_output ... ok
[INFO] [stdout] test seed::tests::seed_from_values_different_inputs_different_outputs ... ok
[INFO] [stdout] test seed::tests::parse_url_seed_returns_none_when_only_mode_present ... ok
[INFO] [stdout] test seed::tests::seed_from_values_known_input_known_output ... ok
[INFO] [stderr]    Doc-tests common
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 95 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests frontend
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510", kill_on_drop: false }`
[INFO] [stdout] 938638a74570cf31d4a92e8c4fc7a9e7e18a6aff5cb28a04c9607a15744e2510
