[INFO] fetching crate aledgr 0.15.0...
[INFO] testing aledgr-0.15.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate aledgr 0.15.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate aledgr 0.15.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate aledgr 0.15.0
[INFO] tweaked toml for crates.io crate aledgr 0.15.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate aledgr 0.15.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate aledgr 0.15.0 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.115
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.115
[INFO] [stderr]   Downloaded rust_decimal v1.41.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.115
[INFO] [stderr]   Downloaded rend v0.4.2
[INFO] [stderr]   Downloaded bytecheck v0.6.12
[INFO] [stderr]   Downloaded ptr_meta v0.1.4
[INFO] [stderr]   Downloaded ptr_meta_derive v0.1.4
[INFO] [stderr]   Downloaded bytecheck_derive v0.6.12
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.65
[INFO] [stderr]   Downloaded instability v0.3.12
[INFO] [stderr]   Downloaded libredox v0.1.15
[INFO] [stderr]   Downloaded rust_decimal_macros v1.40.0
[INFO] [stderr]   Downloaded kqueue-sys v1.0.4
[INFO] [stderr]   Downloaded darling_macro v0.23.0
[INFO] [stderr]   Downloaded clap_mangen v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.115
[INFO] [stderr]   Downloaded roff v1.1.1
[INFO] [stderr]   Downloaded seahash v4.1.0
[INFO] [stderr]   Downloaded rkyv_derive v0.7.46
[INFO] [stderr]   Downloaded indoc v2.0.7
[INFO] [stderr]   Downloaded kqueue v1.1.1
[INFO] [stderr]   Downloaded redox_syscall v0.7.3
[INFO] [stderr]   Downloaded ahash v0.7.8
[INFO] [stderr]   Downloaded borsh-derive v1.6.1
[INFO] [stderr]   Downloaded toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]   Downloaded toml_datetime v1.1.0+spec-1.1.0
[INFO] [stderr]   Downloaded darling v0.23.0
[INFO] [stderr]   Downloaded clap_derive v4.6.0
[INFO] [stderr]   Downloaded notify v6.1.1
[INFO] [stderr]   Downloaded clap_complete v4.6.0
[INFO] [stderr]   Downloaded uuid v1.23.0
[INFO] [stderr]   Downloaded toml_edit v0.25.8+spec-1.1.0
[INFO] [stderr]   Downloaded darling_core v0.23.0
[INFO] [stderr]   Downloaded compact_str v0.8.1
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.15
[INFO] [stderr]   Downloaded clap v4.6.0
[INFO] [stderr]   Downloaded borsh v1.6.1
[INFO] [stderr]   Downloaded cc v1.2.58
[INFO] [stderr]   Downloaded js-sys v0.3.92
[INFO] [stderr]   Downloaded crossterm v0.28.1
[INFO] [stderr]   Downloaded rkyv v0.7.46
[INFO] [stderr]   Downloaded iri-string v0.7.12
[INFO] [stderr]   Downloaded winnow v1.0.0
[INFO] [stderr]   Downloaded unicode-width v0.2.0
[INFO] [stderr]   Downloaded rustix v0.38.44
[INFO] [stderr]   Downloaded ratatui v0.29.0
[INFO] [stderr]   Downloaded web-sys v0.3.92
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74
[INFO] running `Command { std: "docker" "start" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74", 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" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74", 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" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling roff v1.1.1
[INFO] [stderr]    Compiling clap_mangen v0.2.33
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling rust_decimal v1.41.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling aledgr v0.15.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rust_decimal_macros v1.40.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 6m 17s
[INFO] running `Command { std: "docker" "inspect" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74", 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" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling aledgr v0.15.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `register_accounts` is never used
[INFO] [stdout]    --> tests/tag_meta_tests.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn register_accounts(v: &serde_json::Value) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `status` is never read
[INFO] [stdout]   --> tests/dx_tests.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Out {
[INFO] [stdout]    |        --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     status: i32,
[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 `default_args` is never used
[INFO] [stdout]    --> src/cmd/import.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn default_args(csv_file: &Path) -> ImportArgs<'_> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 35s
[INFO] running `Command { std: "docker" "inspect" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74", 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" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: function `default_args` is never used
[INFO] [stderr]    --> src/cmd/import.rs:237:8
[INFO] [stderr]     |
[INFO] [stderr] 237 |     fn default_args(csv_file: &Path) -> ImportArgs<'_> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `aledgr` (lib test) generated 1 warning
[INFO] [stderr] warning: function `register_accounts` is never used
[INFO] [stderr]    --> tests/tag_meta_tests.rs:109:4
[INFO] [stderr]     |
[INFO] [stderr] 109 | fn register_accounts(v: &serde_json::Value) -> Vec<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `aledgr` (test "tag_meta_tests") generated 1 warning
[INFO] [stderr] warning: field `status` is never read
[INFO] [stderr]   --> tests/dx_tests.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | struct Out {
[INFO] [stderr]    |        --- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 16 |     status: i32,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `aledgr` (test "dx_tests") generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/aledgr-0160f3b64105a82d)
[INFO] [stdout] 
[INFO] [stdout] running 452 tests
[INFO] [stdout] test cmd::add::tests::format_transaction_cleared ... ok
[INFO] [stdout] test cmd::add::tests::inline_imbalanced_returns_error ... ok
[INFO] [stdout] test cmd::add::tests::format_posting_line_negative ... ok
[INFO] [stdout] test cmd::balance::tests::apply_depth_passthrough_when_shallow ... ok
[INFO] [stdout] test cmd::add::tests::format_posting_line_basic ... ok
[INFO] [stdout] test cmd::add::tests::format_posting_line_long_account_gets_min_spacing ... ok
[INFO] [stdout] test cmd::balance::tests::apply_value_conversion_basic ... ok
[INFO] [stdout] test cmd::add::tests::inline_with_elided_amount ... ok
[INFO] [stdout] test cmd::add::tests::append_adds_blank_line_separator ... ok
[INFO] [stdout] test cmd::balance::tests::apply_value_conversion_target_commodity_passthrough ... ok
[INFO] [stdout] test cmd::balance::tests::fmt_decimal_basic ... ok
[INFO] [stdout] test cmd::balance::tests::apply_value_conversion_no_price_passthrough ... ok
[INFO] [stdout] test cmd::balance::tests::apply_value_conversion_respects_valuation_date ... ok
[INFO] [stdout] test cmd::add::tests::append_creates_new_file ... ok
[INFO] [stdout] test cmd::balance::tests::apply_depth_1_keeps_only_top_level ... ok
[INFO] [stdout] test cmd::balance::tests::apply_value_conversion_uses_latest_price ... ok
[INFO] [stdout] test cmd::balance::tests::print_json_without_exchange_no_original_balances ... ok
[INFO] [stdout] test cmd::balance::tests::print_json_with_exchange_includes_original_balances ... ok
[INFO] [stdout] test cmd::consolidate::tests::consolidate_no_includes_prints_message ... ok
[INFO] [stdout] test cmd::convert::tests::auto_bean_extension ... ok
[INFO] [stdout] test cmd::convert::tests::auto_hledger_extension ... ok
[INFO] [stdout] test cmd::consolidate::tests::consolidate_delete_sources_removes_included_files ... ok
[INFO] [stdout] test cmd::consolidate::tests::consolidate_merges_includes_into_main ... ok
[INFO] [stdout] test cmd::convert::tests::auto_journal_extension ... ok
[INFO] [stdout] test cmd::add::tests::inline_balanced_transaction ... ok
[INFO] [stdout] test cmd::convert::tests::auto_ledger_extension ... ok
[INFO] [stdout] test cmd::balance::tests::apply_depth_truncates_deep_accounts ... ok
[INFO] [stdout] test cmd::convert::tests::explicit_hledger ... ok
[INFO] [stdout] test cmd::convert::tests::auto_beancount_extension ... ok
[INFO] [stdout] test cmd::convert::tests::run_ledger_to_stdout_roundtrip ... ok
[INFO] [stdout] test cmd::convert::tests::auto_unknown_extension_errors ... ok
[INFO] [stdout] test cmd::convert::tests::explicit_beancount ... ok
[INFO] [stdout] test cmd::convert::tests::explicit_ledger ... ok
[INFO] [stdout] test cmd::convert::tests::run_auto_detect_beancount ... ok
[INFO] [stdout] test cmd::convert::tests::unknown_format_errors ... ok
[INFO] [stdout] test cmd::fmt::tests::check_exits_zero_when_already_formatted ... ok
[INFO] [stdout] test cmd::fmt::tests::elided_posting_has_no_trailing_spaces ... ok
[INFO] [stdout] test cmd::consolidate::tests::consolidate_sorts_transactions_by_date ... ok
[INFO] [stdout] test cmd::fmt::tests::preserves_inline_comment_on_posting ... ok
[INFO] [stdout] test cmd::fmt::tests::right_aligns_amounts_at_column_52 ... ok
[INFO] [stdout] test cmd::fmt::tests::normalizes_posting_indent_from_2_to_4 ... ok
[INFO] [stdout] test cmd::convert::tests::run_missing_input_file_errors ... ok
[INFO] [stdout] test cmd::fmt::tests::sorts_header_commodities_and_accounts ... ok
[INFO] [stdout] test cmd::gains::tests::fmt_decimal_basic ... ok
[INFO] [stdout] test cmd::fmt::tests::ensures_blank_line_between_transactions ... ok
[INFO] [stdout] test cmd::import::tests::bad_row_emits_comment ... ok
[INFO] [stdout] test cmd::import::tests::custom_date_format ... ok
[INFO] [stdout] test cmd::gains::tests::gains_run_errors_when_no_value_or_exchange ... ok
[INFO] [stdout] test cmd::import::tests::different_amount_not_considered_duplicate ... ok
[INFO] [stdout] test cmd::import::tests::negative_amount_direction ... ok
[INFO] [stdout] test cmd::fmt::tests::diff_flag_does_not_modify_file ... ok
[INFO] [stdout] test cmd::import::tests::output_file_auto_dedup_on_second_run ... ok
[INFO] [stdout] test cmd::import::tests::basic_csv_round_trip ... ok
[INFO] [stdout] test cmd::import::tests::output_writes_file ... ok
[INFO] [stdout] test cmd::import::tests::decimal_normalization_dedup ... ok
[INFO] [stdout] test cmd::import::tests::skips_duplicate_from_seen_set ... ok
[INFO] [stdout] test cmd::import_rules::tests::if_block_payee_rename ... ok
[INFO] [stdout] test cmd::import::tests::skips_duplicate_within_csv ... ok
[INFO] [stdout] test cmd::import_rules::tests::alias_directives ... ok
[INFO] [stdout] test cmd::gains::tests::gains_run_exchange_alias_works ... ok
[INFO] [stdout] test cmd::import_rules::tests::case_insensitive_pattern ... ok
[INFO] [stdout] test cmd::import_rules::tests::comment_lines_ignored ... ok
[INFO] [stdout] test cmd::import::tests::dedup_against_existing_journal_file ... ok
[INFO] [stdout] test cmd::import_rules::tests::last_matching_rule_wins ... ok
[INFO] [stdout] test cmd::import_rules::tests::unknown_if_block_directive_errors ... ok
[INFO] [stdout] test cmd::import_rules::tests::regex_alternation_pattern ... ok
[INFO] [stdout] test cmd::import_rules::tests::unknown_toplevel_directive_errors ... ok
[INFO] [stdout] test cmd::import_rules::tests::parse_basic_directives ... ok
[INFO] [stdout] test cmd::import_rules::tests::no_match_returns_defaults ... ok
[INFO] [stdout] test cmd::init::tests::refuses_existing_without_force ... ok
[INFO] [stdout] test cmd::import_rules::tests::parse_if_block_account2 ... ok
[INFO] [stdout] test cmd::merge::tests::merge_with_namespace_by_owner ... ok
[INFO] [stdout] test cmd::init::tests::creates_file ... ok
[INFO] [stdout] test cmd::register::tests::empty_input_produces_no_groups ... ok
[INFO] [stdout] test cmd::merge::tests::merge_sorts_transactions_by_date ... ok
[INFO] [stdout] test cmd::register::tests::exchange_converts_rows_to_target ... ok
[INFO] [stdout] test cmd::register::tests::monthly_net_totals ... ok
[INFO] [stdout] test cmd::register::tests::period_label_formats ... ok
[INFO] [stdout] test cmd::register::tests::weekly_grouping ... ok
[INFO] [stdout] test cmd::register::tests::yearly_grouping ... ok
[INFO] [stdout] test cmd::register::tests::exchange_unknown_commodity_passthrough ... ok
[INFO] [stdout] test cmd::register::tests::monthly_grouping_count ... ok
[INFO] [stdout] test cmd::init::tests::force_overwrites ... ok
[INFO] [stdout] test cmd::merge::tests::merge_file_without_owner_not_namespaced ... ok
[INFO] [stdout] test cmd::split::tests::split_by_account_creates_per_account_files ... ok
[INFO] [stdout] test cmd::merge::tests::merge_two_files_stdout ... ok
[INFO] [stdout] test cmd::split::tests::split_by_month_creates_per_month_files ... ok
[INFO] [stdout] test cmd::tui::tests::compute_monthly_empty_rows_zero_totals ... ok
[INFO] [stdout] test cmd::tui::tests::compute_monthly_label_has_two_parts ... ok
[INFO] [stdout] test cmd::tui::tests::build_balance_rows_multi_commodity ... ok
[INFO] [stdout] test cmd::split::tests::split_transactions_sorted_by_date_within_each_file ... ok
[INFO] [stdout] test cmd::tui::tests::build_balance_rows_skips_zero_amounts ... ok
[INFO] [stdout] test cmd::tui::tests::build_balance_rows_top_level_depth_zero ... ok
[INFO] [stdout] test cmd::tui::tests::export_csv_writes_expected_columns ... ok
[INFO] [stdout] test cmd::tui::tests::export_json_writes_valid_json ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_integer ... ok
[INFO] [stdout] test cmd::tui::tests::export_mode_opens_on_ctrl_e ... ok
[INFO] [stdout] test cmd::tui::tests::filter_input_closes_on_esc ... ok
[INFO] [stdout] test cmd::tui::tests::filter_input_opens_on_f_key ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_millions ... ok
[INFO] [stdout] test cmd::split::tests::split_single_group_no_op ... ok
[INFO] [stdout] test cmd::tui::tests::build_balance_rows_depth_from_colons ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_thousands_separator ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_negative ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_zero ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_negative_thousands ... ok
[INFO] [stdout] test cmd::split::tests::split_by_year_creates_per_year_files ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_arrow_down_increments_scroll ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_two_decimals ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_arrow_up_does_not_underflow ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_ctrl_c_returns_quit ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_q_returns_quit ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_esc_returns_quit ... ok
[INFO] [stdout] test cmd::tui::tests::help_overlay_closes_on_esc ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_other_chars_do_not_quit ... ok
[INFO] [stdout] test cmd::tui::tests::help_overlay_opens_on_question_mark ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_q_uppercase_returns_quit ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_starts_none ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_right_brace_goes_next_year ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_prev_next_month_roundtrip ... ok
[INFO] [stdout] test cmd::tui::tests::soft_reload_preserves_scroll_offset ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_ascending_first_lt_last ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_left_brace_goes_prev_year ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_correct_width ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_left_bracket_activates_and_goes_prev_month ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_right_bracket_activates_and_goes_next_month ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_empty_values_returns_empty ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_zero_width_returns_empty ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_negative_values_produces_correct_width ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_all_equal_returns_mid_block ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_single_value_all_equal_path ... ok
[INFO] [stdout] test cmd::tui::tests::truncate_empty_string ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_all_negative_equal_values_returns_mid_block ... ok
[INFO] [stdout] test cmd::tui::tests::truncate_exact_length_unchanged ... ok
[INFO] [stdout] test cmd::tui::tests::truncate_long_string_ends_with_ellipsis ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_title_bar_renders_period_label ... ok
[INFO] [stdout] test cmd::tui::tests::truncate_short_string_unchanged ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_balance_rows_include_known_accounts_from_simple ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_draw_does_not_panic_tiny_terminal ... ok
[INFO] [stdout] test cmd::tui::tests::help_overlay_renders_shortcuts ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_draw_does_not_panic_with_data ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_draw_does_not_panic_with_empty_journal ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_loads_simple_journal ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_missing_file_returns_error ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_loads_multiple_files ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_loads_empty_journal ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_draw_does_not_panic_wide_terminal ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_reload_resets_scroll_offset ... ok
[INFO] [stdout] test cmd::tui_import::tests::execute_import_appends_to_file ... ok
[INFO] [stdout] test cmd::tui_import::tests::build_tx_preview_ok ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_reload_preserves_row_count ... ok
[INFO] [stdout] test cmd::tui_import::tests::col_field_cycle ... ok
[INFO] [stdout] test cmd::tui_import::tests::load_preview_and_col_clamp ... ok
[INFO] [stdout] test cmd::tui_import::tests::settings_field_cycle ... ok
[INFO] [stdout] test cmd::tui_import::tests::wizard_defaults ... ok
[INFO] [stdout] test cmd::tui_views::tests::balance_sheet_view_loads_empty_journal ... ok
[INFO] [stdout] test cmd::tui_views::tests::balance_view_loads_empty_journal ... ok
[INFO] [stdout] test cmd::tui_views::tests::bar_span_half_fill ... ok
[INFO] [stdout] test cmd::tui_views::tests::bar_span_preserves_color ... ok
[INFO] [stdout] test cmd::tui_views::tests::cashflow_view_loads_empty_journal ... ok
[INFO] [stdout] test cmd::tui_views::tests::compute_monthly_bars_capped_at_24 ... ok
[INFO] [stdout] test cmd::tui_views::tests::compute_monthly_bars_income_and_expense_signs_correct ... ok
[INFO] [stdout] test cmd::tui_views::tests::compute_monthly_bars_produces_correct_month_count ... ok
[INFO] [stdout] test cmd::tui_views::tests::fmt_decimal_formats_thousands ... ok
[INFO] [stdout] test cmd::tui_views::tests::gains_view_loads_empty_journal ... ok
[INFO] [stdout] test cmd::tui_views::tests::income_statement_view_loads_empty_journal ... ok
[INFO] [stdout] test cmd::tui_views::tests::lots_view_loads_empty_journal ... ok
[INFO] [stdout] test cmd::tui_views::tests::period_label_both_dates ... ok
[INFO] [stdout] test cmd::tui_views::tests::register_view_loads_empty_journal ... ok
[INFO] [stdout] test cmd::tui_views::tests::report_view_kind_all_has_8_variants ... ok
[INFO] [stdout] test cmd::tui_views::tests::scroll_up_clamps_at_zero ... ok
[INFO] [stdout] test cmd::util::tests::apply_aliases_to_balances_no_aliases_passthrough ... ok
[INFO] [stdout] test cmd::util::tests::apply_aliases_to_balances_renames_keys ... ok
[INFO] [stdout] test cmd::util::tests::apply_value_conversion_basic ... ok
[INFO] [stdout] test cmd::tui_views::tests::bar_span_zero_fill_returns_all_empty_chars ... ok
[INFO] [stdout] test cmd::tui_views::tests::bar_span_fill_exceeds_width_clamped_to_full ... ok
[INFO] [stdout] test cmd::tui_views::tests::budget_view_loads_empty_journal ... ok
[INFO] [stdout] test cmd::util::tests::apply_value_conversion_target_passthrough ... ok
[INFO] [stdout] test cmd::tui_views::tests::bar_span_full_fill_returns_all_filled_chars ... ok
[INFO] [stdout] test cmd::util::tests::convert_amount_converts_with_price ... ok
[INFO] [stdout] test cmd::util::tests::convert_amount_no_price_passthrough ... ok
[INFO] [stdout] test cmd::util::tests::convert_amount_respects_valuation_date ... ok
[INFO] [stdout] test cmd::util::tests::convert_amount_same_commodity_passthrough ... ok
[INFO] [stdout] test cmd::util::tests::resolve_account_via_aliases_canonical_passthrough ... ok
[INFO] [stdout] test cmd::util::tests::resolve_account_via_aliases_found ... ok
[INFO] [stdout] test cmd::util::tests::resolve_account_via_aliases_not_found_returns_input ... ok
[INFO] [stdout] test cmd::util::tests::to_json_error_balance ... ok
[INFO] [stdout] test cmd::util::tests::to_json_error_file ... ok
[INFO] [stdout] test cmd::util::tests::valuation_date_with_end ... ok
[INFO] [stdout] test cmd::util::tests::to_json_error_parse ... ok
[INFO] [stdout] test cmd::util::tests::valuation_date_without_end_is_today ... ok
[INFO] [stdout] test cmd::util::tests::convert_amount_uses_latest_price ... ok
[INFO] [stdout] test config::tests::bad_toml_gives_default ... ok
[INFO] [stdout] test config::tests::price_file_path_joins_correctly ... ok
[INFO] [stdout] test config::tests::full_config_deserializes ... ok
[INFO] [stdout] test convert::beancount::tests::account_types_lowercased ... ok
[INFO] [stdout] test convert::beancount::tests::cleared_transaction_star ... ok
[INFO] [stdout] test config::tests::absent_file_gives_default ... ok
[INFO] [stdout] test convert::beancount::tests::elided_amount_posting ... ok
[INFO] [stdout] test config::tests::partial_config_uses_defaults ... ok
[INFO] [stdout] test convert::beancount::tests::commodity_directive ... ok
[INFO] [stdout] test convert::beancount::tests::close_directive_ignored ... ok
[INFO] [stdout] test convert::beancount::tests::comments_ignored ... ok
[INFO] [stdout] test convert::beancount::tests::convert_account_fn ... ok
[INFO] [stdout] test config::tests::price_file_not_appended_when_missing_from_disk ... ok
[INFO] [stdout] test cmd::tui_import::tests::load_preview_bad_path ... ok
[INFO] [stdout] test convert::beancount::tests::error_too_few_postings ... ok
[INFO] [stdout] test convert::beancount::tests::metadata_on_postings_ignored ... ok
[INFO] [stdout] test convert::beancount::tests::pending_transaction_exclamation ... ok
[INFO] [stdout] test convert::beancount::tests::open_directive_adds_account ... ok
[INFO] [stdout] test convert::beancount::tests::skips_unsupported_directives ... ok
[INFO] [stdout] test convert::beancount::tests::txn_keyword_uncleared ... ok
[INFO] [stdout] test convert::hledger::tests::amount_comma_separated ... ok
[INFO] [stdout] test convert::hledger::tests::amount_dollar_prefix ... ok
[INFO] [stdout] test convert::hledger::tests::amount_dollar_then_negative ... ok
[INFO] [stdout] test convert::hledger::tests::amount_iso_suffix ... ok
[INFO] [stdout] test convert::hledger::tests::amount_underscore_separated ... ok
[INFO] [stdout] test convert::beancount::tests::multiple_transactions ... ok
[INFO] [stdout] test convert::beancount::tests::narration_only_no_payee ... ok
[INFO] [stdout] test convert::hledger::tests::amount_no_commodity_returns_error ... ok
[INFO] [stdout] test convert::hledger::tests::convert_dispatch_hledger ... ok
[INFO] [stdout] test convert::hledger::tests::empty_input_returns_empty_journal ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_short_mm_dd ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_slash_separator ... ok
[INFO] [stdout] test convert::hledger::tests::amount_negative_iso_suffix ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_dash_separator ... ok
[INFO] [stdout] test convert::beancount::tests::open_multiple_accounts ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_dot_separator ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_invalid_returns_error ... ok
[INFO] [stdout] test convert::beancount::tests::parse_empty ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_smart_today ... ok
[INFO] [stdout] test convert::hledger::tests::amount_negative_dollar_prefix ... ok
[INFO] [stdout] test convert::hledger::tests::parse_cleared_status ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_smart_yesterday ... ok
[INFO] [stdout] test convert::hledger::tests::parse_dot_date_separator ... ok
[INFO] [stdout] test convert::hledger::tests::parse_account_directive ... ok
[INFO] [stdout] test convert::hledger::tests::parse_double_semicolon_comment_line_skipped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_commodity_directive ... ok
[INFO] [stdout] test convert::hledger::tests::parse_balance_assertion_stripped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_alias_directive_skipped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_effective_date ... ok
[INFO] [stdout] test convert::hledger::tests::parse_hash_comment_line_skipped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_full_hledger_sample ... ok
[INFO] [stdout] test convert::hledger::tests::parse_elided_amount ... ok
[INFO] [stdout] test convert::hledger::tests::parse_iso_commodity_posting ... ok
[INFO] [stdout] test convert::hledger::tests::parse_price_directive_skipped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_multiline_comment_block_skipped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_multiple_transactions ... ok
[INFO] [stdout] test convert::hledger::tests::parse_price_annotation_stripped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_simple_transaction ... ok
[INFO] [stdout] test convert::hledger::tests::parse_inline_posting_comment ... ok
[INFO] [stdout] test convert::hledger::tests::parse_pending_status ... ok
[INFO] [stdout] test convert::hledger::tests::parse_transaction_code_skipped ... ok
[INFO] [stdout] test convert::ledger::tests::amount_euro_prefix ... ok
[INFO] [stdout] test convert::ledger::tests::amount_negative_dollar_prefix ... ok
[INFO] [stdout] test convert::ledger::tests::amount_iso_suffix ... ok
[INFO] [stdout] test convert::hledger::tests::parse_skips_virtual_posting_with_parens ... ok
[INFO] [stdout] test convert::ledger::tests::amount_negative_iso_suffix ... ok
[INFO] [stdout] test convert::ledger::tests::amount_dollar_then_negative ... ok
[INFO] [stdout] test convert::ledger::tests::amount_btc_prefix ... ok
[INFO] [stdout] test convert::ledger::tests::amount_comma_separated ... ok
[INFO] [stdout] test convert::ledger::tests::amount_comma_with_symbol ... ok
[INFO] [stdout] test convert::ledger::tests::amount_dollar_prefix ... ok
[INFO] [stdout] test convert::ledger::tests::amount_pound_prefix ... ok
[INFO] [stdout] test convert::ledger::tests::blank_lines_only_returns_empty_journal ... ok
[INFO] [stdout] test convert::ledger::tests::amount_yen_prefix ... ok
[INFO] [stdout] test convert::ledger::tests::convert_dispatch_ledger ... ok
[INFO] [stdout] test convert::ledger::tests::empty_input_returns_empty_journal ... ok
[INFO] [stdout] test convert::ledger::tests::ledger_date_invalid_returns_error ... ok
[INFO] [stdout] test convert::ledger::tests::ledger_date_slash_separator ... ok
[INFO] [stdout] test convert::ledger::tests::ledger_date_dash_separator ... ok
[INFO] [stdout] test convert::ledger::tests::parse_account_directive ... ok
[INFO] [stdout] test convert::ledger::tests::parse_cleared_status ... ok
[INFO] [stdout] test convert::ledger::tests::parse_commodity_directive ... ok
[INFO] [stdout] test convert::ledger::tests::parse_commodity_symbol_format ... ok
[INFO] [stdout] test convert::ledger::tests::parse_default_directive_skipped ... ok
[INFO] [stdout] test convert::ledger::tests::parse_effective_date ... ok
[INFO] [stdout] test convert::ledger::tests::parse_full_ledger_sample ... ok
[INFO] [stdout] test convert::ledger::tests::parse_payee_trailing_comment_stripped ... ok
[INFO] [stdout] test convert::ledger::tests::parse_pending_status ... ok
[INFO] [stdout] test convert::ledger::tests::parse_iso_commodity_posting ... ok
[INFO] [stdout] test convert::ledger::tests::parse_posting_with_balance_assertion_stripped ... ok
[INFO] [stdout] test convert::ledger::tests::parse_multiple_transactions ... ok
[INFO] [stdout] test convert::ledger::tests::parse_posting_with_price_annotation_preserved ... ok
[INFO] [stdout] test convert::ledger::tests::parse_posting_with_total_price_annotation ... ok
[INFO] [stdout] test convert::ledger::tests::parse_price_directive_skipped ... ok
[INFO] [stdout] test convert::ledger::tests::parse_skips_virtual_posting_with_brackets ... ok
[INFO] [stdout] test convert::ledger::tests::parse_skips_virtual_posting_with_parens ... ok
[INFO] [stdout] test convert::ledger::tests::parse_tab_separated_posting ... ok
[INFO] [stdout] test convert::ledger::tests::parse_comment_lines_skipped ... ok
[INFO] [stdout] test convert::ledger::tests::parse_posting_with_iso_price_annotation ... ok
[INFO] [stdout] test convert::ledger::tests::parse_transaction_code_skipped ... ok
[INFO] [stdout] test convert::ledger::tests::parse_simple_transaction_slash_dates ... ok
[INFO] [stdout] test convert::ledger::tests::parse_elided_amount ... ok
[INFO] [stdout] test engine::balance::tests::compute_basic_balances ... ok
[INFO] [stdout] test engine::balance::tests::date_filter_begin ... ok
[INFO] [stdout] test engine::balance::tests::expand_parents ... ok
[INFO] [stdout] test engine::balance::tests::meta_filter_includes_only_matching ... ok
[INFO] [stdout] test convert::ledger::tests::parse_uncleared_status ... ok
[INFO] [stdout] test engine::balance::tests::meta_filter_no_match_returns_empty ... ok
[INFO] [stdout] test convert::ledger::tests::parse_value_expression_skips_transaction ... ok
[INFO] [stdout] test engine::balance::tests::amount_filter_no_match_returns_empty ... ok
[INFO] [stdout] test engine::balance::tests::date_filter_end ... ok
[INFO] [stdout] test engine::balance::tests::date_filter_begin_end ... ok
[INFO] [stdout] test engine::balance::tests::max_amount_filter_balance ... ok
[INFO] [stdout] test convert::ledger::tests::parse_inline_posting_comment ... ok
[INFO] [stdout] test engine::balance::tests::resolve_elided_none ... ok
[INFO] [stdout] test engine::balancesheet::tests::end_date_filters_transactions ... ok
[INFO] [stdout] test engine::balance::tests::tag_filter_includes_only_tagged ... ok
[INFO] [stdout] test engine::balance::tests::tag_filter_no_match_returns_empty ... ok
[INFO] [stdout] test engine::balancesheet::tests::assets_are_positive ... ok
[INFO] [stdout] test engine::balancesheet::tests::income_expenses_excluded ... ok
[INFO] [stdout] test engine::balancesheet::tests::equity_is_negated ... ok
[INFO] [stdout] test engine::balancesheet::tests::liabilities_are_negated ... ok
[INFO] [stdout] test engine::balancesheet::tests::net_assets_correct ... ok
[INFO] [stdout] test engine::budget::tests::over_budget ... ok
[INFO] [stdout] test engine::budget::tests::basic_budget_comparison ... ok
[INFO] [stdout] test engine::budget::tests::period_dates_parses_correctly ... ok
[INFO] [stdout] test engine::cashflow::tests::date_range_filters_transactions ... ok
[INFO] [stdout] test engine::cashflow::tests::inflows_classified_correctly ... ok
[INFO] [stdout] test engine::balance::tests::min_max_amount_filter_balance ... ok
[INFO] [stdout] test engine::balance::tests::resolve_elided_single ... ok
[INFO] [stdout] test engine::cashflow::tests::liabilities_account_classified ... ok
[INFO] [stdout] test engine::balance::tests::min_amount_filter_balance ... ok
[INFO] [stdout] test engine::budget::tests::date_range_filters_directives ... ok
[INFO] [stdout] test engine::budget::tests::no_actual_spending ... ok
[INFO] [stdout] test engine::check::tests::balance_assertion_passes ... ok
[INFO] [stdout] test engine::cashflow::tests::net_calculation_correct ... ok
[INFO] [stdout] test engine::cashflow::tests::outflows_classified_correctly_positive_magnitude ... ok
[INFO] [stdout] test engine::cashflow::tests::non_cashflow_accounts_excluded ... ok
[INFO] [stdout] test engine::cashflow::tests::outflows_stored_as_positive_magnitude ... ok
[INFO] [stdout] test engine::check::tests::balance_assertion_fails ... ok
[INFO] [stdout] test engine::check::tests::duplicate_detection_warns ... ok
[INFO] [stdout] test engine::check::tests::implicit_exchange_with_elided_not_treated_as_exchange ... ok
[INFO] [stdout] test engine::check::tests::implicit_two_commodity_exchange_passes ... ok
[INFO] [stdout] test engine::check::tests::non_duplicate_no_warning ... ok
[INFO] [stdout] test engine::check::tests::rounding_tolerance_elided_fee_passes ... ok
[INFO] [stdout] test engine::check::tests::rounding_tolerance_no_elided_large_imbalance_fails ... ok
[INFO] [stdout] test engine::check::tests::imbalanced_transaction_fails ... ok
[INFO] [stdout] test engine::check::tests::implicit_exchange_three_commodities_fails ... ok
[INFO] [stdout] test engine::check::tests::valid_journal_is_clean ... ok
[INFO] [stdout] test engine::forecast::tests::empty_when_start_equals_end ... ok
[INFO] [stdout] test engine::forecast::tests::yearly_1_over_single_year ... ok
[INFO] [stdout] test engine::gains::tests::account_filter_regex_invalid_returns_error ... ok
[INFO] [stdout] test engine::gains::tests::account_filter_regex_matches ... ok
[INFO] [stdout] test engine::gains::tests::account_filter_restricts_output ... ok
[INFO] [stdout] test engine::gains::tests::basic_cost_basis ... ok
[INFO] [stdout] test engine::gains::tests::basic_gain_loss ... ok
[INFO] [stdout] test engine::forecast::tests::monthly_12_from_jan ... ok
[INFO] [stdout] test engine::forecast::tests::quarterly_4_over_year ... ok
[INFO] [stdout] test engine::gains::tests::basic_market_value ... ok
[INFO] [stdout] test engine::gains::tests::date_filter_excludes_future_purchases ... ok
[INFO] [stdout] test engine::gains::tests::no_price_data_gives_none_market_value ... ok
[INFO] [stdout] test engine::gains::tests::total_price_annotation_works ... ok
[INFO] [stdout] test engine::gains::tests::zero_quantity_rows_excluded ... ok
[INFO] [stdout] test engine::incomestatement::tests::income_is_negated ... ok
[INFO] [stdout] test engine::incomestatement::tests::net_income_correct ... ok
[INFO] [stdout] test engine::incomestatement::tests::no_income_no_expense_empty ... ok
[INFO] [stdout] test engine::forecast::tests::expand_sets_forecast_metadata ... ok
[INFO] [stdout] test engine::forecast::tests::weekly_52_over_364_days ... ok
[INFO] [stdout] test engine::incomestatement::tests::revenue_prefix_classified_as_income ... ok
[INFO] [stdout] test engine::gains::tests::goog_cost_basis_and_gain ... ok
[INFO] [stdout] test engine::lots::tests::fifo_full_sale ... ok
[INFO] [stdout] test engine::lots::tests::fifo_multi_lot_sale ... ok
[INFO] [stdout] test engine::lots::tests::fifo_partial_sale ... ok
[INFO] [stdout] test engine::lots::tests::no_lots_for_plain_transactions ... ok
[INFO] [stdout] test engine::lots::tests::single_lot_acquisition ... ok
[INFO] [stdout] test engine::merge::tests::merge_journals_stable_same_date ... ok
[INFO] [stdout] test engine::merge::tests::merge_no_owner_file_not_namespaced ... ok
[INFO] [stdout] test engine::merge::tests::merge_sorts_by_date_stably ... ok
[INFO] [stdout] test engine::merge::tests::namespace_journal_empty_prefix_noop ... ok
[INFO] [stdout] test engine::merge::tests::namespace_skips_shared_accounts ... ok
[INFO] [stdout] test engine::merge::tests::namespace_journal_prefixes_accounts ... ok
[INFO] [stdout] test engine::merge::tests::owner_to_prefix_basic ... ok
[INFO] [stdout] test engine::register::tests::account_filter ... ok
[INFO] [stdout] test engine::register::tests::account_filter_regex_invalid_returns_error ... ok
[INFO] [stdout] test engine::register::tests::account_filter_regex_matches_pattern ... ok
[INFO] [stdout] test engine::register::tests::all_rows ... ok
[INFO] [stdout] test engine::register::tests::amount_filter_no_match_register ... ok
[INFO] [stdout] test engine::incomestatement::tests::date_range_filters_transactions ... ok
[INFO] [stdout] test engine::register::tests::amount_filter_with_account_filter ... ok
[INFO] [stdout] test engine::incomestatement::tests::expenses_are_positive ... ok
[INFO] [stdout] test engine::register::tests::max_amount_filter_register ... ok
[INFO] [stdout] test engine::register::tests::min_amount_filter_register ... ok
[INFO] [stdout] test engine::register::tests::meta_filter_register ... ok
[INFO] [stdout] test engine::register::tests::min_max_amount_filter_register ... ok
[INFO] [stdout] test engine::lots::tests::gain_loss_negative_for_loss ... ok
[INFO] [stdout] test engine::register::tests::begin_filter ... ok
[INFO] [stdout] test engine::register::tests::running_balance_per_account ... ok
[INFO] [stdout] test engine::merge::tests::merge_deduplicates_commodities_and_accounts ... ok
[INFO] [stdout] test engine::register::tests::tag_filter_no_match_register ... ok
[INFO] [stdout] test engine::register::tests::tag_filter_register ... ok
[INFO] [stdout] test engine::register::tests::end_filter ... ok
[INFO] [stdout] test engine::register::tests::elided_posting_resolved ... ok
[INFO] [stdout] test filter::tests::compile_optional_some_prefix ... ok
[INFO] [stdout] test filter::tests::regex_basic ... ok
[INFO] [stdout] test filter::tests::regex_case_insensitive_flag ... ok
[INFO] [stdout] test filter::tests::regex_invalid_returns_error ... ok
[INFO] [stdout] test filter::tests::compile_optional_none ... ok
[INFO] [stdout] test filter::tests::prefix_child_match ... ok
[INFO] [stdout] test filter::tests::single_slash_is_prefix_not_regex ... ok
[INFO] [stdout] test filter::tests::prefix_exact_match ... ok
[INFO] [stdout] test formatter::tests::format_journal_empty ... ok
[INFO] [stdout] test formatter::tests::format_journal_no_owner_directive ... ok
[INFO] [stdout] test filter::tests::prefix_no_partial_sibling ... ok
[INFO] [stdout] test formatter::tests::format_journal_round_trip ... ok
[INFO] [stdout] test filter::tests::regex_complex ... ok
[INFO] [stdout] test journal::tests::journal_round_trip ... ok
[INFO] [stdout] test journal::tests::journal_with_price_directives ... ok
[INFO] [stdout] test journal::tests::load_basic_include ... ok
[INFO] [stdout] test journal::tests::load_circular_include_returns_error ... ok
[INFO] [stdout] test journal::tests::load_missing_include_returns_io_error ... ok
[INFO] [stdout] test journal::tests::load_owner_precedence_root_wins ... ok
[INFO] [stdout] test parser::tests::error_on_multiple_elided ... ok
[INFO] [stdout] test parser::tests::error_on_too_few_postings ... ok
[INFO] [stdout] test journal::tests::load_nested_include ... ok
[INFO] [stdout] test journal::tests::load_relative_path_resolved_from_including_file ... ok
[INFO] [stdout] test journal::tests::load_owner_fallback_to_include ... ok
[INFO] [stdout] test formatter::tests::format_journal_transactions_only ... ok
[INFO] [stdout] test journal::tests::journal_aliases_default_empty ... ok
[INFO] [stdout] test journal::tests::journal_collects_aliases ... ok
[INFO] [stdout] test journal::tests::load_sibling_includes_same_file_allowed ... ok
[INFO] [stdout] test parser::tests::extract_metadata_no_space_after_colon_not_matched ... ok
[INFO] [stdout] test parser::tests::extract_metadata_basic ... ok
[INFO] [stdout] test parser::tests::extract_tags_from_comment ... ok
[INFO] [stdout] test parser::tests::extract_metadata_ignores_tag_pattern ... ok
[INFO] [stdout] test parser::tests::extract_metadata_multi_word_value ... ok
[INFO] [stdout] test parser::tests::parse_alias_directive_missing_equals_is_error ... ok
[INFO] [stdout] test parser::tests::parse_alias_directive_missing_display_name_is_error ... ok
[INFO] [stdout] test parser::tests::parse_comment_semicolon ... ok
[INFO] [stdout] test parser::tests::parse_cost_annotation_basic ... ok
[INFO] [stdout] test parser::tests::parse_cost_annotation_with_price ... ok
[INFO] [stdout] test parser::tests::parse_directives ... ok
[INFO] [stdout] test parser::tests::error_unclosed_cost_brace ... ok
[INFO] [stdout] test parser::tests::extract_metadata_tag_and_meta_coexist ... ok
[INFO] [stdout] test parser::tests::parse_elided_amount ... ok
[INFO] [stdout] test parser::tests::parse_empty ... ok
[INFO] [stdout] test parser::tests::parse_iso_currency_code ... ok
[INFO] [stdout] test parser::tests::parse_no_cost_annotation ... ok
[INFO] [stdout] test parser::tests::parse_p_directive_basic ... ok
[INFO] [stdout] test parser::tests::parse_simple_transaction ... ok
[INFO] [stdout] test parser::tests::parse_p_directive_missing_amount ... ok
[INFO] [stdout] test parser::tests::parse_p_directive_missing_commodity ... ok
[INFO] [stdout] test parser::tests::transaction_metadata_first_wins_on_duplicate_key ... ok
[INFO] [stdout] test parser::tests::reject_currency_symbol_prefix ... ok
[INFO] [stdout] test parser::tests::transaction_metadata_parsed ... ok
[INFO] [stdout] test parser::tests::transaction_tag_and_metadata_coexist ... ok
[INFO] [stdout] test parser::tests::parse_alias_directive_with_spaces_in_display_name ... ok
[INFO] [stdout] test parser::tests::parse_alias_directive ... ok
[INFO] [stdout] test parser::tests::parse_cleared_status ... ok
[INFO] [stdout] test parser::tests::parse_alias_directive_missing_account_is_error ... ok
[INFO] [stdout] test parser::tests::parse_comment_hash ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 452 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/aledgr-b8eeaad6db9297a8)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/agent_native_tests.rs (/opt/rustwide/target/release/deps/agent_native_tests-cb004b2e1f2d82f9)
[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 12 tests
[INFO] [stdout] test balance_csv_columns ... ok
[INFO] [stdout] test check_json_clean ... ok
[INFO] [stdout] test exit_code_check_failure ... ok
[INFO] [stdout] test check_json_errors ... ok
[INFO] [stdout] test exit_code_parse_error ... ok
[INFO] [stdout] test balance_csv_data ... ok
[INFO] [stdout] test exit_code_file_not_found ... ok
[INFO] [stdout] test serve_balance ... ok
[INFO] [stdout] test register_csv_columns ... ok
[INFO] [stdout] test serve_multi ... ok
[INFO] [stderr]      Running tests/al_ext_init_tui_tests.rs (/opt/rustwide/target/release/deps/al_ext_init_tui_tests-c7af08af8f1b7335)
[INFO] [stdout] test serve_check ... ok
[INFO] [stdout] test register_csv_data ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test autodetect_uses_main_al_when_present ... ok
[INFO] [stdout] test command_bar_backspace_removes_last_char ... ok
[INFO] [stdout] test autodetect_falls_back_to_default_aledgr ... ok
[INFO] [stdout] test command_bar_empty_command_returns_to_dashboard ... ok
[INFO] [stdout] test command_bar_renders_on_narrow_terminal ... ok
[INFO] [stdout] test autodetect_picks_up_arbitrary_al_file ... ok
[INFO] [stdout] test command_bar_report_switch_by_name ... ignored
[INFO] [stdout] test command_bar_shows_autocomplete_suggestions ... ignored
[INFO] [stdout] test command_bar_tab_selects_suggestion ... ignored
[INFO] [stdout] test command_bar_esc_closes_and_returns_to_dashboard ... ok
[INFO] [stdout] test check_accepts_aledgr_extension ... ok
[INFO] [stdout] test command_bar_opens_on_colon_key ... ok
[INFO] [stdout] test command_bar_renders_typed_input ... ok
[INFO] [stdout] test init_custom_output_file ... ok
[INFO] [stdout] test autodetect_prefers_main_al_over_default_aledgr ... ok
[INFO] [stdout] test init_force_overwrites_existing ... ok
[INFO] [stdout] test command_bar_unknown_command_shows_error_hint ... ok
[INFO] [stdout] test balance_accepts_aledgr_extension ... ok
[INFO] [stdout] test init_creates_main_al_by_default ... ok
[INFO] [stdout] test tui_app_loads_aledgr_extension ... ok
[INFO] [stdout] test init_refuses_existing_without_force ... ok
[INFO] [stdout] test no_file_shows_welcome_message ... ok
[INFO] [stdout] test register_accepts_aledgr_extension ... ok
[INFO] [stdout] test view_key_zero_returns_to_dashboard ... ok
[INFO] [stdout] test init_output_contains_key_features ... ok
[INFO] [stdout] test merge_accepts_mixed_extensions ... ok
[INFO] [stdout] test init_output_is_usable_by_balance_command ... ok
[INFO] [stdout] test init_output_is_valid_journal ... ok
[INFO] [stdout] test view_switching_numeric_keys_render_without_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/alias_tests.rs (/opt/rustwide/target/release/deps/alias_tests-4423166db894c52b)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test alias_clashing_with_existing_account_is_error ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test alias_directive_missing_rhs_is_error ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test alias_directive_parses_cleanly ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test alias_from_included_file_is_applied ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test balance_account_filter_by_alias_name ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test balance_aliases_json_uses_alias_names ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test balance_aliases_uses_short_names ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test balance_without_aliases_uses_full_paths ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test duplicate_alias_for_same_account_is_deterministic ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test incomestatement_aliases ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test register_account_filter_by_alias_name ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test register_aliases_uses_short_names ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test reverse_lookup_requires_aliases_flag ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] test unaliased_accounts_show_full_path_with_aliases_flag ... ignored, ALEA-115: account aliases not yet implemented
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 14 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/alphanumeric_commodity_tests.rs (/opt/rustwide/target/release/deps/alphanumeric_commodity_tests-00c79bbeeb8b4e7f)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test balance_json_realestate ... ok
[INFO] [stdout] test check_realestate_fixture ... ok
[INFO] [stdout] test cashflow_realestate ... ok
[INFO] [stdout] test balance_value_conversion_realestate ... ok
[INFO] [stdout] test commodity_directive_allows_underscore_and_digits ... ok
[INFO] [stdout] test balance_realestate ... ok
[INFO] [stdout] test commodity_directive_valid_alphanumeric ... ok
[INFO] [stdout] test balancesheet_realestate ... ok
[INFO] [stdout] test commodity_directive_rejects_leading_digit ... ok
[INFO] [stdout] test gains_json_realestate ... ok
[INFO] [stdout] test commodity_directive_rejects_spaces ... ok
[INFO] [stdout] test p_directive_alphanumeric_commodity ... ok
[INFO] [stdout] test register_json_realestate ... ok
[INFO] [stdout] test register_realestate ... ok
[INFO] [stdout] test gains_realestate_value_eur ... ok
[INFO] [stdout] test gains_uses_p_directive_alphanumeric ... ok
[INFO] [stderr]      Running tests/budget_tests.rs (/opt/rustwide/target/release/deps/budget_tests-821120edfe11da7b)
[INFO] [stdout] test incomestatement_realestate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test budget_exits_zero_for_valid_file ... ok
[INFO] [stdout] test budget_csv_correct_row_count ... ok
[INFO] [stdout] test budget_invalid_begin_date_fails ... ok
[INFO] [stdout] test budget_csv_has_header_row ... ok
[INFO] [stdout] test budget_directives_only_zero_actuals ... ok
[INFO] [stdout] test budget_january_dining_over_budget ... ok
[INFO] [stdout] test budget_february_transport_over_budget ... ok
[INFO] [stdout] test budget_directive_aggregates_sub_accounts ... ok
[INFO] [stdout] test budget_csv_has_budget_columns ... ok
[INFO] [stdout] test budget_csv_january_groceries_amounts ... ok
[INFO] [stdout] test budget_february_filter_excludes_january_only_accounts ... ok
[INFO] [stdout] test budget_json_and_csv_exclusive ... ok
[INFO] [stdout] test budget_json_date_filter_returns_only_period_rows ... ok
[INFO] [stdout] test budget_january_groceries_amounts_correct ... ok
[INFO] [stdout] test budget_json_row_has_required_fields ... ok
[INFO] [stdout] test budget_json_produces_valid_json ... ok
[INFO] [stdout] test budget_missing_file_exits_nonzero ... ok
[INFO] [stdout] test budget_no_date_filter_shows_all_periods ... ok
[INFO] [stdout] test budget_json_january_groceries_correct_amounts ... ok
[INFO] [stdout] test budget_json_over_budget_row_correct ... ok
[INFO] [stdout] test budget_table_shows_all_budgeted_accounts ... ok
[INFO] [stdout] test budget_table_shows_budgeted_and_actual_columns ... ok
[INFO] [stdout] test budget_zero_actual_row_is_shown ... ok
[INFO] [stdout] test budget_no_file_exits_nonzero ... ok
[INFO] [stderr]      Running tests/cashflow_tests.rs (/opt/rustwide/target/release/deps/cashflow_tests-dfe01910417b719f)
[INFO] [stdout] test budget_no_directives_produces_empty_output ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test balance_account_regex_anchored_end ... ok
[INFO] [stdout] test balance_account_regex_specific_assets ... ok
[INFO] [stdout] test balance_account_regex_no_match_empty ... ok
[INFO] [stdout] test balance_amount_filter_above_5000 ... ok
[INFO] [stdout] test balance_amount_filter_negative_only ... ok
[INFO] [stdout] test balance_account_regex_invalid_pattern_errors ... ok
[INFO] [stdout] test balance_account_regex_alternation ... ok
[INFO] [stdout] test balance_account_regex_anchored_start ... ok
[INFO] [stdout] test balance_amount_filter_invalid_expression_errors ... ok
[INFO] [stdout] test balance_amount_filter_gte_10000 ... ok
[INFO] [stdout] test cashflow_before_all_transactions_is_empty_or_zero ... ok
[INFO] [stdout] test cashflow_excludes_income_expense_accounts ... ok
[INFO] [stdout] test cashflow_begin_excludes_earlier_transactions ... ok
[INFO] [stdout] test cashflow_checking_net_change_full_history ... ok
[INFO] [stdout] test register_account_regex_alternation ... ok
[INFO] [stdout] test cashflow_json_output_valid ... ok
[INFO] [stdout] test register_account_regex_income_only ... ok
[INFO] [stdout] test balance_amount_filter_lte_zero ... ok
[INFO] [stdout] test cashflow_shows_asset_accounts ... ok
[INFO] [stdout] test cashflow_begin_end_february_only ... ok
[INFO] [stdout] test cashflow_exits_zero ... ok
[INFO] [stdout] test register_amount_filter_small_postings ... ok
[INFO] [stdout] test register_amount_filter_large_postings ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/check_tests.rs (/opt/rustwide/target/release/deps/check_tests-d825582172c442e8)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test imbalanced_tx_reports_error ... ok
[INFO] [stdout] test duplicate_transaction_warns ... ok
[INFO] [stdout] test alice_fixture_passes_check ... ok
[INFO] [stdout] test correct_balance_assertion_passes ... ok
[INFO] [stdout] test different_amount_not_duplicate ... ok
[INFO] [stdout] test different_payee_not_duplicate ... ok
[INFO] [stdout] test different_date_not_duplicate ... ok
[INFO] [stdout] test multiple_imbalanced_txs_all_reported ... ok
[INFO] [stdout] test elided_amount_balances_correctly ... ok
[INFO] [stderr]      Running tests/cli_tests.rs (/opt/rustwide/target/release/deps/cli_tests-d51887ef268fe051)
[INFO] [stdout] test wrong_balance_assertion_fails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test balance_account_filter ... ok
[INFO] [stdout] test add_inline_elided_posting ... ok
[INFO] [stdout] test add_inline_imbalanced_exits_nonzero ... ok
[INFO] [stdout] test add_inline_append ... ok
[INFO] [stdout] test balance_value_converts_to_usd ... ok
[INFO] [stdout] test balance_basic_known_amount ... ok
[INFO] [stdout] test balance_all_flag_shows_zero_balance ... ok
[INFO] [stdout] test balance_empty_dir_still_errors ... ok
[INFO] [stdout] test balance_json_output ... ok
[INFO] [stdout] test balance_multi_commodity ... ok
[INFO] [stdout] test balance_zero_balance_suppressed_by_default ... ok
[INFO] [stdout] test import_basic_csv_round_trip ... ok
[INFO] [stdout] test check_duplicate_warns ... ok
[INFO] [stdout] test check_bad_assertion_fails ... ok
[INFO] [stdout] test balance_tree_shows_parent_rollups ... ok
[INFO] [stdout] test import_bad_row_emits_comment ... ok
[INFO] [stdout] test import_custom_date_format ... ok
[INFO] [stdout] test import_output_writes_file ... ok
[INFO] [stdout] test check_imbalanced_tx_fails ... ok
[INFO] [stdout] test check_valid_file_passes ... ok
[INFO] [stdout] test incomestatement_shows_net_income ... ok
[INFO] [stdout] test incomestatement_shows_expenses_section ... ok
[INFO] [stdout] test incomestatement_json_structure ... ok
[INFO] [stdout] test no_args_empty_dir_prints_welcome_and_exits_zero ... ok
[INFO] [stdout] test incomestatement_shows_income_section ... ok
[INFO] [stdout] test incomestatement_csv_columns ... ok
[INFO] [stdout] test register_begin_date_filter ... ok
[INFO] [stdout] test incomestatement_date_range ... ok
[INFO] [stdout] test incomestatement_json_csv_exclusive ... ok
[INFO] [stdout] test register_all_rows ... ok
[INFO] [stdout] test register_account_filter ... ok
[INFO] [stdout] test register_json_output ... ok
[INFO] [stdout] test register_running_balance_present ... ok
[INFO] [stdout] test register_end_date_filter ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/config_file_tests.rs (/opt/rustwide/target/release/deps/config_file_tests-17b3c866e03c63e3)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test config_absent_balance_succeeds ... ok
[INFO] [stdout] test config_absent_register_succeeds ... ok
[INFO] [stdout] test config_price_file_missing_register_no_error ... ok
[INFO] [stdout] test config_price_file_missing_no_error ... ok
[INFO] [stdout] test malformed_toml_no_crash_check ... ok
[INFO] [stdout] test malformed_toml_no_crash_register ... ok
[INFO] [stdout] test config_price_file_not_loaded_when_absent ... ok
[INFO] [stdout] test malformed_toml_no_crash_balance ... ok
[INFO] [stdout] test config_price_file_auto_loaded_in_balance_exchange ... ok
[INFO] [stdout] test partial_config_general_only_no_error ... ok
[INFO] [stdout] test partial_config_prices_only_no_error ... ok
[INFO] [stderr]      Running tests/consolidate_split_tests.rs (/opt/rustwide/target/release/deps/consolidate_split_tests-e6baec3594904c06)
[INFO] [stdout] test partial_config_general_only_register_no_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test consolidate_delete_sources ... ok
[INFO] [stdout] test consolidate_no_includes_is_noop ... ok
[INFO] [stdout] test split_by_month_creates_month_files ... ok
[INFO] [stdout] test split_by_account_groups_correctly ... ok
[INFO] [stdout] test consolidate_multiple_includes_all_merged ... ok
[INFO] [stdout] test split_missing_file_exits_3 ... ok
[INFO] [stdout] test split_invalid_criterion_exits_nonzero ... ok
[INFO] [stdout] test consolidate_merges_includes ... ok
[INFO] [stdout] test consolidate_missing_file_exits_3 ... ok
[INFO] [stdout] test round_trip_split_then_consolidate ... ok
[INFO] [stdout] test round_trip_by_month_transaction_count ... ok
[INFO] [stdout] test consolidate_sorts_by_date ... ok
[INFO] [stdout] test split_by_year_creates_year_files ... ok
[INFO] [stdout] test split_output_sorted_by_date ... ok
[INFO] [stdout] test split_single_group_is_noop ... ok
[INFO] [stdout] test split_preserves_declarations ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/convert_tests.rs (/opt/rustwide/target/release/deps/convert_tests-492314b23c07e821)
[INFO] [stdout] 
[INFO] [stdout] running 87 tests
[INFO] [stdout] test beancount_account_names_lowercased_in_postings ... ok
[INFO] [stdout] test beancount_commodity_directive_recorded ... ok
[INFO] [stdout] test beancount_elided_amount_posting ... ok
[INFO] [stdout] test beancount_malformed_one_posting_returns_error ... ok
[INFO] [stdout] test beancount_close_directive_ignored ... ok
[INFO] [stdout] test beancount_multiple_transactions ... ok
[INFO] [stdout] test beancount_comments_ignored ... ok
[INFO] [stdout] test beancount_metadata_on_postings_ignored ... ok
[INFO] [stdout] test beancount_narration_only_no_pipe ... ok
[INFO] [stdout] test beancount_open_directive_adds_account_lowercased ... ok
[INFO] [stdout] test beancount_round_trip_via_format_and_reparse ... ok
[INFO] [stdout] test beancount_negative_amount_posting ... ok
[INFO] [stdout] test beancount_payee_and_narration_joined_with_pipe ... ok
[INFO] [stdout] test beancount_pending_transaction_exclamation ... ok
[INFO] [stdout] test beancount_single_transaction_cleared ... ok
[INFO] [stdout] test beancount_unicode_in_account_name ... ok
[INFO] [stdout] test beancount_empty_file_produces_empty_journal ... ok
[INFO] [stdout] test beancount_multi_posting_three_accounts ... ok
[INFO] [stdout] test beancount_txn_keyword_produces_uncleared ... ok
[INFO] [stdout] test beancount_unicode_payee_name ... ok
[INFO] [stdout] test beancount_unsupported_directives_skipped_no_error ... ok
[INFO] [stdout] test convert_dispatch_selects_hledger_parser ... ok
[INFO] [stdout] test hledger_comma_separated_amount_stripped ... ok
[INFO] [stdout] test hledger_commodity_iso_suffix_form ... ok
[INFO] [stdout] test hledger_commodity_prefix_dollar_to_usd ... ok
[INFO] [stdout] test hledger_account_names_with_multiple_colons ... ok
[INFO] [stdout] test hledger_alias_directive_skipped ... ok
[INFO] [stdout] test convert_dispatch_selects_ledger_parser ... ok
[INFO] [stdout] test hledger_account_directive_recorded ... ok
[INFO] [stdout] test hledger_cleared_status_marker ... ok
[INFO] [stdout] test hledger_elided_amount_posting ... ok
[INFO] [stdout] test hledger_inline_comment_on_posting_preserved ... ok
[INFO] [stdout] test hledger_empty_file_produces_empty_journal ... ok
[INFO] [stdout] test hledger_dot_date_separator ... ok
[INFO] [stdout] test hledger_commodity_prefix_euro_to_eur ... ok
[INFO] [stdout] test hledger_effective_date_preserved ... ok
[INFO] [stdout] test hledger_double_semicolon_comment_lines_skipped ... ok
[INFO] [stdout] test hledger_pending_status_marker ... ok
[INFO] [stdout] test hledger_malformed_one_posting_skipped_gracefully ... ok
[INFO] [stdout] test hledger_multi_posting_three_accounts ... ok
[INFO] [stdout] test hledger_round_trip_via_format_and_reparse ... ok
[INFO] [stdout] test hledger_single_transaction_dash_dates ... ok
[INFO] [stdout] test hledger_multiline_comment_block_skipped ... ok
[INFO] [stdout] test hledger_slash_date_separator ... ok
[INFO] [stdout] test hledger_multiple_transactions ... ok
[INFO] [stdout] test hledger_uncleared_status_is_default ... ok
[INFO] [stdout] test hledger_underscore_separated_amount_stripped ... ok
[INFO] [stdout] test convert_dispatch_selects_beancount_parser ... ok
[INFO] [stdout] test hledger_balance_assertion_stripped ... ok
[INFO] [stdout] test ledger_blank_lines_only_produces_empty_journal ... ok
[INFO] [stdout] test ledger_account_names_with_multiple_colons ... ok
[INFO] [stdout] test hledger_virtual_postings_skipped ... ok
[INFO] [stdout] test ledger_balance_assertion_stripped ... ok
[INFO] [stdout] test ledger_account_directive_recorded ... ok
[INFO] [stdout] test ledger_commodity_iso_suffix_form ... ok
[INFO] [stdout] test ledger_commodity_prefix_btc_to_btc ... ok
[INFO] [stdout] test ledger_cleared_status_marker ... ok
[INFO] [stdout] test ledger_comma_separated_amount_stripped ... ok
[INFO] [stdout] test ledger_comma_with_symbol_prefix ... ok
[INFO] [stdout] test ledger_commodity_prefix_yen_to_jpy ... ok
[INFO] [stdout] test ledger_elided_amount_posting ... ok
[INFO] [stdout] test ledger_effective_date_preserved ... ok
[INFO] [stdout] test ledger_commodity_prefix_pound_to_gbp ... ok
[INFO] [stdout] test ledger_commodity_prefix_dollar_to_usd ... ok
[INFO] [stdout] test hledger_unicode_in_account_name ... ok
[INFO] [stdout] test ledger_commodity_prefix_euro_to_eur ... ok
[INFO] [stdout] test hledger_unicode_payee_name ... ok
[INFO] [stdout] test ledger_empty_file_produces_empty_journal ... ok
[INFO] [stdout] test ledger_pending_status_marker ... ok
[INFO] [stdout] test ledger_multi_posting_three_accounts ... ok
[INFO] [stdout] test ledger_multiple_transactions ... ok
[INFO] [stdout] test ledger_inline_comment_on_posting_preserved ... ok
[INFO] [stdout] test ledger_malformed_one_posting_skipped_gracefully ... ok
[INFO] [stdout] test ledger_round_trip_via_format_and_reparse ... ok
[INFO] [stdout] test ledger_top_level_comments_skipped ... ok
[INFO] [stdout] test ledger_price_annotation_preserved ... ok
[INFO] [stdout] test ledger_total_price_annotation_preserved ... ok
[INFO] [stdout] test ledger_header_comment_stripped_from_payee ... ok
[INFO] [stdout] test ledger_price_annotation_round_trip ... ok
[INFO] [stdout] test ledger_uncleared_status_is_default ... ok
[INFO] [stdout] test ledger_single_transaction_dash_dates ... ok
[INFO] [stdout] test ledger_single_transaction_slash_dates ... ok
[INFO] [stdout] test ledger_value_expression_skipped_gracefully ... ok
[INFO] [stdout] test ledger_virtual_postings_skipped ... ok
[INFO] [stdout] test ledger_unicode_in_account_name ... ok
[INFO] [stdout] test ledger_unicode_payee_name ... ok
[INFO] [stderr]      Running tests/csv_rules_integration_tests.rs (/opt/rustwide/target/release/deps/csv_rules_integration_tests-659f7099bf61bd73)
[INFO] [stdout] test same_data_all_three_formats_produce_equivalent_journals ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 87 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test library_no_matching_rule_uses_default_account ... ok
[INFO] [stdout] test library_import_csv_applies_if_rules ... ok
[INFO] [stdout] test rules_case_insensitive_match ... ok
[INFO] [stdout] test rules_file_column_alias_directives ... ok
[INFO] [stdout] test cli_arg_overrides_rules_account ... ok
[INFO] [stdout] test no_rules_file_auto_detect_falls_back_to_defaults ... ok
[INFO] [stdout] test cli_arg_overrides_rules_commodity ... ok
[INFO] [stdout] test rules_file_indented_outside_if_exits_nonzero ... ok
[INFO] [stdout] test rules_file_auto_detected_by_csv_stem ... ok
[INFO] [stdout] test rules_file_comments_ignored ... ok
[INFO] [stdout] test rules_file_sets_column_mappings ... ok
[INFO] [stdout] test rules_file_unknown_directive_exits_nonzero ... ok
[INFO] [stdout] test rules_file_invalid_regex_exits_nonzero ... ok
[INFO] [stdout] test rules_last_matching_if_wins ... ok
[INFO] [stdout] test rules_if_block_assigns_account ... ok
[INFO] [stdout] test rules_file_not_found_exits_nonzero ... ok
[INFO] [stdout] test rules_if_block_renames_payee ... ok
[INFO] [stdout] test rules_regex_alternation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dx_tests.rs (/opt/rustwide/target/release/deps/dx_tests-10544ebdc9351617)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test balance_format_and_json_flag_are_exclusive ... ok
[INFO] [stdout] test completions_bash_contains_subcommands ... ok
[INFO] [stdout] test completions_bash_contains_function ... ok
[INFO] [stdout] test completions_fish_contains_subcommands ... ok
[INFO] [stdout] test balance_format_unknown_fails ... ok
[INFO] [stdout] test completions_unknown_shell_fails ... ok
[INFO] [stdout] test balance_format_csv_matches_csv_flag ... ok
[INFO] [stdout] test completions_fish_exits_zero ... ok
[INFO] [stdout] test completions_bash_exits_zero ... ok
[INFO] [stdout] test completions_fish_uses_complete_syntax ... ok
[INFO] [stdout] test balancesheet_format_json_is_valid ... ok
[INFO] [stdout] test balance_format_table_matches_default ... ok
[INFO] [stdout] test balance_format_json_matches_json_flag ... ok
[INFO] [stdout] test completions_zsh_exits_zero ... ok
[INFO] [stdout] test completions_zsh_contains_subcommands ... ok
[INFO] [stdout] test gen_man_produces_main_man_page ... ok
[INFO] [stdout] test gen_man_aledgr1_has_th_header ... ok
[INFO] [stdout] test gen_man_default_output_dir ... ok
[INFO] [stdout] test completions_zsh_starts_with_compdef ... ok
[INFO] [stdout] test register_format_json_is_valid ... ok
[INFO] [stdout] test gen_man_produces_subcommand_pages ... ok
[INFO] [stdout] test gen_man_aledgr1_has_name_section ... ok
[INFO] [stdout] test gen_man_writes_files_to_output_dir ... ok
[INFO] [stdout] test register_format_csv_has_header ... ok
[INFO] [stdout] test incomestatement_format_json_is_valid ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/fmt_tests.rs (/opt/rustwide/target/release/deps/fmt_tests-3e3675722ccc4e03)
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test fmt_diff_prints_diff_output ... ok
[INFO] [stdout] test fmt_elided_posting_has_no_trailing_spaces ... ok
[INFO] [stdout] test fmt_ensures_blank_line_between_transactions ... ok
[INFO] [stdout] test fmt_idempotent_on_fixture_simple_al ... ok
[INFO] [stdout] test fmt_in_place_on_already_formatted_file_exits_0 ... ok
[INFO] [stdout] test fmt_accepts_multiple_file_arguments ... ok
[INFO] [stdout] test fmt_check_no_args_exits_1_when_any_file_unformatted ... ok
[INFO] [stdout] test fmt_is_idempotent ... ok
[INFO] [stdout] test fmt_check_no_args_exits_0_when_all_formatted ... ok
[INFO] [stdout] test fmt_check_prints_would_reformat_message ... ok
[INFO] [stdout] test fmt_diff_does_not_modify_file ... ok
[INFO] [stdout] test fmt_check_exits_0_when_already_formatted ... ok
[INFO] [stdout] test fmt_normalizes_2_space_indent_to_4 ... ok
[INFO] [stdout] test fmt_preserves_hash_comment ... ok
[INFO] [stdout] test fmt_no_args_discovers_and_formats_al_files ... ok
[INFO] [stdout] test fmt_preserves_inline_posting_comment ... ok
[INFO] [stdout] test fmt_preserves_top_level_comment ... ok
[INFO] [stdout] test fmt_right_aligns_posting_amounts ... ok
[INFO] [stdout] test fmt_no_args_does_not_touch_non_al_files ... ok
[INFO] [stdout] test fmt_in_place_rewrites_file_and_exits_0 ... ok
[INFO] [stdout] test fmt_sorts_commodities_before_accounts ... ok
[INFO] [stdout] test fmt_check_exits_1_when_unformatted ... ok
[INFO] [stdout] test fmt_no_args_recurses_into_subdirectories ... ok
[INFO] [stdout] test fmt_in_place_preserves_comments ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/forecast_tests.rs (/opt/rustwide/target/release/deps/forecast_tests-9e5cddc3df23282f)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test forecast_quarterly_generates_four_per_year ... ok
[INFO] [stdout] test forecast_no_periodic_directives_produces_empty_output ... ok
[INFO] [stdout] test forecast_json_output_is_valid ... ok
[INFO] [stdout] test forecast_weekly_generates_weekly_transactions ... ok
[INFO] [stdout] test balance_forecast_flag_without_months_has_default_or_errors ... ok
[INFO] [stdout] test forecast_monthly_generates_n_months ... ok
[INFO] [stdout] test forecast_zero_months_produces_empty_output ... ok
[INFO] [stdout] test balance_forecast_flag_includes_projected_transactions ... ok
[INFO] [stdout] test forecast_output_is_valid_journal_syntax ... ok
[INFO] [stdout] test periodic_unknown_period_is_error ... ok
[INFO] [stdout] test periodic_monthly_directive_parses ... ok
[INFO] [stdout] test register_forecast_flag_includes_projected_rows ... ok
[INFO] [stdout] test forecast_yearly_generates_one_per_year ... ok
[INFO] [stderr]      Running tests/gains_tests.rs (/opt/rustwide/target/release/deps/gains_tests-1c9a9e617071b9af)
[INFO] [stdout] test periodic_all_period_keywords_parse ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test gains_exits_zero ... ok
[INFO] [stdout] test gains_end_date_excludes_later_purchases ... ok
[INFO] [stdout] test gains_account_filter ... ok
[INFO] [stdout] test gains_aapl_market_value ... ok
[INFO] [stdout] test gains_csv_output ... ok
[INFO] [stdout] test gains_aapl_gain_loss ... ok
[INFO] [stdout] test gains_human_output_contains_accounts ... ok
[INFO] [stdout] test gains_aapl_cost_basis ... ok
[INFO] [stdout] test gains_json_csv_mutually_exclusive ... ok
[INFO] [stdout] test gains_json_has_expected_keys ... ok
[INFO] [stdout] test gains_missing_value_flag_fails ... ok
[INFO] [stdout] test gains_goog_market_value_and_gain ... ok
[INFO] [stdout] test gains_json_valid ... ok
[INFO] [stdout] test gains_goog_cost_basis ... ok
[INFO] [stdout] test gains_totals ... ok
[INFO] [stdout] test gains_no_price_data_does_not_crash ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/grammar_tests.rs (/opt/rustwide/target/release/deps/grammar_tests-a1b3b4b9908709b9)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test grammar_covers_budget_directive ... ok
[INFO] [stdout] test grammar_covers_core_directives ... ok
[INFO] [stdout] test grammar_date_scope_contains_date ... ok
[INFO] [stdout] test grammar_has_date_pattern ... ok
[INFO] [stdout] test grammar_has_required_top_level_keys ... ok
[INFO] [stdout] test grammar_has_amount_pattern ... ok
[INFO] [stdout] test grammar_comment_scope_is_line_comment ... ok
[INFO] [stdout] test grammar_has_account_pattern ... ok
[INFO] [stdout] test grammar_has_comment_pattern ... ok
[INFO] [stdout] test grammar_is_valid_json ... ok
[INFO] [stdout] test grammar_has_commodity_pattern ... ok
[INFO] [stdout] test grammar_file_exists ... ok
[INFO] [stdout] test grammar_name_contains_aledgr ... ok
[INFO] [stdout] test vscode_package_json_exists ... ok
[INFO] [stdout] test grammar_scope_name_ends_with_aledgr ... ok
[INFO] [stdout] test vscode_package_json_declares_aledgr_grammar ... ok
[INFO] [stderr]      Running tests/homebrew_tests.rs (/opt/rustwide/target/release/deps/homebrew_tests-2baa57211ffb2df2)
[INFO] [stdout] test vscode_package_json_valid ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test formula_has_homepage ... ok
[INFO] [stdout] test formula_has_install_method ... ok
[INFO] [stdout] test formula_file_exists ... ok
[INFO] [stdout] test formula_has_desc ... ok
[INFO] [stdout] test formula_has_test_block ... ok
[INFO] [stdout] test formula_has_url ... ok
[INFO] [stdout] test formula_has_mit_license ... ok
[INFO] [stdout] test formula_has_sha256 ... ok
[INFO] [stdout] test formula_test_block_asserts_output ... ok
[INFO] [stdout] test aledgr_binary_help_lists_subcommands ... ok
[INFO] [stdout] test formula_install_installs_binary ... ok
[INFO] [stdout] test formula_is_a_formula_class ... ok
[INFO] [stdout] test formula_test_block_invokes_binary ... ok
[INFO] [stderr] error: test failed, to rerun pass `--test homebrew_tests`
[INFO] [stdout] test aledgr_binary_help_exits_zero ... ok
[INFO] [stdout] test formula_version_matches_cargo ... ok
[INFO] [stdout] test aledgr_binary_version_flag_exits_zero ... ok
[INFO] [stdout] test aledgr_binary_version_matches_cargo ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- aledgr_binary_version_matches_cargo stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'aledgr_binary_version_matches_cargo' (5383) panicked at tests/homebrew_tests.rs:312:5:
[INFO] [stdout] aledgr --version must contain Cargo.toml version 4; got: aledgr 0.15.0
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f2b9ec0f191 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f2b9ec233fa - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x5f2b9ec1364c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f2b9ebeb186 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f2b9ec07589 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x5f2b9eba3230 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x5f2b9ec07742 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f2b9ebeb232 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f2b9ebe3e29 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f2b9ebebe2d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f2b9ec23b2c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f2b9eb95ecc - <homebrew_tests[f17a10a521878137]::aledgr_binary_version_matches_cargo::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x5f2b9eb9651b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   13:     0x5f2b9eba3b85 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   14:     0x5f2b9eb9d444 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x5f2b9eba6ce2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x5f2b9ec0e6f9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x7e727524fdfa - <unknown>
[INFO] [stdout]   18:     0x7e72752e33d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     aledgr_binary_version_matches_cargo
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 16 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74", kill_on_drop: false }`
[INFO] [stdout] 519aefeca6af369ecc99b51343930aab2f84fa503b204cb5b85f30fff8caaf74
