[INFO] fetching crate aledgr 0.15.0...
[INFO] testing aledgr-0.15.0 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] extracting crate aledgr 0.15.0 into /workspace/builds/worker-7-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate aledgr 0.15.0 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 334fba31572287d967571e13c8388e9a86706911e62de9cd9d90f0f6cc366c56
[INFO] running `Command { std: "docker" "start" "-a" "334fba31572287d967571e13c8388e9a86706911e62de9cd9d90f0f6cc366c56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "334fba31572287d967571e13c8388e9a86706911e62de9cd9d90f0f6cc366c56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "334fba31572287d967571e13c8388e9a86706911e62de9cd9d90f0f6cc366c56", kill_on_drop: false }`
[INFO] [stdout] 334fba31572287d967571e13c8388e9a86706911e62de9cd9d90f0f6cc366c56
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7fecca9b7d84b34464eb25b5653fb003bb1dd4dcdea59223e938773aca9d7535
[INFO] running `Command { std: "docker" "start" "-a" "7fecca9b7d84b34464eb25b5653fb003bb1dd4dcdea59223e938773aca9d7535", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[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 strsim v0.11.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling roff v1.1.1
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling rust_decimal v1.41.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[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 clap_derive v4.6.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling rust_decimal_macros v1.40.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[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_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling clap_mangen v0.2.33
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling aledgr v0.15.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 17s
[INFO] running `Command { std: "docker" "inspect" "7fecca9b7d84b34464eb25b5653fb003bb1dd4dcdea59223e938773aca9d7535", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fecca9b7d84b34464eb25b5653fb003bb1dd4dcdea59223e938773aca9d7535", kill_on_drop: false }`
[INFO] [stdout] 7fecca9b7d84b34464eb25b5653fb003bb1dd4dcdea59223e938773aca9d7535
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e6d732797a57d4791c255d444a72f1943941bd0404d044a497754e93e56a441c
[INFO] running `Command { std: "docker" "start" "-a" "e6d732797a57d4791c255d444a72f1943941bd0404d044a497754e93e56a441c", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.4.2
[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 `test` profile [unoptimized + debuginfo] target(s) in 22.81s
[INFO] running `Command { std: "docker" "inspect" "e6d732797a57d4791c255d444a72f1943941bd0404d044a497754e93e56a441c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6d732797a57d4791c255d444a72f1943941bd0404d044a497754e93e56a441c", kill_on_drop: false }`
[INFO] [stdout] e6d732797a57d4791c255d444a72f1943941bd0404d044a497754e93e56a441c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b9b77e7853fde3333813b8e67844201321e8d9c20ca9fb40ae6c0d8da2709297
[INFO] running `Command { std: "docker" "start" "-a" "b9b77e7853fde3333813b8e67844201321e8d9c20ca9fb40ae6c0d8da2709297", kill_on_drop: false }`
[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: 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` (test "tag_meta_tests") generated 1 warning
[INFO] [stderr] warning: `aledgr` (lib test) 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 `test` profile [unoptimized + debuginfo] target(s) in 0.50s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aledgr-ce23216992ba72b8)
[INFO] [stdout] 
[INFO] [stdout] running 452 tests
[INFO] [stdout] test cmd::add::tests::format_transaction_cleared ... ok
[INFO] [stdout] test cmd::add::tests::inline_balanced_transaction ... ok
[INFO] [stdout] test cmd::add::tests::format_posting_line_basic ... ok
[INFO] [stdout] test cmd::add::tests::inline_imbalanced_returns_error ... ok
[INFO] [stdout] test cmd::add::tests::inline_with_elided_amount ... ok
[INFO] [stdout] test cmd::add::tests::append_creates_new_file ... ok
[INFO] [stdout] test cmd::balance::tests::apply_value_conversion_basic ... ok
[INFO] [stdout] test cmd::balance::tests::apply_value_conversion_no_price_passthrough ... ok
[INFO] [stdout] test cmd::balance::tests::apply_value_conversion_target_commodity_passthrough ... ok
[INFO] [stdout] test cmd::balance::tests::apply_value_conversion_respects_valuation_date ... ok
[INFO] [stdout] test cmd::balance::tests::fmt_decimal_basic ... ok
[INFO] [stdout] test cmd::balance::tests::apply_depth_truncates_deep_accounts ... ok
[INFO] [stdout] test cmd::balance::tests::print_json_with_exchange_includes_original_balances ... ok
[INFO] [stdout] test cmd::balance::tests::print_json_without_exchange_no_original_balances ... ok
[INFO] [stdout] test cmd::balance::tests::apply_depth_passthrough_when_shallow ... ok
[INFO] [stdout] test cmd::balance::tests::apply_value_conversion_uses_latest_price ... ok
[INFO] [stdout] test cmd::convert::tests::auto_bean_extension ... ok
[INFO] [stdout] test cmd::convert::tests::auto_beancount_extension ... ok
[INFO] [stdout] test cmd::convert::tests::explicit_hledger ... ok
[INFO] [stdout] test cmd::add::tests::append_adds_blank_line_separator ... ok
[INFO] [stdout] test cmd::convert::tests::explicit_beancount ... ok
[INFO] [stdout] test cmd::convert::tests::auto_ledger_extension ... ok
[INFO] [stdout] test cmd::consolidate::tests::consolidate_delete_sources_removes_included_files ... ok
[INFO] [stdout] test cmd::add::tests::format_posting_line_long_account_gets_min_spacing ... ok
[INFO] [stdout] test cmd::add::tests::format_posting_line_negative ... ok
[INFO] [stdout] test cmd::convert::tests::run_missing_input_file_errors ... ok
[INFO] [stdout] test cmd::consolidate::tests::consolidate_no_includes_prints_message ... ok
[INFO] [stdout] test cmd::convert::tests::run_ledger_to_stdout_roundtrip ... ok
[INFO] [stdout] test cmd::fmt::tests::check_exits_zero_when_already_formatted ... ok
[INFO] [stdout] test cmd::fmt::tests::diff_flag_does_not_modify_file ... ok
[INFO] [stdout] test cmd::convert::tests::auto_hledger_extension ... ok
[INFO] [stdout] test cmd::convert::tests::run_auto_detect_beancount ... ok
[INFO] [stdout] test cmd::consolidate::tests::consolidate_merges_includes_into_main ... ok
[INFO] [stdout] test cmd::convert::tests::explicit_ledger ... 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::ensures_blank_line_between_transactions ... ok
[INFO] [stdout] test cmd::gains::tests::gains_run_errors_when_no_value_or_exchange ... ok
[INFO] [stdout] test cmd::gains::tests::fmt_decimal_basic ... ok
[INFO] [stdout] test cmd::convert::tests::auto_unknown_extension_errors ... ok
[INFO] [stdout] test cmd::fmt::tests::sorts_header_commodities_and_accounts ... ok
[INFO] [stdout] test cmd::import::tests::bad_row_emits_comment ... ok
[INFO] [stdout] test cmd::fmt::tests::normalizes_posting_indent_from_2_to_4 ... ok
[INFO] [stdout] test cmd::fmt::tests::elided_posting_has_no_trailing_spaces ... ok
[INFO] [stdout] test cmd::import::tests::decimal_normalization_dedup ... ok
[INFO] [stdout] test cmd::import_rules::tests::alias_directives ... ok
[INFO] [stdout] test cmd::import::tests::skips_duplicate_from_seen_set ... ok
[INFO] [stdout] test cmd::import::tests::output_writes_file ... ok
[INFO] [stdout] test cmd::import::tests::custom_date_format ... ok
[INFO] [stdout] test cmd::import::tests::dedup_against_existing_journal_file ... ok
[INFO] [stdout] test cmd::import::tests::different_amount_not_considered_duplicate ... ok
[INFO] [stdout] test cmd::convert::tests::unknown_format_errors ... ok
[INFO] [stdout] test cmd::convert::tests::auto_journal_extension ... ok
[INFO] [stdout] test cmd::import::tests::negative_amount_direction ... ok
[INFO] [stdout] test cmd::import_rules::tests::comment_lines_ignored ... ok
[INFO] [stdout] test cmd::import::tests::skips_duplicate_within_csv ... ok
[INFO] [stdout] test cmd::gains::tests::gains_run_exchange_alias_works ... ok
[INFO] [stdout] test cmd::import::tests::basic_csv_round_trip ... ok
[INFO] [stdout] test cmd::import::tests::output_file_auto_dedup_on_second_run ... ok
[INFO] [stdout] test cmd::import_rules::tests::case_insensitive_pattern ... ok
[INFO] [stdout] test cmd::import_rules::tests::parse_basic_directives ... ok
[INFO] [stdout] test cmd::import_rules::tests::unknown_toplevel_directive_errors ... ok
[INFO] [stdout] test cmd::merge::tests::merge_two_files_stdout ... ok
[INFO] [stdout] test cmd::merge::tests::merge_sorts_transactions_by_date ... ok
[INFO] [stdout] test cmd::import_rules::tests::if_block_payee_rename ... 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::register::tests::exchange_converts_rows_to_target ... ok
[INFO] [stdout] test cmd::register::tests::empty_input_produces_no_groups ... ok
[INFO] [stdout] test cmd::register::tests::exchange_unknown_commodity_passthrough ... ok
[INFO] [stdout] test cmd::register::tests::yearly_grouping ... ok
[INFO] [stdout] test cmd::register::tests::monthly_net_totals ... ok
[INFO] [stdout] test cmd::init::tests::creates_file ... ok
[INFO] [stdout] test cmd::init::tests::refuses_existing_without_force ... ok
[INFO] [stdout] test cmd::split::tests::split_single_group_no_op ... ok
[INFO] [stdout] test cmd::split::tests::split_by_account_creates_per_account_files ... ok
[INFO] [stdout] test cmd::import_rules::tests::unknown_if_block_directive_errors ... ok
[INFO] [stdout] test cmd::merge::tests::merge_with_namespace_by_owner ... ok
[INFO] [stdout] test cmd::import_rules::tests::regex_alternation_pattern ... ok
[INFO] [stdout] test cmd::split::tests::split_by_month_creates_per_month_files ... ok
[INFO] [stdout] test cmd::register::tests::monthly_grouping_count ... 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::split::tests::split_by_year_creates_per_year_files ... ok
[INFO] [stdout] test cmd::import_rules::tests::last_matching_rule_wins ... ok
[INFO] [stdout] test cmd::register::tests::period_label_formats ... ok
[INFO] [stdout] test cmd::tui::tests::build_balance_rows_top_level_depth_zero ... ok
[INFO] [stdout] test cmd::register::tests::weekly_grouping ... ok
[INFO] [stdout] test cmd::tui::tests::build_balance_rows_depth_from_colons ... ok
[INFO] [stdout] test cmd::tui::tests::compute_monthly_empty_rows_zero_totals ... ok
[INFO] [stdout] test cmd::import_rules::tests::no_match_returns_defaults ... ok
[INFO] [stdout] test cmd::tui::tests::filter_input_opens_on_f_key ... ok
[INFO] [stdout] test cmd::tui::tests::export_mode_opens_on_ctrl_e ... ok
[INFO] [stdout] test cmd::import_rules::tests::parse_if_block_account2 ... ok
[INFO] [stdout] test cmd::tui::tests::export_json_writes_valid_json ... ok
[INFO] [stdout] test cmd::tui::tests::export_csv_writes_expected_columns ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_integer ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_millions ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_negative_thousands ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_thousands_separator ... ok
[INFO] [stdout] test cmd::tui::tests::compute_monthly_label_has_two_parts ... ok
[INFO] [stdout] test cmd::tui::tests::filter_input_closes_on_esc ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_zero ... ok
[INFO] [stdout] test cmd::tui::tests::build_balance_rows_skips_zero_amounts ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_esc_returns_quit ... ok
[INFO] [stdout] test cmd::tui::tests::format_decimal_negative ... 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_q_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::period_nav_left_brace_goes_prev_year ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_ctrl_c_returns_quit ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_all_equal_returns_mid_block ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_ascending_first_lt_last ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_all_negative_equal_values_returns_mid_block ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_left_bracket_activates_and_goes_prev_month ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_q_uppercase_returns_quit ... ok
[INFO] [stdout] test cmd::tui::tests::handle_key_arrow_down_increments_scroll ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_starts_none ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_correct_width ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_single_value_all_equal_path ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_zero_width_returns_empty ... ok
[INFO] [stdout] test cmd::tui::tests::truncate_empty_string ... ok
[INFO] [stdout] test cmd::tui::tests::soft_reload_preserves_scroll_offset ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_negative_values_produces_correct_width ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_right_brace_goes_next_year ... ok
[INFO] [stdout] test cmd::tui::tests::truncate_exact_length_unchanged ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_right_bracket_activates_and_goes_next_month ... ok
[INFO] [stdout] test cmd::balance::tests::apply_depth_1_keeps_only_top_level ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_prev_next_month_roundtrip ... ok
[INFO] [stdout] test cmd::tui::tests::truncate_short_string_unchanged ... ok
[INFO] [stdout] test cmd::tui::tests::help_overlay_renders_shortcuts ... ok
[INFO] [stdout] test cmd::tui::tests::truncate_long_string_ends_with_ellipsis ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_loads_simple_journal ... ok
[INFO] [stdout] test cmd::tui_import::tests::col_field_cycle ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_loads_empty_journal ... ok
[INFO] [stdout] test cmd::tui_import::tests::build_tx_preview_ok ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_loads_multiple_files ... ok
[INFO] [stdout] test cmd::tui_import::tests::load_preview_and_col_clamp ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_missing_file_returns_error ... ok
[INFO] [stdout] test cmd::tui_import::tests::load_preview_bad_path ... ok
[INFO] [stdout] test cmd::tui_import::tests::settings_field_cycle ... 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::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::tests::tui_app_draw_does_not_panic_with_empty_journal ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_draw_does_not_panic_tiny_terminal ... ok
[INFO] [stdout] test cmd::tui::tests::period_nav_title_bar_renders_period_label ... ok
[INFO] [stdout] test cmd::tui_views::tests::bar_span_fill_exceeds_width_clamped_to_full ... ok
[INFO] [stdout] test cmd::tui_views::tests::bar_span_full_fill_returns_all_filled_chars ... ok
[INFO] [stdout] test cmd::tui_views::tests::bar_span_half_fill ... ok
[INFO] [stdout] test cmd::tui_views::tests::bar_span_zero_fill_returns_all_empty_chars ... ok
[INFO] [stdout] test cmd::tui_views::tests::budget_view_loads_empty_journal ... 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::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::compute_monthly_bars_produces_correct_month_count ... ok
[INFO] [stdout] test cmd::tui_views::tests::period_label_both_dates ... ok
[INFO] [stdout] test cmd::tui_views::tests::income_statement_view_loads_empty_journal ... 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::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::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::lots_view_loads_empty_journal ... ok
[INFO] [stdout] test cmd::tui_views::tests::scroll_up_clamps_at_zero ... ok
[INFO] [stdout] test cmd::util::tests::apply_value_conversion_basic ... ok
[INFO] [stdout] test cmd::util::tests::convert_amount_converts_with_price ... ok
[INFO] [stdout] test cmd::util::tests::apply_value_conversion_target_passthrough ... ok
[INFO] [stdout] test cmd::util::tests::convert_amount_no_price_passthrough ... ok
[INFO] [stdout] test cmd::util::tests::convert_amount_same_commodity_passthrough ... ok
[INFO] [stdout] test cmd::util::tests::convert_amount_uses_latest_price ... 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::resolve_account_via_aliases_canonical_passthrough ... ok
[INFO] [stdout] test cmd::util::tests::to_json_error_parse ... ok
[INFO] [stdout] test cmd::util::tests::to_json_error_file ... ok
[INFO] [stdout] test cmd::util::tests::resolve_account_via_aliases_found ... ok
[INFO] [stdout] test convert::beancount::tests::account_types_lowercased ... ok
[INFO] [stdout] test convert::beancount::tests::cleared_transaction_star ... ok
[INFO] [stdout] test cmd::util::tests::valuation_date_without_end_is_today ... ok
[INFO] [stdout] test convert::beancount::tests::comments_ignored ... ok
[INFO] [stdout] test convert::beancount::tests::close_directive_ignored ... ok
[INFO] [stdout] test config::tests::bad_toml_gives_default ... ok
[INFO] [stdout] test convert::beancount::tests::commodity_directive ... ok
[INFO] [stdout] test config::tests::absent_file_gives_default ... ok
[INFO] [stdout] test config::tests::price_file_not_appended_when_missing_from_disk ... ok
[INFO] [stdout] test convert::beancount::tests::error_too_few_postings ... ok
[INFO] [stdout] test convert::beancount::tests::convert_account_fn ... ok
[INFO] [stdout] test config::tests::full_config_deserializes ... ok
[INFO] [stdout] test config::tests::price_file_path_joins_correctly ... ok
[INFO] [stdout] test config::tests::partial_config_uses_defaults ... ok
[INFO] [stdout] test convert::beancount::tests::elided_amount_posting ... ok
[INFO] [stdout] test cmd::util::tests::valuation_date_with_end ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_draw_does_not_panic_with_data ... ok
[INFO] [stdout] test convert::beancount::tests::narration_only_no_payee ... ok
[INFO] [stdout] test convert::beancount::tests::metadata_on_postings_ignored ... ok
[INFO] [stdout] test convert::beancount::tests::multiple_transactions ... ok
[INFO] [stdout] test convert::beancount::tests::open_directive_adds_account ... ok
[INFO] [stdout] test convert::beancount::tests::pending_transaction_exclamation ... ok
[INFO] [stdout] test convert::beancount::tests::open_multiple_accounts ... ok
[INFO] [stdout] test convert::beancount::tests::parse_empty ... 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_then_negative ... ok
[INFO] [stdout] test convert::hledger::tests::amount_negative_dollar_prefix ... ok
[INFO] [stdout] test convert::hledger::tests::amount_negative_iso_suffix ... ok
[INFO] [stdout] test convert::hledger::tests::amount_iso_suffix ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_dash_separator ... ok
[INFO] [stdout] test convert::hledger::tests::convert_dispatch_hledger ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_short_mm_dd ... ok
[INFO] [stdout] test convert::hledger::tests::empty_input_returns_empty_journal ... ok
[INFO] [stdout] test convert::hledger::tests::amount_no_commodity_returns_error ... ok
[INFO] [stdout] test convert::hledger::tests::amount_underscore_separated ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_invalid_returns_error ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_smart_today ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_slash_separator ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_smart_yesterday ... ok
[INFO] [stdout] test convert::hledger::tests::parse_account_directive ... ok
[INFO] [stdout] test convert::hledger::tests::parse_alias_directive_skipped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_cleared_status ... ok
[INFO] [stdout] test convert::hledger::tests::parse_dot_date_separator ... ok
[INFO] [stdout] test convert::hledger::tests::parse_double_semicolon_comment_line_skipped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_elided_amount ... ok
[INFO] [stdout] test convert::hledger::tests::parse_effective_date ... ok
[INFO] [stdout] test convert::hledger::tests::parse_commodity_directive ... ok
[INFO] [stdout] test convert::hledger::tests::parse_iso_commodity_posting ... ok
[INFO] [stdout] test convert::hledger::tests::parse_balance_assertion_stripped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_hash_comment_line_skipped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_inline_posting_comment ... ok
[INFO] [stdout] test convert::hledger::tests::parse_full_hledger_sample ... 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_directive_skipped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_simple_transaction ... ok
[INFO] [stdout] test convert::hledger::tests::parse_price_annotation_stripped ... ok
[INFO] [stdout] test convert::ledger::tests::amount_btc_prefix ... ok
[INFO] [stdout] test convert::hledger::tests::parse_transaction_code_skipped ... ok
[INFO] [stdout] test convert::hledger::tests::parse_skips_virtual_posting_with_parens ... ok
[INFO] [stdout] test convert::ledger::tests::amount_comma_separated ... ok
[INFO] [stdout] test convert::hledger::tests::parse_pending_status ... ok
[INFO] [stdout] test convert::ledger::tests::amount_comma_with_symbol ... ok
[INFO] [stdout] test convert::ledger::tests::amount_dollar_then_negative ... ok
[INFO] [stdout] test convert::ledger::tests::amount_dollar_prefix ... ok
[INFO] [stdout] test convert::ledger::tests::amount_iso_suffix ... 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_negative_iso_suffix ... ok
[INFO] [stdout] test convert::ledger::tests::amount_pound_prefix ... ok
[INFO] [stdout] test convert::ledger::tests::amount_yen_prefix ... ok
[INFO] [stdout] test convert::ledger::tests::blank_lines_only_returns_empty_journal ... 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::parse_account_directive ... ok
[INFO] [stdout] test convert::ledger::tests::convert_dispatch_ledger ... ok
[INFO] [stdout] test convert::ledger::tests::ledger_date_dash_separator ... ok
[INFO] [stdout] test convert::ledger::tests::parse_commodity_directive ... ok
[INFO] [stdout] test convert::ledger::tests::parse_comment_lines_skipped ... ok
[INFO] [stdout] test convert::ledger::tests::parse_cleared_status ... 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::ledger_date_slash_separator ... ok
[INFO] [stdout] test convert::ledger::tests::parse_effective_date ... ok
[INFO] [stdout] test convert::ledger::tests::parse_elided_amount ... ok
[INFO] [stdout] test convert::ledger::tests::parse_multiple_transactions ... ok
[INFO] [stdout] test convert::ledger::tests::parse_full_ledger_sample ... ok
[INFO] [stdout] test convert::ledger::tests::parse_inline_posting_comment ... ok
[INFO] [stdout] test convert::ledger::tests::parse_payee_trailing_comment_stripped ... 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_pending_status ... ok
[INFO] [stdout] test convert::ledger::tests::parse_posting_with_iso_price_annotation ... 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_simple_transaction_slash_dates ... ok
[INFO] [stdout] test cmd::tui::tests::sparkline_empty_values_returns_empty ... ok
[INFO] [stdout] test convert::ledger::tests::parse_skips_virtual_posting_with_brackets ... ok
[INFO] [stdout] test convert::ledger::tests::parse_transaction_code_skipped ... ok
[INFO] [stdout] test convert::ledger::tests::parse_uncleared_status ... ok
[INFO] [stdout] test convert::ledger::tests::parse_tab_separated_posting ... ok
[INFO] [stdout] test convert::ledger::tests::parse_value_expression_skips_transaction ... ok
[INFO] [stdout] test engine::balance::tests::compute_basic_balances ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_balance_rows_include_known_accounts_from_simple ... ok
[INFO] [stdout] test engine::balance::tests::date_filter_begin_end ... ok
[INFO] [stdout] test engine::balance::tests::date_filter_begin ... ok
[INFO] [stdout] test engine::balance::tests::date_filter_end ... ok
[INFO] [stdout] test engine::balance::tests::amount_filter_no_match_returns_empty ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_reload_preserves_row_count ... ok
[INFO] [stdout] test cmd::util::tests::convert_amount_respects_valuation_date ... ok
[INFO] [stdout] test convert::ledger::tests::parse_skips_virtual_posting_with_parens ... ok
[INFO] [stdout] test engine::balance::tests::expand_parents ... ok
[INFO] [stdout] test engine::balance::tests::max_amount_filter_balance ... ok
[INFO] [stdout] test engine::balance::tests::min_amount_filter_balance ... ok
[INFO] [stdout] test engine::balance::tests::meta_filter_includes_only_matching ... ok
[INFO] [stdout] test engine::balance::tests::min_max_amount_filter_balance ... ok
[INFO] [stdout] test engine::balance::tests::meta_filter_no_match_returns_empty ... ok
[INFO] [stdout] test engine::balance::tests::resolve_elided_none ... ok
[INFO] [stdout] test engine::balance::tests::resolve_elided_single ... ok
[INFO] [stdout] test engine::balancesheet::tests::end_date_filters_transactions ... ok
[INFO] [stdout] test convert::hledger::tests::amount_dollar_prefix ... ok
[INFO] [stdout] test engine::balancesheet::tests::assets_are_positive ... ok
[INFO] [stdout] test convert::hledger::tests::hledger_date_dot_separator ... ok
[INFO] [stdout] test engine::balance::tests::tag_filter_no_match_returns_empty ... ok
[INFO] [stdout] test engine::balance::tests::tag_filter_includes_only_tagged ... ok
[INFO] [stdout] test engine::budget::tests::over_budget ... ok
[INFO] [stdout] test engine::balancesheet::tests::liabilities_are_negated ... ok
[INFO] [stdout] test engine::cashflow::tests::inflows_classified_correctly ... ok
[INFO] [stdout] test engine::cashflow::tests::date_range_filters_transactions ... ok
[INFO] [stdout] test engine::cashflow::tests::outflows_stored_as_positive_magnitude ... ok
[INFO] [stdout] test engine::budget::tests::no_actual_spending ... ok
[INFO] [stdout] test engine::balancesheet::tests::net_assets_correct ... ok
[INFO] [stdout] test engine::cashflow::tests::liabilities_account_classified ... ok
[INFO] [stdout] test engine::balancesheet::tests::equity_is_negated ... ok
[INFO] [stdout] test engine::balancesheet::tests::income_expenses_excluded ... ok
[INFO] [stdout] test engine::budget::tests::period_dates_parses_correctly ... ok
[INFO] [stdout] test engine::budget::tests::date_range_filters_directives ... ok
[INFO] [stdout] test engine::cashflow::tests::outflows_classified_correctly_positive_magnitude ... ok
[INFO] [stdout] test engine::cashflow::tests::net_calculation_correct ... ok
[INFO] [stdout] test engine::check::tests::balance_assertion_fails ... ok
[INFO] [stdout] test engine::cashflow::tests::non_cashflow_accounts_excluded ... ok
[INFO] [stdout] test engine::budget::tests::basic_budget_comparison ... ok
[INFO] [stdout] test engine::check::tests::duplicate_detection_warns ... ok
[INFO] [stdout] test engine::check::tests::imbalanced_transaction_fails ... ok
[INFO] [stdout] test engine::check::tests::implicit_exchange_with_elided_not_treated_as_exchange ... ok
[INFO] [stdout] test engine::forecast::tests::empty_when_start_equals_end ... ok
[INFO] [stdout] test engine::check::tests::implicit_exchange_three_commodities_fails ... 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::gains::tests::basic_cost_basis ... ok
[INFO] [stdout] test engine::forecast::tests::expand_sets_forecast_metadata ... ok
[INFO] [stdout] test engine::check::tests::non_duplicate_no_warning ... ok
[INFO] [stdout] test engine::forecast::tests::monthly_12_from_jan ... ok
[INFO] [stdout] test engine::gains::tests::no_price_data_gives_none_market_value ... ok
[INFO] [stdout] test engine::gains::tests::goog_cost_basis_and_gain ... ok
[INFO] [stdout] test engine::check::tests::implicit_two_commodity_exchange_passes ... ok
[INFO] [stdout] test engine::gains::tests::date_filter_excludes_future_purchases ... ok
[INFO] [stdout] test engine::gains::tests::basic_gain_loss ... ok
[INFO] [stdout] test engine::gains::tests::account_filter_regex_matches ... ok
[INFO] [stdout] test engine::gains::tests::basic_market_value ... ok
[INFO] [stdout] test engine::gains::tests::zero_quantity_rows_excluded ... ok
[INFO] [stdout] test engine::incomestatement::tests::date_range_filters_transactions ... ok
[INFO] [stdout] test engine::incomestatement::tests::expenses_are_positive ... ok
[INFO] [stdout] test engine::incomestatement::tests::no_income_no_expense_empty ... ok
[INFO] [stdout] test engine::incomestatement::tests::revenue_prefix_classified_as_income ... 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::gains::tests::total_price_annotation_works ... ok
[INFO] [stdout] test engine::check::tests::balance_assertion_passes ... ok
[INFO] [stdout] test engine::forecast::tests::quarterly_4_over_year ... ok
[INFO] [stdout] test engine::gains::tests::account_filter_restricts_output ... ok
[INFO] [stdout] test engine::check::tests::valid_journal_is_clean ... ok
[INFO] [stdout] test engine::gains::tests::account_filter_regex_invalid_returns_error ... ok
[INFO] [stdout] test engine::incomestatement::tests::income_is_negated ... ok
[INFO] [stdout] test engine::lots::tests::gain_loss_negative_for_loss ... ok
[INFO] [stdout] test engine::forecast::tests::weekly_52_over_364_days ... ok
[INFO] [stdout] test engine::incomestatement::tests::net_income_correct ... ok
[INFO] [stdout] test engine::forecast::tests::yearly_1_over_single_year ... ok
[INFO] [stdout] test engine::lots::tests::single_lot_acquisition ... ok
[INFO] [stdout] test engine::lots::tests::no_lots_for_plain_transactions ... ok
[INFO] [stdout] test engine::merge::tests::merge_journals_stable_same_date ... 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_journal_prefixes_accounts ... ok
[INFO] [stdout] test engine::merge::tests::namespace_skips_shared_accounts ... ok
[INFO] [stdout] test engine::register::tests::account_filter ... ok
[INFO] [stdout] test engine::register::tests::elided_posting_resolved ... 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::begin_filter ... ok
[INFO] [stdout] test engine::register::tests::account_filter_regex_invalid_returns_error ... ok
[INFO] [stdout] test engine::register::tests::end_filter ... ok
[INFO] [stdout] test engine::merge::tests::owner_to_prefix_basic ... 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::merge::tests::merge_no_owner_file_not_namespaced ... ok
[INFO] [stdout] test engine::register::tests::meta_filter_register ... ok
[INFO] [stdout] test engine::register::tests::amount_filter_with_account_filter ... ok
[INFO] [stdout] test engine::register::tests::min_max_amount_filter_register ... ok
[INFO] [stdout] test filter::tests::compile_optional_none ... ok
[INFO] [stdout] test filter::tests::prefix_child_match ... ok
[INFO] [stdout] test engine::register::tests::running_balance_per_account ... ok
[INFO] [stdout] test filter::tests::prefix_exact_match ... ok
[INFO] [stdout] test engine::register::tests::tag_filter_no_match_register ... ok
[INFO] [stdout] test filter::tests::compile_optional_some_prefix ... ok
[INFO] [stdout] test engine::register::tests::tag_filter_register ... ok
[INFO] [stdout] test filter::tests::prefix_no_partial_sibling ... ok
[INFO] [stdout] test engine::register::tests::account_filter_regex_matches_pattern ... ok
[INFO] [stdout] test engine::merge::tests::merge_deduplicates_commodities_and_accounts ... ok
[INFO] [stdout] test filter::tests::regex_basic ... ok
[INFO] [stdout] test filter::tests::regex_invalid_returns_error ... ok
[INFO] [stdout] test formatter::tests::format_journal_empty ... ok
[INFO] [stdout] test formatter::tests::format_journal_no_owner_directive ... ok
[INFO] [stdout] test formatter::tests::format_journal_round_trip ... ok
[INFO] [stdout] test formatter::tests::format_journal_transactions_only ... ok
[INFO] [stdout] test journal::tests::journal_round_trip ... ok
[INFO] [stdout] test journal::tests::journal_collects_aliases ... ok
[INFO] [stdout] test journal::tests::load_basic_include ... ok
[INFO] [stdout] test journal::tests::journal_with_price_directives ... ok
[INFO] [stdout] test journal::tests::journal_aliases_default_empty ... ok
[INFO] [stdout] test filter::tests::regex_complex ... ok
[INFO] [stdout] test journal::tests::load_owner_fallback_to_include ... ok
[INFO] [stdout] test journal::tests::load_nested_include ... ok
[INFO] [stdout] test journal::tests::load_sibling_includes_same_file_allowed ... 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 journal::tests::load_relative_path_resolved_from_including_file ... 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 parser::tests::extract_metadata_multi_word_value ... ok
[INFO] [stdout] test parser::tests::error_unclosed_cost_brace ... ok
[INFO] [stdout] test parser::tests::extract_metadata_no_space_after_colon_not_matched ... ok
[INFO] [stdout] test parser::tests::extract_metadata_tag_and_meta_coexist ... 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::parse_alias_directive ... ok
[INFO] [stdout] test parser::tests::parse_alias_directive_missing_display_name_is_error ... ok
[INFO] [stdout] test parser::tests::parse_alias_directive_missing_account_is_error ... ok
[INFO] [stdout] test parser::tests::extract_metadata_ignores_tag_pattern ... ok
[INFO] [stdout] test filter::tests::regex_case_insensitive_flag ... ok
[INFO] [stdout] test parser::tests::parse_alias_directive_missing_equals_is_error ... ok
[INFO] [stdout] test parser::tests::parse_cleared_status ... ok
[INFO] [stdout] test filter::tests::single_slash_is_prefix_not_regex ... ok
[INFO] [stdout] test journal::tests::load_circular_include_returns_error ... ok
[INFO] [stdout] test parser::tests::parse_cost_annotation_basic ... ok
[INFO] [stdout] test parser::tests::parse_alias_directive_with_spaces_in_display_name ... ok
[INFO] [stdout] test parser::tests::parse_comment_hash ... ok
[INFO] [stdout] test parser::tests::parse_comment_semicolon ... 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::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_p_directive_missing_commodity ... ok
[INFO] [stdout] test parser::tests::parse_p_directive_missing_amount ... 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::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::transaction_metadata_first_wins_on_duplicate_key ... ok
[INFO] [stdout] test parser::tests::parse_simple_transaction ... ok
[INFO] [stdout] test cmd::tui::tests::tui_app_draw_does_not_panic_wide_terminal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 452 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aledgr-074e6f1d0d2e0525)
[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/agent_native_tests.rs (/opt/rustwide/target/debug/deps/agent_native_tests-886f73166a5109a8)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test check_json_errors ... ok
[INFO] [stdout] test exit_code_file_not_found ... ok
[INFO] [stdout] test balance_csv_columns ... ok
[INFO] [stdout] test balance_csv_data ... ok
[INFO] [stdout] test register_csv_data ... ok
[INFO] [stdout] test serve_check ... ok
[INFO] [stdout] test serve_balance ... ok
[INFO] [stdout] test check_json_clean ... ok
[INFO] [stdout] test exit_code_parse_error ... ok
[INFO] [stdout] test exit_code_check_failure ... ok
[INFO] [stdout] test serve_multi ... ok
[INFO] [stdout] test register_csv_columns ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/al_ext_init_tui_tests.rs (/opt/rustwide/target/debug/deps/al_ext_init_tui_tests-5a134bc15796efa3)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[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 autodetect_falls_back_to_default_aledgr ... ok
[INFO] [stdout] test autodetect_uses_main_al_when_present ... ok
[INFO] [stdout] test autodetect_picks_up_arbitrary_al_file ... ok
[INFO] [stdout] test init_force_overwrites_existing ... ok
[INFO] [stdout] test command_bar_renders_on_narrow_terminal ... ok
[INFO] [stdout] test balance_accepts_aledgr_extension ... ok
[INFO] [stdout] test init_creates_main_al_by_default ... ok
[INFO] [stdout] test init_custom_output_file ... ok
[INFO] [stdout] test autodetect_prefers_main_al_over_default_aledgr ... ok
[INFO] [stdout] test tui_app_loads_aledgr_extension ... ok
[INFO] [stdout] test init_output_contains_key_features ... ok
[INFO] [stdout] test init_output_is_usable_by_balance_command ... ok
[INFO] [stdout] test init_refuses_existing_without_force ... ok
[INFO] [stdout] test register_accepts_aledgr_extension ... ok
[INFO] [stdout] test check_accepts_aledgr_extension ... ok
[INFO] [stdout] test merge_accepts_mixed_extensions ... ok
[INFO] [stdout] test command_bar_unknown_command_shows_error_hint ... ok
[INFO] [stdout] test init_output_is_valid_journal ... ok
[INFO] [stdout] test no_file_shows_welcome_message ... ok
[INFO] [stdout] test command_bar_empty_command_returns_to_dashboard ... ok
[INFO] [stdout] test command_bar_opens_on_colon_key ... ok
[INFO] [stdout] test command_bar_backspace_removes_last_char ... ok
[INFO] [stdout] test command_bar_renders_typed_input ... ok
[INFO] [stdout] test command_bar_esc_closes_and_returns_to_dashboard ... ok
[INFO] [stdout] test view_key_zero_returns_to_dashboard ... 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.14s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/alias_tests.rs (/opt/rustwide/target/debug/deps/alias_tests-f5fd636ac1ef8d90)
[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] [stderr]      Running tests/alphanumeric_commodity_tests.rs (/opt/rustwide/target/debug/deps/alphanumeric_commodity_tests-86666e9c26e50568)
[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] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test balancesheet_realestate ... ok
[INFO] [stdout] test commodity_directive_rejects_spaces ... ok
[INFO] [stdout] test balance_value_conversion_realestate ... ok
[INFO] [stdout] test cashflow_realestate ... ok
[INFO] [stdout] test register_realestate ... ok
[INFO] [stdout] test balance_json_realestate ... ok
[INFO] [stdout] test incomestatement_realestate ... ok
[INFO] [stdout] test register_json_realestate ... ok
[INFO] [stdout] test commodity_directive_allows_underscore_and_digits ... ok
[INFO] [stdout] test commodity_directive_rejects_leading_digit ... ok
[INFO] [stdout] test commodity_directive_valid_alphanumeric ... ok
[INFO] [stdout] test gains_json_realestate ... ok
[INFO] [stdout] test gains_realestate_value_eur ... ok
[INFO] [stdout] test p_directive_alphanumeric_commodity ... ok
[INFO] [stdout] test balance_realestate ... ok
[INFO] [stdout] test check_realestate_fixture ... ok
[INFO] [stdout] test gains_uses_p_directive_alphanumeric ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/budget_tests.rs (/opt/rustwide/target/debug/deps/budget_tests-f40252b142d06fa2)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test budget_february_transport_over_budget ... ok
[INFO] [stdout] test budget_directive_aggregates_sub_accounts ... ok
[INFO] [stdout] test budget_json_and_csv_exclusive ... ok
[INFO] [stdout] test budget_invalid_begin_date_fails ... ok
[INFO] [stdout] test budget_january_dining_over_budget ... ok
[INFO] [stdout] test budget_csv_january_groceries_amounts ... ok
[INFO] [stdout] test budget_csv_correct_row_count ... ok
[INFO] [stdout] test budget_csv_has_header_row ... 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_no_file_exits_nonzero ... ok
[INFO] [stdout] test budget_json_date_filter_returns_only_period_rows ... ok
[INFO] [stdout] test budget_directives_only_zero_actuals ... ok
[INFO] [stdout] test budget_february_filter_excludes_january_only_accounts ... ok
[INFO] [stdout] test budget_january_groceries_amounts_correct ... ok
[INFO] [stdout] test budget_missing_file_exits_nonzero ... ok
[INFO] [stdout] test budget_json_produces_valid_json ... ok
[INFO] [stdout] test budget_no_directives_produces_empty_output ... ok
[INFO] [stdout] test budget_csv_has_budget_columns ... ok
[INFO] [stderr]      Running tests/cashflow_tests.rs (/opt/rustwide/target/debug/deps/cashflow_tests-cfd0563aa61cdde2)
[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_date_filter_shows_all_periods ... ok
[INFO] [stdout] test budget_json_row_has_required_fields ... ok
[INFO] [stdout] test budget_exits_zero_for_valid_file ... ok
[INFO] [stdout] test budget_table_shows_all_budgeted_accounts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test balance_amount_filter_invalid_expression_errors ... ok
[INFO] [stdout] test balance_account_regex_alternation ... ok
[INFO] [stdout] test balance_amount_filter_gte_10000 ... ok
[INFO] [stdout] test cashflow_checking_net_change_full_history ... ok
[INFO] [stdout] test cashflow_shows_asset_accounts ... ok
[INFO] [stdout] test register_account_regex_income_only ... ok
[INFO] [stdout] test cashflow_excludes_income_expense_accounts ... ok
[INFO] [stdout] test cashflow_begin_excludes_earlier_transactions ... ok
[INFO] [stdout] test balance_account_regex_no_match_empty ... ok
[INFO] [stdout] test balance_account_regex_specific_assets ... ok
[INFO] [stdout] test balance_amount_filter_negative_only ... ok
[INFO] [stdout] test register_amount_filter_large_postings ... ok
[INFO] [stdout] test balance_account_regex_anchored_end ... ok
[INFO] [stdout] test balance_account_regex_anchored_start ... ok
[INFO] [stdout] test register_amount_filter_small_postings ... ok
[INFO] [stdout] test cashflow_begin_end_february_only ... ok
[INFO] [stdout] test balance_amount_filter_above_5000 ... ok
[INFO] [stdout] test balance_amount_filter_lte_zero ... ok
[INFO] [stdout] test balance_account_regex_invalid_pattern_errors ... ok
[INFO] [stdout] test cashflow_json_output_valid ... ok
[INFO] [stdout] test cashflow_exits_zero ... ok
[INFO] [stdout] test register_account_regex_alternation ... ok
[INFO] [stdout] test cashflow_before_all_transactions_is_empty_or_zero ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/check_tests.rs (/opt/rustwide/target/debug/deps/check_tests-50c76ea8fd200f9e)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test different_date_not_duplicate ... ok
[INFO] [stdout] test different_amount_not_duplicate ... ok
[INFO] [stdout] test elided_amount_balances_correctly ... ok
[INFO] [stdout] test alice_fixture_passes_check ... ok
[INFO] [stdout] test multiple_imbalanced_txs_all_reported ... ok
[INFO] [stdout] test wrong_balance_assertion_fails ... ok
[INFO] [stdout] test imbalanced_tx_reports_error ... ok
[INFO] [stdout] test duplicate_transaction_warns ... ok
[INFO] [stdout] test different_payee_not_duplicate ... ok
[INFO] [stdout] test correct_balance_assertion_passes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_tests.rs (/opt/rustwide/target/debug/deps/cli_tests-010f31211ad3f1e8)
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test check_imbalanced_tx_fails ... ok
[INFO] [stdout] test balance_basic_known_amount ... ok
[INFO] [stdout] test balance_all_flag_shows_zero_balance ... ok
[INFO] [stdout] test check_bad_assertion_fails ... ok
[INFO] [stdout] test add_inline_append ... ok
[INFO] [stdout] test add_inline_elided_posting ... ok
[INFO] [stdout] test add_inline_imbalanced_exits_nonzero ... ok
[INFO] [stdout] test check_valid_file_passes ... ok
[INFO] [stdout] test balance_multi_commodity ... ok
[INFO] [stdout] test balance_json_output ... ok
[INFO] [stdout] test check_duplicate_warns ... ok
[INFO] [stdout] test balance_account_filter ... ok
[INFO] [stdout] test incomestatement_csv_columns ... ok
[INFO] [stdout] test balance_tree_shows_parent_rollups ... ok
[INFO] [stdout] test balance_value_converts_to_usd ... ok
[INFO] [stdout] test balance_empty_dir_still_errors ... ok
[INFO] [stdout] test import_output_writes_file ... ok
[INFO] [stdout] test import_basic_csv_round_trip ... ok
[INFO] [stdout] test incomestatement_json_structure ... ok
[INFO] [stdout] test import_custom_date_format ... ok
[INFO] [stdout] test incomestatement_shows_expenses_section ... ok
[INFO] [stdout] test incomestatement_date_range ... ok
[INFO] [stdout] test incomestatement_json_csv_exclusive ... ok
[INFO] [stdout] test balance_zero_balance_suppressed_by_default ... ok
[INFO] [stdout] test incomestatement_shows_income_section ... ok
[INFO] [stdout] test register_account_filter ... ok
[INFO] [stdout] test register_json_output ... ok
[INFO] [stdout] test register_all_rows ... ok
[INFO] [stdout] test import_bad_row_emits_comment ... ok
[INFO] [stdout] test incomestatement_shows_net_income ... ok
[INFO] [stdout] test register_running_balance_present ... ok
[INFO] [stdout] test no_args_empty_dir_prints_welcome_and_exits_zero ... ok
[INFO] [stdout] test register_begin_date_filter ... ok
[INFO] [stderr]      Running tests/config_file_tests.rs (/opt/rustwide/target/debug/deps/config_file_tests-f51e16e1fb0d2b76)
[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.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test malformed_toml_no_crash_balance ... ok
[INFO] [stdout] test config_price_file_auto_loaded_in_balance_exchange ... ok
[INFO] [stdout] test config_absent_register_succeeds ... ok
[INFO] [stdout] test partial_config_general_only_no_error ... ok
[INFO] [stdout] test malformed_toml_no_crash_register ... ok
[INFO] [stdout] test partial_config_general_only_register_no_error ... ok
[INFO] [stdout] test config_price_file_missing_no_error ... ok
[INFO] [stdout] test config_price_file_missing_register_no_error ... ok
[INFO] [stdout] test malformed_toml_no_crash_check ... ok
[INFO] [stdout] test config_absent_balance_succeeds ... ok
[INFO] [stdout] test partial_config_prices_only_no_error ... ok
[INFO] [stdout] test config_price_file_not_loaded_when_absent ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/consolidate_split_tests.rs (/opt/rustwide/target/debug/deps/consolidate_split_tests-79bbe49f3ae2cfeb)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test consolidate_missing_file_exits_3 ... ok
[INFO] [stdout] test consolidate_merges_includes ... ok
[INFO] [stdout] test split_output_sorted_by_date ... ok
[INFO] [stdout] test split_by_month_creates_month_files ... ok
[INFO] [stdout] test split_missing_file_exits_3 ... ok
[INFO] [stdout] test split_by_year_creates_year_files ... ok
[INFO] [stdout] test split_single_group_is_noop ... ok
[INFO] [stdout] test consolidate_no_includes_is_noop ... ok
[INFO] [stdout] test consolidate_delete_sources ... ok
[INFO] [stdout] test round_trip_split_then_consolidate ... ok
[INFO] [stdout] test consolidate_sorts_by_date ... ok
[INFO] [stdout] test split_invalid_criterion_exits_nonzero ... ok
[INFO] [stdout] test split_by_account_groups_correctly ... ok
[INFO] [stdout] test split_preserves_declarations ... ok
[INFO] [stdout] test consolidate_multiple_includes_all_merged ... ok
[INFO] [stderr]      Running tests/convert_tests.rs (/opt/rustwide/target/debug/deps/convert_tests-ef0b3e1bead3c002)
[INFO] [stdout] test round_trip_by_month_transaction_count ... 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] [stdout] 
[INFO] [stdout] running 87 tests
[INFO] [stdout] test beancount_account_names_lowercased_in_postings ... ok
[INFO] [stdout] test beancount_close_directive_ignored ... ok
[INFO] [stdout] test beancount_commodity_directive_recorded ... ok
[INFO] [stdout] test beancount_empty_file_produces_empty_journal ... ok
[INFO] [stdout] test beancount_elided_amount_posting ... ok
[INFO] [stdout] test beancount_malformed_one_posting_returns_error ... 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_negative_amount_posting ... ok
[INFO] [stdout] test beancount_payee_and_narration_joined_with_pipe ... ok
[INFO] [stdout] test beancount_single_transaction_cleared ... ok
[INFO] [stdout] test beancount_unicode_payee_name ... ok
[INFO] [stdout] test convert_dispatch_selects_beancount_parser ... ok
[INFO] [stdout] test beancount_round_trip_via_format_and_reparse ... ok
[INFO] [stdout] test beancount_txn_keyword_produces_uncleared ... ok
[INFO] [stdout] test convert_dispatch_selects_hledger_parser ... ok
[INFO] [stdout] test beancount_open_directive_adds_account_lowercased ... ok
[INFO] [stdout] test beancount_pending_transaction_exclamation ... ok
[INFO] [stdout] test convert_dispatch_selects_ledger_parser ... ok
[INFO] [stdout] test hledger_commodity_iso_suffix_form ... ok
[INFO] [stdout] test hledger_account_names_with_multiple_colons ... ok
[INFO] [stdout] test beancount_unicode_in_account_name ... ok
[INFO] [stdout] test hledger_balance_assertion_stripped ... ok
[INFO] [stdout] test beancount_multi_posting_three_accounts ... ok
[INFO] [stdout] test hledger_dot_date_separator ... ok
[INFO] [stdout] test hledger_comma_separated_amount_stripped ... ok
[INFO] [stdout] test hledger_elided_amount_posting ... ok
[INFO] [stdout] test hledger_account_directive_recorded ... ok
[INFO] [stdout] test hledger_cleared_status_marker ... ok
[INFO] [stdout] test hledger_multiline_comment_block_skipped ... ok
[INFO] [stdout] test hledger_multi_posting_three_accounts ... ok
[INFO] [stdout] test hledger_malformed_one_posting_skipped_gracefully ... ok
[INFO] [stdout] test hledger_commodity_prefix_dollar_to_usd ... ok
[INFO] [stdout] test hledger_multiple_transactions ... ok
[INFO] [stdout] test hledger_commodity_prefix_euro_to_eur ... ok
[INFO] [stdout] test hledger_effective_date_preserved ... ok
[INFO] [stdout] test hledger_alias_directive_skipped ... ok
[INFO] [stdout] test hledger_inline_comment_on_posting_preserved ... ok
[INFO] [stdout] test hledger_pending_status_marker ... ok
[INFO] [stdout] test hledger_single_transaction_dash_dates ... ok
[INFO] [stdout] test hledger_underscore_separated_amount_stripped ... ok
[INFO] [stdout] test hledger_uncleared_status_is_default ... ok
[INFO] [stdout] test hledger_virtual_postings_skipped ... ok
[INFO] [stdout] test hledger_unicode_payee_name ... ok
[INFO] [stdout] test ledger_cleared_status_marker ... ok
[INFO] [stdout] test hledger_unicode_in_account_name ... ok
[INFO] [stdout] test hledger_round_trip_via_format_and_reparse ... ok
[INFO] [stdout] test hledger_slash_date_separator ... ok
[INFO] [stdout] test ledger_commodity_prefix_btc_to_btc ... ok
[INFO] [stdout] test ledger_commodity_iso_suffix_form ... ok
[INFO] [stdout] test ledger_balance_assertion_stripped ... ok
[INFO] [stdout] test ledger_account_directive_recorded ... ok
[INFO] [stdout] test ledger_account_names_with_multiple_colons ... ok
[INFO] [stdout] test ledger_commodity_prefix_pound_to_gbp ... ok
[INFO] [stdout] test beancount_unsupported_directives_skipped_no_error ... ok
[INFO] [stdout] test ledger_commodity_prefix_dollar_to_usd ... ok
[INFO] [stdout] test ledger_comma_separated_amount_stripped ... ok
[INFO] [stdout] test ledger_elided_amount_posting ... ok
[INFO] [stdout] test ledger_commodity_prefix_euro_to_eur ... ok
[INFO] [stdout] test ledger_empty_file_produces_empty_journal ... ok
[INFO] [stdout] test ledger_comma_with_symbol_prefix ... ok
[INFO] [stdout] test ledger_inline_comment_on_posting_preserved ... ok
[INFO] [stdout] test ledger_header_comment_stripped_from_payee ... ok
[INFO] [stdout] test ledger_multiple_transactions ... ok
[INFO] [stdout] test ledger_malformed_one_posting_skipped_gracefully ... ok
[INFO] [stdout] test ledger_price_annotation_preserved ... ok
[INFO] [stdout] test ledger_single_transaction_dash_dates ... ok
[INFO] [stdout] test ledger_pending_status_marker ... ok
[INFO] [stdout] test ledger_top_level_comments_skipped ... ok
[INFO] [stdout] test ledger_price_annotation_round_trip ... ok
[INFO] [stdout] test ledger_uncleared_status_is_default ... ok
[INFO] [stdout] test ledger_unicode_payee_name ... ok
[INFO] [stdout] test ledger_single_transaction_slash_dates ... ok
[INFO] [stdout] test ledger_unicode_in_account_name ... ok
[INFO] [stdout] test ledger_virtual_postings_skipped ... ok
[INFO] [stdout] test ledger_total_price_annotation_preserved ... ok
[INFO] [stdout] test same_data_all_three_formats_produce_equivalent_journals ... ok
[INFO] [stdout] test ledger_value_expression_skipped_gracefully ... ok
[INFO] [stdout] test ledger_round_trip_via_format_and_reparse ... ok
[INFO] [stdout] test hledger_empty_file_produces_empty_journal ... ok
[INFO] [stdout] test hledger_double_semicolon_comment_lines_skipped ... ok
[INFO] [stdout] test ledger_blank_lines_only_produces_empty_journal ... ok
[INFO] [stdout] test beancount_multiple_transactions ... ok
[INFO] [stdout] test ledger_effective_date_preserved ... ok
[INFO] [stdout] test ledger_commodity_prefix_yen_to_jpy ... ok
[INFO] [stdout] test ledger_multi_posting_three_accounts ... ok
[INFO] [stderr]      Running tests/csv_rules_integration_tests.rs (/opt/rustwide/target/debug/deps/csv_rules_integration_tests-94f6c22453ae0f0d)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 87 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test rules_file_column_alias_directives ... ok
[INFO] [stdout] test no_rules_file_auto_detect_falls_back_to_defaults ... ok
[INFO] [stdout] test rules_file_invalid_regex_exits_nonzero ... ok
[INFO] [stdout] test rules_file_unknown_directive_exits_nonzero ... ok
[INFO] [stdout] test rules_if_block_assigns_account ... ok
[INFO] [stdout] test rules_file_indented_outside_if_exits_nonzero ... ok
[INFO] [stdout] test rules_file_comments_ignored ... ok
[INFO] [stdout] test rules_file_sets_column_mappings ... ok
[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_file_auto_detected_by_csv_stem ... ok
[INFO] [stdout] test rules_case_insensitive_match ... ok
[INFO] [stdout] test rules_last_matching_if_wins ... ok
[INFO] [stdout] test rules_regex_alternation ... ok
[INFO] [stdout] test rules_file_not_found_exits_nonzero ... ok
[INFO] [stdout] test cli_arg_overrides_rules_commodity ... ok
[INFO] [stdout] test rules_if_block_renames_payee ... ok
[INFO] [stderr]      Running tests/dx_tests.rs (/opt/rustwide/target/debug/deps/dx_tests-01d63b64e3ea7bd4)
[INFO] [stdout] test cli_arg_overrides_rules_account ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test completions_fish_contains_subcommands ... ok
[INFO] [stdout] test completions_unknown_shell_fails ... ok
[INFO] [stdout] test completions_zsh_exits_zero ... ok
[INFO] [stdout] test completions_bash_contains_function ... ok
[INFO] [stdout] test balancesheet_format_json_is_valid ... ok
[INFO] [stdout] test completions_zsh_contains_subcommands ... ok
[INFO] [stdout] test completions_zsh_starts_with_compdef ... ok
[INFO] [stdout] test balance_format_table_matches_default ... ok
[INFO] [stdout] test register_format_csv_has_header ... ok
[INFO] [stdout] test gen_man_aledgr1_has_th_header ... ok
[INFO] [stdout] test incomestatement_format_json_is_valid ... ok
[INFO] [stdout] test gen_man_default_output_dir ... ok
[INFO] [stdout] test register_format_json_is_valid ... ok
[INFO] [stdout] test gen_man_writes_files_to_output_dir ... ok
[INFO] [stdout] test balance_format_unknown_fails ... ok
[INFO] [stdout] test balance_format_and_json_flag_are_exclusive ... ok
[INFO] [stdout] test completions_bash_exits_zero ... ok
[INFO] [stdout] test completions_fish_exits_zero ... ok
[INFO] [stdout] test balance_format_json_matches_json_flag ... ok
[INFO] [stdout] test gen_man_produces_main_man_page ... ok
[INFO] [stdout] test completions_fish_uses_complete_syntax ... ok
[INFO] [stdout] test balance_format_csv_matches_csv_flag ... ok
[INFO] [stdout] test gen_man_produces_subcommand_pages ... ok
[INFO] [stdout] test completions_bash_contains_subcommands ... ok
[INFO] [stdout] test gen_man_aledgr1_has_name_section ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/fmt_tests.rs (/opt/rustwide/target/debug/deps/fmt_tests-c822ca05cea3bce9)
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[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_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_is_idempotent ... ok
[INFO] [stdout] test fmt_in_place_on_already_formatted_file_exits_0 ... ok
[INFO] [stdout] test fmt_preserves_top_level_comment ... ok
[INFO] [stdout] test fmt_sorts_commodities_before_accounts ... ok
[INFO] [stdout] test fmt_right_aligns_posting_amounts ... ok
[INFO] [stdout] test fmt_preserves_inline_posting_comment ... ok
[INFO] [stdout] test fmt_diff_does_not_modify_file ... ok
[INFO] [stdout] test fmt_check_exits_1_when_unformatted ... ok
[INFO] [stdout] test fmt_no_args_does_not_touch_non_al_files ... ok
[INFO] [stdout] test fmt_no_args_discovers_and_formats_al_files ... ok
[INFO] [stdout] test fmt_no_args_recurses_into_subdirectories ... ok
[INFO] [stdout] test fmt_diff_prints_diff_output ... ok
[INFO] [stdout] test fmt_accepts_multiple_file_arguments ... 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_check_no_args_exits_1_when_any_file_unformatted ... ok
[INFO] [stdout] test fmt_in_place_rewrites_file_and_exits_0 ... 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.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/forecast_tests.rs (/opt/rustwide/target/debug/deps/forecast_tests-675aec4953df1d84)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test forecast_zero_months_produces_empty_output ... ok
[INFO] [stdout] test forecast_weekly_generates_weekly_transactions ... ok
[INFO] [stdout] test forecast_monthly_generates_n_months ... ok
[INFO] [stdout] test balance_forecast_flag_without_months_has_default_or_errors ... ok
[INFO] [stdout] test periodic_unknown_period_is_error ... ok
[INFO] [stdout] test forecast_json_output_is_valid ... ok
[INFO] [stdout] test forecast_quarterly_generates_four_per_year ... ok
[INFO] [stdout] test forecast_no_periodic_directives_produces_empty_output ... ok
[INFO] [stdout] test balance_forecast_flag_includes_projected_transactions ... ok
[INFO] [stdout] test periodic_all_period_keywords_parse ... ok
[INFO] [stdout] test periodic_monthly_directive_parses ... ok
[INFO] [stderr]      Running tests/gains_tests.rs (/opt/rustwide/target/debug/deps/gains_tests-b4e16ca6337d315d)
[INFO] [stdout] test forecast_yearly_generates_one_per_year ... ok
[INFO] [stdout] test register_forecast_flag_includes_projected_rows ... ok
[INFO] [stdout] test forecast_output_is_valid_journal_syntax ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test gains_missing_value_flag_fails ... ok
[INFO] [stdout] test gains_account_filter ... ok
[INFO] [stdout] test gains_goog_cost_basis ... ok
[INFO] [stdout] test gains_exits_zero ... ok
[INFO] [stdout] test gains_aapl_gain_loss ... ok
[INFO] [stdout] test gains_totals ... ok
[INFO] [stdout] test gains_aapl_cost_basis ... ok
[INFO] [stdout] test gains_csv_output ... ok
[INFO] [stdout] test gains_goog_market_value_and_gain ... ok
[INFO] [stdout] test gains_json_has_expected_keys ... ok
[INFO] [stdout] test gains_json_valid ... ok
[INFO] [stdout] test gains_no_price_data_does_not_crash ... ok
[INFO] [stdout] test gains_json_csv_mutually_exclusive ... ok
[INFO] [stdout] test gains_end_date_excludes_later_purchases ... ok
[INFO] [stdout] test gains_human_output_contains_accounts ... ok
[INFO] [stdout] test gains_aapl_market_value ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/grammar_tests.rs (/opt/rustwide/target/debug/deps/grammar_tests-879d0aa2b10b8951)
[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_comment_scope_is_line_comment ... ok
[INFO] [stdout] test grammar_file_exists ... ok
[INFO] [stdout] test grammar_has_account_pattern ... ok
[INFO] [stdout] test grammar_has_amount_pattern ... ok
[INFO] [stdout] test grammar_has_comment_pattern ... ok
[INFO] [stdout] test grammar_has_commodity_pattern ... ok
[INFO] [stdout] test grammar_has_date_pattern ... ok
[INFO] [stdout] test grammar_is_valid_json ... ok
[INFO] [stdout] test vscode_package_json_exists ... ok
[INFO] [stdout] test grammar_has_required_top_level_keys ... ok
[INFO] [stdout] test vscode_package_json_declares_aledgr_grammar ... ok
[INFO] [stdout] test vscode_package_json_valid ... ok
[INFO] [stdout] test grammar_scope_name_ends_with_aledgr ... ok
[INFO] [stdout] test grammar_name_contains_aledgr ... ok
[INFO] [stdout] test grammar_date_scope_contains_date ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/homebrew_tests.rs (/opt/rustwide/target/debug/deps/homebrew_tests-3e2ecc4f64c56bc9)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test formula_has_desc ... ok
[INFO] [stdout] test formula_has_install_method ... ok
[INFO] [stdout] test formula_file_exists ... ok
[INFO] [stdout] test formula_has_mit_license ... ok
[INFO] [stdout] test formula_has_test_block ... ok
[INFO] [stdout] test formula_has_url ... ok
[INFO] [stdout] test formula_has_sha256 ... ok
[INFO] [stdout] test formula_install_installs_binary ... ok
[INFO] [stdout] test formula_is_a_formula_class ... ok
[INFO] [stdout] test formula_test_block_asserts_output ... ok
[INFO] [stdout] test formula_test_block_invokes_binary ... ok
[INFO] [stdout] test formula_version_matches_cargo ... ok
[INFO] [stdout] test formula_has_homepage ... ok
[INFO] [stdout] test aledgr_binary_version_flag_exits_zero ... ok
[INFO] [stdout] test aledgr_binary_help_exits_zero ... ok
[INFO] [stdout] test aledgr_binary_help_lists_subcommands ... ok
[INFO] [stderr] error: test failed, to rerun pass `--test homebrew_tests`
[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' (1122) 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:     0x60a2817806ba - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x60a2817806ba - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x60a2817806ba - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x60a2817806ba - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x60a2817945aa - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x60a2817945aa - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x60a281784f12 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x60a281784f12 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x60a28175f0ef - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x60a28175f0ef - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x60a281778809 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x60a281714a0c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x60a281714a0c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x60a2817789c2 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x60a2817789c2 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x60a28175f1a8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x60a2817569f9 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x60a28175febd - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x60a281794c9c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x60a2816fcde0 - homebrew_tests[f8daadb63f5035bc]::aledgr_binary_version_matches_cargo
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/homebrew_tests.rs:312:5
[INFO] [stdout]   20:     0x60a2816fab67 - homebrew_tests[f8daadb63f5035bc]::aledgr_binary_version_matches_cargo::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/homebrew_tests.rs:297:41
[INFO] [stdout]   21:     0x60a281707b96 - <homebrew_tests[f8daadb63f5035bc]::aledgr_binary_version_matches_cargo::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x60a281707ceb - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x60a281707ceb - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x60a2817154db - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x60a2817154db - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x60a2817154db - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x60a2817154db - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x60a2817154db - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x60a2817154db - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x60a2817154db - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x60a28170feb4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x60a28170feb4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x60a2817180e2 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x60a2817180e2 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x60a2817180e2 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x60a2817180e2 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x60a2817180e2 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x60a2817180e2 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x60a2817180e2 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x60a28177fc6f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   41:     0x60a28177fc6f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x740a17aecaa4 - <unknown>
[INFO] [stdout]   43:     0x740a17b79a64 - clone
[INFO] [stdout]   44:                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.06s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b9b77e7853fde3333813b8e67844201321e8d9c20ca9fb40ae6c0d8da2709297", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9b77e7853fde3333813b8e67844201321e8d9c20ca9fb40ae6c0d8da2709297", kill_on_drop: false }`
[INFO] [stdout] b9b77e7853fde3333813b8e67844201321e8d9c20ca9fb40ae6c0d8da2709297
