[INFO] cloning repository https://github.com/emelleraud/Fiscal-pos
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/emelleraud/Fiscal-pos" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femelleraud%2FFiscal-pos", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femelleraud%2FFiscal-pos'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] be5be3fc76be9c41b6f4598398b203305d88c8e9
[INFO] testing emelleraud/Fiscal-pos against 1.100.0-beta.1 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femelleraud%2FFiscal-pos" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/emelleraud/Fiscal-pos
[INFO] finished tweaking git repo https://github.com/emelleraud/Fiscal-pos
[INFO] tweaked toml for git repo https://github.com/emelleraud/Fiscal-pos written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/emelleraud/Fiscal-pos on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/emelleraud/Fiscal-pos already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d
[INFO] running `Command { std: "docker" "start" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d", 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" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d", 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" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling dashmap v6.2.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling axum-macros v0.4.2
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling promo-engine v0.1.0 (/opt/rustwide/workdir/promo-engine)
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]    Compiling sqlx v0.8.6
[INFO] [stderr]    Compiling fiscal-engine v0.1.0 (/opt/rustwide/workdir/fiscal-engine)
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling kds-engine v0.1.0 (/opt/rustwide/workdir/kds-engine)
[INFO] [stderr]    Compiling sync-client v0.1.0 (/opt/rustwide/workdir/sync-client)
[INFO] [stderr]    Compiling edge-api v0.1.0 (/opt/rustwide/workdir/edge-api)
[INFO] [stderr]    Compiling kds-print-agent v0.1.0 (/opt/rustwide/workdir/kds-print-agent)
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> common/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | thiserror = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: unused dependency `time`
[INFO] [stderr]   --> common/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | time = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `time`
[INFO] [stderr] warning: `common` (manifest) generated 2 warnings
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> edge-api/Cargo.toml:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | anyhow = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: `edge-api` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]  --> promo-engine/Cargo.toml:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | serde_json = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: `promo-engine` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> sync-client/Cargo.toml:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | anyhow         = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: `sync-client` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 59s
[INFO] running `Command { std: "docker" "inspect" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d", 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" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[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] [stderr]    Compiling serial_test_derive v3.5.0
[INFO] [stderr]    Compiling common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stderr]    Compiling promo-engine v0.1.0 (/opt/rustwide/workdir/promo-engine)
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling serial_test v3.5.0
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling sqlx v0.8.6
[INFO] [stderr]    Compiling fiscal-engine v0.1.0 (/opt/rustwide/workdir/fiscal-engine)
[INFO] [stderr]    Compiling kds-engine v0.1.0 (/opt/rustwide/workdir/kds-engine)
[INFO] [stderr]    Compiling sync-client v0.1.0 (/opt/rustwide/workdir/sync-client)
[INFO] [stderr]    Compiling edge-api v0.1.0 (/opt/rustwide/workdir/edge-api)
[INFO] [stderr]    Compiling kds-print-agent v0.1.0 (/opt/rustwide/workdir/kds-print-agent)
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> common/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | thiserror = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: unused dependency `time`
[INFO] [stderr]   --> common/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | time = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `time`
[INFO] [stderr] warning: `common` (manifest) generated 2 warnings
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> edge-api/Cargo.toml:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | anyhow = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: `edge-api` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]  --> promo-engine/Cargo.toml:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | serde_json = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: `promo-engine` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> sync-client/Cargo.toml:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | anyhow         = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: `sync-client` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d", 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" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> common/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | thiserror = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: unused dependency `time`
[INFO] [stderr]   --> common/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | time = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `time`
[INFO] [stderr] warning: `common` (manifest) generated 2 warnings
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> edge-api/Cargo.toml:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | anyhow = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: `edge-api` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]  --> promo-engine/Cargo.toml:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | serde_json = { workspace = true }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: `promo-engine` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> sync-client/Cargo.toml:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | anyhow         = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: `sync-client` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/common/0406ecbb6261583c/out/common-0406ecbb6261583c)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tests::cents_arithmetic ... ok
[INFO] [stdout] test tests::cents_from_euros_exact ... ok
[INFO] [stdout] test tests::genesis_hash_is_zeroes ... ok
[INFO] [stdout] test tests::fiscal_entry_id_uniqueness ... ok
[INFO] [stdout] test tests::cents_from_euros_rounding ... ok
[INFO] [stdout] test tests::api_error_construction ... ok
[INFO] [stdout] test tests::cents_display ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/edge-api/d17d7b50bcbf1c2e/out/edge_api-d17d7b50bcbf1c2e)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/edge-api/77bb70396d57679f/out/edge_api-77bb70396d57679f)
[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] [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]      Running tests/api.rs (/opt/rustwide/target/debug/build/edge-api/67faabd3664a8969/out/api-67faabd3664a8969)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test close_session_no_session_returns_409 ... ok
[INFO] [stdout] test create_order_single_rate_returns_201 ... ok
[INFO] [stdout] test health_returns_ok ... ok
[INFO] [stdout] test cancel_order_returns_200 ... ok
[INFO] [stdout] test cancel_order_no_reason_returns_422 ... ok
[INFO] [stdout] test create_order_no_session_returns_409 ... ok
[INFO] [stdout] test close_session_returns_200_with_z_report ... ok
[INFO] [stdout] test archive_no_data_returns_404 ... ok
[INFO] [stdout] test get_current_session_no_session_returns_409 ... ok
[INFO] [stdout] test create_order_multi_rate_returns_201 ... ok
[INFO] [stdout] test get_current_session_after_open_returns_200 ... ok
[INFO] [stdout] test archive_generates_and_returns_409_on_duplicate ... ok
[INFO] [stdout] test create_order_empty_line_items_returns_422 ... ok
[INFO] [stdout] test kds_root_returns_200 ... ok
[INFO] [stdout] test open_session_twice_returns_409 ... ok
[INFO] [stdout] test open_session_returns_201 ... ok
[INFO] [stdout] test kds_bare_path_redirects_or_serves ... ok
[INFO] [stdout] test kds_spa_fallback_returns_index ... ok
[INFO] [stdout] test pay_order_returns_200 ... ok
[INFO] [stdout] test archive_no_signing_key_returns_500 ... ok
[INFO] [stdout] test session_accumulators_reflect_orders ... ok
[INFO] [stdout] test heartbeat_unknown_station_returns_204 ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/fiscal-engine/05cd3425d1f51f25/out/fiscal_engine-05cd3425d1f51f25)
[INFO] [stdout] test heartbeat_returns_204 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.71s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 133 tests
[INFO] [stdout] test archive_engine::tests::csv_header_is_correct ... ok
[INFO] [stdout] test errors::tests::archive_error_no_data_display ... ok
[INFO] [stdout] test archive_engine::tests::csv_line_has_correct_column_count ... ok
[INFO] [stdout] test archive_engine::tests::generate_keypair_produces_32_byte_keys ... ok
[INFO] [stdout] test archive_engine::tests::signing_key_from_bytes_roundtrip ... ok
[INFO] [stdout] test errors::tests::integrity_error_hash_mismatch_display ... ok
[INFO] [stdout] test errors::tests::integrity_error_chain_corrupted_display ... ok
[INFO] [stdout] test errors::tests::fiscal_error_from_hash_error ... ok
[INFO] [stdout] test archive_engine::tests::tampered_csv_fails_verification ... ok
[INFO] [stdout] test hash_engine::tests::different_previous_hash_produces_different_hash ... ok
[INFO] [stdout] test errors::tests::fiscal_error_invalid_tva_display ... ok
[INFO] [stdout] test hash_engine::tests::different_sequence_produces_different_hash ... ok
[INFO] [stdout] test hash_engine::tests::hash_is_32_bytes ... ok
[INFO] [stdout] test hash_engine::tests::hash_vector_stability ... ok
[INFO] [stdout] test hash_engine::tests::hex_decode_invalid_length_fails ... ok
[INFO] [stdout] test errors::tests::session_error_already_active_display ... ok
[INFO] [stdout] test hash_engine::tests::all_operation_types_produce_different_hashes ... ok
[INFO] [stdout] test hash_engine::tests::different_amount_produces_different_hash ... ok
[INFO] [stdout] test hash_engine::tests::hex_decode_known_value ... ok
[INFO] [stdout] test hash_engine::tests::hex_encode_all_ff ... ok
[INFO] [stdout] test hash_engine::tests::hex_encode_all_zeros ... ok
[INFO] [stdout] test hash_engine::tests::mixed_operation_types_chain_is_valid ... ok
[INFO] [stdout] test hash_engine::tests::multiple_tampered_entries_all_counted ... ok
[INFO] [stdout] test hash_engine::tests::sequence_gap_detected_fail_fast ... ok
[INFO] [stdout] test hash_engine::tests::single_valid_entry_chain ... ok
[INFO] [stdout] test hash_engine::tests::hex_encode_decode_roundtrip ... ok
[INFO] [stdout] test hash_engine::tests::tampered_first_entry_detected ... ok
[INFO] [stdout] test hash_engine::tests::invalid_genesis_hash_detected ... ok
[INFO] [stdout] test hash_engine::tests::tampered_last_entry_detected ... ok
[INFO] [stdout] test hash_engine::tests::tampered_middle_entry_detected ... ok
[INFO] [stdout] test hash_engine::tests::verify_tampered_amount_fails ... ok
[INFO] [stdout] test hash_engine::tests::ten_entry_chain_is_valid ... ok
[INFO] [stdout] test hash_engine::tests::verify_tampered_sequence_fails ... ok
[INFO] [stdout] test hash_engine::tests::verify_valid_entry_succeeds ... ok
[INFO] [stdout] test hash_engine::tests::verify_wrong_previous_hash_fails ... ok
[INFO] [stdout] test archive_engine::tests::csv_starts_with_bom ... ok
[INFO] [stdout] test errors::tests::fiscal_error_invalid_amount_display ... ok
[INFO] [stdout] test errors::tests::fiscal_error_from_integrity_error ... ok
[INFO] [stdout] test archive_engine::tests::csv_hash_is_sha256_of_content ... ok
[INFO] [stdout] test journal::store::tests::leap_year_detection ... ok
[INFO] [stdout] test archive_engine::tests::sign_and_verify_archive_roundtrip ... ok
[INFO] [stdout] test hash_engine::tests::same_input_produces_same_hash ... ok
[INFO] [stdout] test hash_engine::tests::empty_journal_returns_error ... ok
[INFO] [stdout] test journal::store::tests::year_start_ms_1970 ... ok
[INFO] [stdout] test journal::store::tests::year_start_ms_1971 ... ok
[INFO] [stdout] test archive_engine::tests::wrong_key_fails_verification ... ok
[INFO] [stdout] test archive_engine::tests::export_archive_no_data_fails ... ok
[INFO] [stdout] test journal::store::tests::last_hash_after_insert ... ok
[INFO] [stdout] test journal::store::tests::kds_migration_creates_tables ... ok
[INFO] [stdout] test journal::store::tests::year_start_ms_2024_is_after_2023 ... ok
[INFO] [stdout] test archive_engine::tests::persist_archive_metadata_idempotence ... ok
[INFO] [stdout] test journal::store::tests::next_session_sequence_increments ... ok
[INFO] [stdout] test journal::store::tests::mark_entries_synced ... ok
[INFO] [stdout] test journal::store::tests::no_active_session_returns_none ... ok
[INFO] [stdout] test journal::store::tests::next_session_sequence_starts_at_1 ... ok
[INFO] [stdout] test hash_engine::tests::one_thousand_entry_chain_is_valid ... ok
[INFO] [stdout] test journal::tests::open_session_creates_active_session ... ok
[INFO] [stdout] test journal::store::tests::insert_entry_and_reload ... ok
[INFO] [stdout] test journal::tests::open_two_sessions_fails ... ok
[INFO] [stdout] test archive_engine::tests::export_archive_with_data_succeeds ... ok
[INFO] [stdout] test types::archive::tests::empty_site_id_fails_metadata_check ... ok
[INFO] [stdout] test types::archive::tests::empty_software_version_fails_metadata_check ... ok
[INFO] [stdout] test types::archive::tests::invalid_sequence_range_fails_metadata_check ... ok
[INFO] [stdout] test journal::tests::no_active_session_returns_none ... ok
[INFO] [stdout] test types::archive::tests::valid_archive_passes_metadata_check ... ok
[INFO] [stdout] test types::archive::tests::zero_entries_fails_metadata_check ... ok
[INFO] [stdout] test types::entry::tests::cancel_without_reason_fails_validation ... ok
[INFO] [stdout] test types::entry::tests::refund_without_reason_fails_validation ... ok
[INFO] [stdout] test journal::tests::close_session_creates_zclose_entry ... ok
[INFO] [stdout] test journal::tests::close_session_no_session_fails ... ok
[INFO] [stdout] test types::entry::tests::sale_with_zero_amount_fails_validation ... ok
[INFO] [stdout] test types::entry::tests::tva_breakdown_mismatch_fails_validation ... ok
[INFO] [stdout] test types::entry::tests::sale_with_negative_amount_fails_validation ... ok
[INFO] [stdout] test journal::tests::session_accumulators_updated_correctly ... ok
[INFO] [stdout] test types::entry::tests::valid_refund_with_reason_passes_validation ... ok
[INFO] [stdout] test types::entry::tests::valid_zclose_passes_validation ... ok
[INFO] [stdout] test types::operation::tests::discount_requires_negative_amount ... ok
[INFO] [stdout] test types::operation::tests::display_matches_label ... ok
[INFO] [stdout] test types::operation::tests::expected_signs ... ok
[INFO] [stdout] test types::operation::tests::cancel_requires_negative_amount ... ok
[INFO] [stdout] test types::operation::tests::only_sale_increases_revenue ... ok
[INFO] [stdout] test types::operation::tests::refund_and_cancel_require_reason ... ok
[INFO] [stdout] test types::operation::tests::refund_requires_negative_amount ... ok
[INFO] [stdout] test types::operation::tests::sale_requires_positive_amount ... ok
[INFO] [stdout] test types::operation::tests::zclose_requires_zero_amount ... ok
[INFO] [stdout] test types::archive::tests::empty_csv_fails_metadata_check ... ok
[INFO] [stdout] test types::archive::tests::invalid_year_fails_metadata_check ... ok
[INFO] [stdout] test types::entry::tests::sale_with_minimum_amount_passes ... ok
[INFO] [stdout] test types::session::tests::net_revenue_only_refunds_is_negative ... ok
[INFO] [stdout] test types::entry::tests::valid_sale_passes_validation ... ok
[INFO] [stdout] test types::session::tests::net_revenue_zero_session ... ok
[INFO] [stdout] test types::session::tests::new_session_has_zero_totals ... ok
[INFO] [stdout] test types::session::tests::new_session_is_open ... ok
[INFO] [stdout] test types::session::tests::session_sequence_number_stored ... ok
[INFO] [stdout] test types::session::tests::session_status_display ... ok
[INFO] [stdout] test types::tva::tests::breakdown_from_ht_coherence ... ok
[INFO] [stdout] test types::tva::tests::breakdown_from_ttc_5_5 ... ok
[INFO] [stdout] test types::tva::tests::breakdown_from_ttc_odd_amount ... ok
[INFO] [stdout] test types::tva::tests::breakdown_from_ttc_coherence ... ok
[INFO] [stdout] test types::tva::tests::tva_10_from_ht_exact ... ok
[INFO] [stdout] test types::tva::tests::tva_20_from_ht_exact ... ok
[INFO] [stdout] test types::tva::tests::tva_5_5_from_ht_exact ... ok
[INFO] [stdout] test types::tva::tests::tva_from_ht_rounding_edge_case ... ok
[INFO] [stdout] test types::operation::tests::labels_are_correct ... ok
[INFO] [stdout] test types::tva::tests::tva_rate_basis_points ... ok
[INFO] [stdout] test types::tva::tests::ht_from_ttc_10_exact ... ok
[INFO] [stdout] test types::tva::tests::tva_rate_labels ... ok
[INFO] [stdout] test types::tva::tests::ht_from_ttc_20_exact ... ok
[INFO] [stdout] test types::z_report::tests::internal_consistency_invalid_sequence ... ok
[INFO] [stdout] test types::z_report::tests::internal_consistency_valid_report ... ok
[INFO] [stdout] test types::z_report::tests::internal_consistency_zero_entries ... ok
[INFO] [stdout] test types::session::tests::net_revenue_calculation ... ok
[INFO] [stdout] test types::z_report::tests::net_revenue_calculation ... ok
[INFO] [stdout] test types::z_report::tests::total_ht_and_tva_sum_to_sales ... ok
[INFO] [stdout] test types::z_report::tests::total_tva_10_only ... ok
[INFO] [stdout] test z_report_engine::tests::aggregate_entries_only_sales ... ok
[INFO] [stdout] test z_report_engine::tests::aggregate_entries_with_refund ... ok
[INFO] [stdout] test journal::tests::record_multiple_transactions_chain_hashes ... ok
[INFO] [stdout] test journal::tests::verify_integrity_empty_journal_fails ... ok
[INFO] [stdout] test journal::store::tests::last_hash_empty_journal_returns_genesis ... ok
[INFO] [stdout] test journal::tests::second_session_after_close ... ok
[INFO] [stdout] test journal::tests::integrity_valid_after_close_session ... ok
[INFO] [stdout] test journal::store::tests::insert_and_load_session ... ok
[INFO] [stdout] test journal::tests::record_transaction_no_session_fails ... ok
[INFO] [stdout] test journal::tests::record_sale_creates_entry_with_hash ... ok
[INFO] [stdout] test journal::tests::verify_integrity_after_transactions_succeeds ... ok
[INFO] [stdout] test z_report_engine::tests::load_z_report_after_generate ... ok
[INFO] [stdout] test z_report_engine::tests::generate_z_report_nominal ... ok
[INFO] [stdout] test z_report_engine::tests::tva_breakdown_aggregated_correctly ... ok
[INFO] [stdout] test z_report_engine::tests::format_z_report_text_contains_key_fields ... ok
[INFO] [stdout] test z_report_engine::tests::generate_z_report_twice_fails ... ok
[INFO] [stdout] test z_report_engine::tests::z_report_internal_consistency_valid ... ok
[INFO] [stdout] test journal::tests::verify_integrity_one_thousand_transactions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 133 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.97s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/kds-engine/3afdfbc5f6485934/out/kds_engine-3afdfbc5f6485934)
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test routing::tests::tag_matches ... ok
[INFO] [stdout] test routing::tests::category_fallback_when_no_product_rule ... ok
[INFO] [stdout] test routing::tests::empty_when_no_match ... ok
[INFO] [stdout] test formatter::receipt::tests::receipt_contains_station_and_order_number ... ok
[INFO] [stdout] test formatter::file::tests::file_output_is_readable_ascii ... ok
[INFO] [stdout] test state_machine::failover_tests::is_online_absent_means_online ... ok
[INFO] [stdout] test types::event::tests::event_acked_station_id ... ok
[INFO] [stdout] test formatter::linerless::tests::linerless_80mm_two_items_two_labels ... ok
[INFO] [stdout] test routing::tests::product_override_wins_over_category ... ok
[INFO] [stdout] test state_machine::failover_tests::is_online_recent_heartbeat ... ok
[INFO] [stdout] test state_machine::failover_tests::is_online_respects_timeout ... ok
[INFO] [stdout] test state_machine::failover_tests::resolve_returns_primary_when_online ... ok
[INFO] [stdout] test state_machine::failover_tests::resolve_returns_fallback_when_primary_down ... ok
[INFO] [stdout] test state_machine::failover_tests::resolve_returns_none_when_fallback_not_in_profile ... ok
[INFO] [stdout] test state_machine::failover_tests::resolve_returns_none_when_no_fallback_configured ... ok
[INFO] [stdout] test state_machine::failover_tests::resolve_returns_none_when_fallback_also_down ... ok
[INFO] [stdout] test types::event::tests::event_new_station_id ... ok
[INFO] [stdout] test types::order_type::tests::takeaway_routes_to_client_orb ... ok
[INFO] [stdout] test types::order_type::tests::delivery_routes_to_livreur_orb ... ok
[INFO] [stdout] test types::order_type::tests::drive_has_no_orb ... ok
[INFO] [stdout] test types::order_type::tests::eat_in_has_no_orb ... ok
[INFO] [stdout] test types::station::tests::output_type_serialization ... ok
[INFO] [stdout] test types::event::tests::line_type_serialization ... ok
[INFO] [stdout] test types::event::tests::event_updated_broadcasts_to_all ... ok
[INFO] [stdout] test types::order_type::tests::orb_type_serialization ... ok
[INFO] [stdout] test types::routing::tests::rule_type_serialization ... ok
[INFO] [stdout] test types::routing::tests::routing_rule_roundtrip ... ok
[INFO] [stdout] test types::event::tests::kds_event_serialization_tagged ... ok
[INFO] [stdout] test types::routing::tests::routing_profile_optional_description ... ok
[INFO] [stdout] test types::order_type::tests::click_and_collect_routes_to_client_orb ... ok
[INFO] [stdout] test types::routing::tests::routing_rule_priority_ordering ... ok
[INFO] [stdout] test broadcaster::tests::no_subscriber_does_not_panic ... ok
[INFO] [stdout] test broadcaster::tests::broadcast_reaches_subscriber ... ok
[INFO] [stdout] test types::station::tests::station_status_display ... ok
[INFO] [stdout] test types::station::tests::station_status_serialization ... ok
[INFO] [stdout] test types::station::tests::station_roundtrip_json ... ok
[INFO] [stdout] test types::station::tests::station_status_as_str ... ok
[INFO] [stdout] test migrations::tests::kds_migration_without_tracking_table ... ok
[INFO] [stdout] test migrations::tests::kds_migration_creates_tables ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/kds-print-agent/b7348eb2af0a6eaf/out/kds_print_agent-b7348eb2af0a6eaf)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/promo-engine/de6c8c7f583475c3/out/promo_engine-de6c8c7f583475c3)
[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] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test evaluator::tests::promo_after_valid_to_rejected ... ok
[INFO] [stdout] test evaluator::tests::manual_promo_selected_applied ... ok
[INFO] [stdout] test evaluator::tests::promo_correct_day_applied ... ok
[INFO] [stdout] test evaluator::tests::promo_in_date_range_applied ... ok
[INFO] [stdout] test evaluator::tests::fixed_amount_capped_at_cart_total ... ok
[INFO] [stdout] test evaluator::tests::exclusion_group_highest_priority_wins ... ok
[INFO] [stdout] test evaluator::tests::item_discount_sku_present_applied ... ok
[INFO] [stdout] test evaluator::tests::happy_hour_percentage_applied ... ok
[INFO] [stdout] test evaluator::tests::no_group_all_cumulated ... ok
[INFO] [stdout] test evaluator::tests::exclusion_group_tie_biggest_discount_wins ... ok
[INFO] [stdout] test evaluator::tests::manual_promo_without_selection_rejected ... ok
[INFO] [stdout] test evaluator::tests::promo_wrong_day_rejected ... ok
[INFO] [stdout] test evaluator::tests::tva_allocation_multi_rate_proportional ... ok
[INFO] [stdout] test evaluator::tests::promo_outside_time_range_rejected ... ok
[INFO] [stdout] test evaluator::tests::bogo_gives_cheapest_item_free ... ok
[INFO] [stdout] test evaluator::tests::bogo_single_item_not_discounted ... ok
[INFO] [stdout] test evaluator::tests::happy_hour_outside_window_rejected ... ok
[INFO] [stdout] test evaluator::tests::promo_inside_time_range_applied ... ok
[INFO] [stdout] test evaluator::tests::promo_before_valid_from_rejected ... ok
[INFO] [stdout] test evaluator::tests::tva_allocation_single_rate_coherent ... ok
[INFO] [stdout] test evaluator::tests::fixed_amount_discount_applied ... ok
[INFO] [stdout] test evaluator::tests::item_discount_sku_absent_rejected ... ok
[INFO] [stdout] test evaluator::tests::percentage_10_percent ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/sync-client/1e4d8d994f0367d1/out/sync_client-1e4d8d994f0367d1)
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test config::tests::sync_error_transient_classification ... ok
[INFO] [stdout] test config::tests::backoff_no_overflow_on_large_attempt ... ok
[INFO] [stdout] test config::tests::backoff_capped_at_max ... ok
[INFO] [stdout] test config::tests::backoff_grows_exponentially ... ok
[INFO] [stdout] test config::tests::backoff_attempt_0_equals_initial ... ok
[INFO] [stdout] test kds_puller::tests::int_val_missing_returns_none ... ok
[INFO] [stdout] test config_puller::tests::read_local_version_from_valid_file ... ok
[INFO] [stdout] test config_puller::tests::read_local_version_invalid_json_returns_zero ... ok
[INFO] [stdout] test config_puller::tests::read_local_version_missing_file_returns_zero ... ok
[INFO] [stdout] test config_puller::tests::apply_config_writes_menu_json ... ok
[INFO] [stdout] test kds_puller::tests::str_req_missing_field_returns_none ... ok
[INFO] [stdout] test kds_puller::tests::int_val_returns_correct_value ... ok
[INFO] [stdout] test config_puller::tests::apply_config_no_tmp_file_left ... ok
[INFO] [stdout] test config_puller::tests::apply_config_is_idempotent ... ok
[INFO] [stdout] test kds_puller::tests::str_req_present_field_returns_some ... ok
[INFO] [stdout] test serializer::tests::payload_prev_hash_none_for_genesis ... ok
[INFO] [stdout] test serializer::tests::payload_has_correct_sequence ... ok
[INFO] [stdout] test serializer::tests::serialize_batch_produces_json_array ... ok
[INFO] [stdout] test serializer::tests::session_payload_site_id_and_ref ... ok
[INFO] [stdout] test serializer::tests::serialize_empty_batch_produces_empty_array ... ok
[INFO] [stdout] test serializer::tests::session_payload_opened_at_is_iso8601 ... ok
[INFO] [stdout] test serializer::tests::payload_tva_rate_intermediaire ... ok
[INFO] [stdout] test serializer::tests::payload_signed_at_is_iso8601 ... ok
[INFO] [stdout] test sync_loop::tests::cycle_metrics_default_all_zero ... ok
[INFO] [stdout] test sync_loop::tests::build_payloads_empty_entries ... ok
[INFO] [stdout] test sync_loop::tests::build_payloads_propagates_site_id ... ok
[INFO] [stdout] test serializer::tests::payload_site_id_propagated ... ok
[INFO] [stdout] test serializer::tests::payload_tva_rate_reduit ... ok
[INFO] [stdout] test serializer::tests::refund_payload_has_negative_amount ... ok
[INFO] [stdout] test serializer::tests::serialize_batch_contains_site_id ... ok
[INFO] [stdout] test serializer::tests::session_payload_status_closed ... ok
[INFO] [stdout] test serializer::tests::payload_operation_type_is_uppercase_label ... ok
[INFO] [stdout] test serializer::tests::payload_hash_is_64_chars_hex ... ok
[INFO] [stdout] test serializer::tests::payload_amount_matches_entry ... ok
[INFO] [stdout] test client::tests::push_sessions_empty_batch_skips_http ... ok
[INFO] [stdout] test client::tests::push_sessions_http_error_returns_err ... ok
[INFO] [stdout] test client::tests::push_sessions_success_returns_batch_size ... ok
[INFO] [stdout] test client::tests::push_sessions_single_payload_returns_one ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/sync-client/22a22a96aea9eb8b/out/sync_client-22a22a96aea9eb8b)
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test kds_puller::tests::int_val_missing_returns_none ... ok
[INFO] [stdout] test config::tests::backoff_attempt_0_equals_initial ... ok
[INFO] [stdout] test config_puller::tests::read_local_version_from_valid_file ... ok
[INFO] [stdout] test kds_puller::tests::str_req_missing_field_returns_none ... ok
[INFO] [stdout] test config_puller::tests::read_local_version_invalid_json_returns_zero ... ok
[INFO] [stdout] test config_puller::tests::apply_config_no_tmp_file_left ... ok
[INFO] [stdout] test config_puller::tests::apply_config_is_idempotent ... ok
[INFO] [stdout] test config::tests::backoff_capped_at_max ... ok
[INFO] [stdout] test kds_puller::tests::int_val_returns_correct_value ... ok
[INFO] [stdout] test config_puller::tests::read_local_version_missing_file_returns_zero ... ok
[INFO] [stdout] test kds_puller::tests::str_req_present_field_returns_some ... ok
[INFO] [stdout] test config::tests::backoff_no_overflow_on_large_attempt ... ok
[INFO] [stdout] test serializer::tests::payload_tva_rate_intermediaire ... ok
[INFO] [stdout] test serializer::tests::payload_tva_rate_reduit ... ok
[INFO] [stdout] test serializer::tests::refund_payload_has_negative_amount ... ok
[INFO] [stdout] test serializer::tests::serialize_batch_contains_site_id ... ok
[INFO] [stdout] test serializer::tests::payload_has_correct_sequence ... ok
[INFO] [stdout] test serializer::tests::payload_hash_is_64_chars_hex ... ok
[INFO] [stdout] test serializer::tests::payload_signed_at_is_iso8601 ... ok
[INFO] [stdout] test serializer::tests::payload_operation_type_is_uppercase_label ... ok
[INFO] [stdout] test serializer::tests::serialize_batch_produces_json_array ... ok
[INFO] [stdout] test serializer::tests::payload_amount_matches_entry ... ok
[INFO] [stdout] test config::tests::sync_error_transient_classification ... ok
[INFO] [stdout] test serializer::tests::serialize_empty_batch_produces_empty_array ... ok
[INFO] [stdout] test serializer::tests::session_payload_opened_at_is_iso8601 ... ok
[INFO] [stdout] test serializer::tests::session_payload_status_closed ... ok
[INFO] [stdout] test sync_loop::tests::build_payloads_propagates_site_id ... ok
[INFO] [stdout] test sync_loop::tests::build_payloads_empty_entries ... ok
[INFO] [stdout] test sync_loop::tests::cycle_metrics_default_all_zero ... ok
[INFO] [stdout] test client::tests::push_sessions_success_returns_batch_size ... ok
[INFO] [stdout] test serializer::tests::session_payload_site_id_and_ref ... ok
[INFO] [stdout] test serializer::tests::payload_site_id_propagated ... ok
[INFO] [stdout] test client::tests::push_sessions_empty_batch_skips_http ... ok
[INFO] [stdout] test client::tests::push_sessions_single_payload_returns_one ... ok
[INFO] [stdout] test serializer::tests::payload_prev_hash_none_for_genesis ... ok
[INFO] [stdout] test config_puller::tests::apply_config_writes_menu_json ... ok
[INFO] [stdout] test config::tests::backoff_grows_exponentially ... ok
[INFO] [stdout] test client::tests::push_sessions_http_error_returns_err ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_sync.rs (/opt/rustwide/target/debug/build/sync-client/ce7cc621be72dd75/out/e2e_sync-ce7cc621be72dd75)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running tests/push_sessions_idempotence.rs (/opt/rustwide/target/debug/build/sync-client/c311d02a027aa543/out/push_sessions_idempotence-c311d02a027aa543)
[INFO] [stdout] test test_e2e_idempotence_crash_recovery ... ignored, Necessite SUPABASE_SERVICE_KEY et reseau actif
[INFO] [stdout] test test_e2e_sync_sqlite_to_supabase ... ignored, Necessite SUPABASE_SERVICE_KEY et reseau actif
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test second_cycle_noop_when_everything_synced ... ok
[INFO] [stdout] test first_sync_cycle_pushes_session_and_entries ... ok
[INFO] [stdout] test crash_recovery_session_already_in_supabase_still_marks_synced ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests common
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test common/src/lib.rs - ApiError::new (line 262) ... ok
[INFO] [stdout] test common/src/lib.rs - Cents (line 171) ... ok
[INFO] [stdout] test common/src/lib.rs - Cents::from_euros (line 187) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests edge_api
[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 fiscal_engine
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test fiscal-engine/src/journal/mod.rs - journal::Journal (line 77) - compile ... ok
[INFO] [stdout] test fiscal-engine/src/archive_engine/mod.rs - archive_engine::verify_archive_signature (line 191) - compile ... ok
[INFO] [stdout] test fiscal-engine/src/journal/mod.rs - journal::Journal::record_transaction (line 225) - compile ... ok
[INFO] [stdout] test fiscal-engine/src/archive_engine/mod.rs - archive_engine::sign_archive (line 148) - compile ... ok
[INFO] [stdout] test fiscal-engine/src/journal/mod.rs - journal::Journal::open_session (line 163) - compile ... ok
[INFO] [stdout] test fiscal-engine/src/archive_engine/mod.rs - archive_engine::export_archive (line 83) - compile ... ok
[INFO] [stdout] test fiscal-engine/src/journal/mod.rs - journal::Journal::verify_integrity (line 425) - compile ... ok
[INFO] [stdout] test fiscal-engine/src/journal/mod.rs - journal::Journal::open (line 112) - compile ... ok
[INFO] [stdout] test fiscal-engine/src/hash_engine/mod.rs - hash_engine::verify_entry_hash (line 212) ... ok
[INFO] [stdout] test fiscal-engine/src/hash_engine/mod.rs - hash_engine::verify_chain_integrity (line 294) ... ok
[INFO] [stdout] test fiscal-engine/src/types/archive.rs - types::archive::SignedArchive (line 105) ... ok
[INFO] [stdout] test fiscal-engine/src/archive_engine/mod.rs - archive_engine::generate_signing_keypair (line 396) ... ok
[INFO] [stdout] test fiscal-engine/src/archive_engine/mod.rs - archive_engine::signing_key_from_bytes (line 419) ... ok
[INFO] [stdout] test fiscal-engine/src/types/operation.rs - types::operation::OperationType (line 29) ... ok
[INFO] [stdout] test fiscal-engine/src/hash_engine/mod.rs - hash_engine::compute_entry_hash (line 127) ... ok
[INFO] [stdout] test fiscal-engine/src/hash_engine/mod.rs - hash_engine::hex_decode (line 405) ... ok
[INFO] [stdout] test fiscal-engine/src/errors/mod.rs - errors::FiscalError (line 29) ... ok
[INFO] [stdout] test fiscal-engine/src/hash_engine/mod.rs - hash_engine::hex_encode (line 385) ... ok
[INFO] [stdout] test fiscal-engine/src/types/operation.rs - types::operation::OperationType::is_amount_valid (line 134) ... ok
[INFO] [stdout] test fiscal-engine/src/types/operation.rs - types::operation::OperationType::expected_amount_sign (line 113) ... ok
[INFO] [stdout] test fiscal-engine/src/types/operation.rs - types::operation::OperationType::label (line 154) ... ok
[INFO] [stdout] test fiscal-engine/src/types/entry.rs - types::entry::FiscalEntry (line 32) ... ok
[INFO] [stdout] test fiscal-engine/src/types/session.rs - types::session::Session::is_open (line 130) ... ok
[INFO] [stdout] test fiscal-engine/src/types/tva.rs - types::tva::TvaRate::as_decimal (line 56) ... ok
[INFO] [stdout] test fiscal-engine/src/types/entry.rs - types::entry::FiscalEntryData::validate (line 153) ... ok
[INFO] [stdout] test fiscal-engine/src/types/operation.rs - types::operation::OperationType::increases_revenue (line 79) ... ok
[INFO] [stdout] test fiscal-engine/src/types/session.rs - types::session::Session::net_revenue (line 146) ... ok
[INFO] [stdout] test fiscal-engine/src/types/tva.rs - types::tva::TvaBreakdown::from_ttc (line 202) ... ok
[INFO] [stdout] test fiscal-engine/src/types/tva.rs - types::tva::TvaRate (line 32) ... ok
[INFO] [stdout] test fiscal-engine/src/types/operation.rs - types::operation::OperationType::requires_reason (line 94) ... ok
[INFO] [stdout] test fiscal-engine/src/types/tva.rs - types::tva::TvaBreakdown::from_ht (line 244) ... ok
[INFO] [stdout] test fiscal-engine/src/types/tva.rs - types::tva::TvaRate::basis_points (line 75) ... ok
[INFO] [stdout] test fiscal-engine/src/types/session.rs - types::session::Session::new (line 102) ... ok
[INFO] [stdout] test fiscal-engine/src/types/tva.rs - types::tva::TvaBreakdown (line 170) ... ok
[INFO] [stdout] test fiscal-engine/src/z_report_engine/mod.rs - z_report_engine::generate_z_report (line 67) - compile ... ok
[INFO] [stdout] test fiscal-engine/src/types/tva.rs - types::tva::TvaRate::compute_tva_from_ht (line 98) ... ok
[INFO] [stdout] test fiscal-engine/src/types/tva.rs - types::tva::TvaRate::compute_ht_from_ttc (line 124) ... ok
[INFO] [stdout] test fiscal-engine/src/z_report_engine/mod.rs - z_report_engine::format_z_report_text (line 442) ... ok
[INFO] [stdout] test fiscal-engine/src/types/z_report.rs - types::z_report::ZReport (line 28) ... ok
[INFO] [stdout] test fiscal-engine/src/types/tva.rs - types::tva::TvaRate::label (line 141) ... ok
[INFO] [stdout] test fiscal-engine/src/types/z_report.rs - types::z_report::ZReport::net_revenue (line 112) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.18s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests kds_engine
[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 promo_engine
[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 sync_client
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test sync-client/src/client.rs - client::SupabaseClient::push_entries (line 119) - compile ... ok
[INFO] [stdout] test sync-client/src/serializer.rs - serializer::FiscalEntryPayload::from_entry (line 122) ... ok
[INFO] [stdout] test sync-client/src/config.rs - config::SyncConfig::backoff_duration (line 100) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.10s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d", kill_on_drop: false }`
[INFO] [stdout] da3a66468537b88ea177797318b97a0eb3e8580cc5acc5ebcb4ce42da097d70d
