[INFO] fetching crate sheetkit-core 0.5.1... [INFO] testing sheetkit-core-0.5.1 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate sheetkit-core 0.5.1 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate sheetkit-core 0.5.1 [INFO] finished tweaking crates.io crate sheetkit-core 0.5.1 [INFO] tweaked toml for crates.io crate sheetkit-core 0.5.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate sheetkit-core 0.5.1 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate sheetkit-core 0.5.1 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded zopfli v0.8.3 [INFO] [stderr] Downloaded ecb v0.1.2 [INFO] [stderr] Downloaded clap v4.6.1 [INFO] [stderr] Downloaded cfb v0.10.0 [INFO] [stderr] Downloaded sheetkit-xml v0.5.1 [INFO] [stderr] Downloaded zip v2.4.2 [INFO] [stderr] Downloaded quick-xml v0.36.2 [INFO] [stderr] Downloaded derive_arbitrary v1.4.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 392aa7650c8bbaca383de0a52a944277682fbded9fbb9442dee22ca9c506038e [INFO] running `Command { std: "docker" "start" "-a" "392aa7650c8bbaca383de0a52a944277682fbded9fbb9442dee22ca9c506038e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "392aa7650c8bbaca383de0a52a944277682fbded9fbb9442dee22ca9c506038e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "392aa7650c8bbaca383de0a52a944277682fbded9fbb9442dee22ca9c506038e", kill_on_drop: false }` [INFO] [stdout] 392aa7650c8bbaca383de0a52a944277682fbded9fbb9442dee22ca9c506038e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8dad52cdb47d87e44f0d62cb680e6647152f67d05aa2f61dd0bf19713d463d58 [INFO] running `Command { std: "docker" "start" "-a" "8dad52cdb47d87e44f0d62cb680e6647152f67d05aa2f61dd0bf19713d463d58", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling zip v2.4.2 [INFO] [stderr] Compiling bumpalo v3.20.2 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling uuid v1.23.1 [INFO] [stderr] Compiling zopfli v0.8.3 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling cfb v0.10.0 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling quick-xml v0.36.2 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling sheetkit-xml v0.5.1 [INFO] [stderr] Compiling sheetkit-core v0.5.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 10s [INFO] running `Command { std: "docker" "inspect" "8dad52cdb47d87e44f0d62cb680e6647152f67d05aa2f61dd0bf19713d463d58", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8dad52cdb47d87e44f0d62cb680e6647152f67d05aa2f61dd0bf19713d463d58", kill_on_drop: false }` [INFO] [stdout] 8dad52cdb47d87e44f0d62cb680e6647152f67d05aa2f61dd0bf19713d463d58 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 866e9557f4377202717ec16672a8e197497543eb5dcf5a69c292a2381e23e4c5 [INFO] running `Command { std: "docker" "start" "-a" "866e9557f4377202717ec16672a8e197497543eb5dcf5a69c292a2381e23e4c5", kill_on_drop: false }` [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling quick-xml v0.36.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling zip v2.4.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling sheetkit-xml v0.5.1 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling sheetkit-core v0.5.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 46s [INFO] running `Command { std: "docker" "inspect" "866e9557f4377202717ec16672a8e197497543eb5dcf5a69c292a2381e23e4c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "866e9557f4377202717ec16672a8e197497543eb5dcf5a69c292a2381e23e4c5", kill_on_drop: false }` [INFO] [stdout] 866e9557f4377202717ec16672a8e197497543eb5dcf5a69c292a2381e23e4c5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b2a77fc1a4f96531647bde92a874542e3b9cabae1dd06e2ba05d949e2d4a1372 [INFO] running `Command { std: "docker" "start" "-a" "b2a77fc1a4f96531647bde92a874542e3b9cabae1dd06e2ba05d949e2d4a1372", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sheetkit_core-a38d5590380e65a0) [INFO] [stdout] [INFO] [stdout] running 1873 tests [INFO] [stdout] test cell::tests::test_cell_value_from_i32 ... ok [INFO] [stdout] test cell::tests::test_cell_value_date_display_with_time ... ok [INFO] [stdout] test cell::tests::test_cell_value_from_i64 ... ok [INFO] [stdout] test cell::tests::test_cell_value_from_naive_date ... ok [INFO] [stdout] test cell::tests::test_cell_value_from_str ... ok [INFO] [stdout] test cell::tests::test_cell_value_from_naive_datetime ... ok [INFO] [stdout] test cell::tests::test_cell_value_from_string ... ok [INFO] [stdout] test cell::tests::test_cell_value_default_is_empty ... ok [INFO] [stdout] test cell::tests::test_date_roundtrip ... ok [INFO] [stdout] test cell::tests::test_cell_value_from_bool ... ok [INFO] [stdout] test cell::tests::test_cell_value_date_display_date_only ... ok [INFO] [stdout] test cell::tests::test_cell_value_display ... ok [INFO] [stdout] test cell::tests::test_cell_value_from_f64 ... ok [INFO] [stdout] test cell::tests::test_date_to_serial_feb_28_1900 ... ok [INFO] [stdout] test cell::tests::test_date_to_serial_jan_1_1970 ... ok [INFO] [stdout] test cell::tests::test_date_to_serial_jan_1_2000 ... ok [INFO] [stdout] test cell::tests::test_date_to_serial_jan_1_1900 ... ok [INFO] [stdout] test cell::tests::test_date_early_dates_before_leap_bug ... ok [INFO] [stdout] test cell::tests::test_date_to_serial_mar_1_1900_accounts_for_leap_year_bug ... ok [INFO] [stdout] test cell::tests::test_is_date_format_code ... ok [INFO] [stdout] test cell::tests::test_serial_to_date_feb_28_1900 ... ok [INFO] [stdout] test cell::tests::test_is_date_num_fmt ... ok [INFO] [stdout] test cell::tests::test_serial_to_date_60_phantom_leap_day ... ok [INFO] [stdout] test cell::tests::test_datetime_roundtrip ... ok [INFO] [stdout] test cell::tests::test_datetime_to_serial_noon ... ok [INFO] [stdout] test cell::tests::test_datetime_to_serial_with_time ... ok [INFO] [stdout] test cell::tests::test_serial_to_date_jan_1_1900 ... ok [INFO] [stdout] test cell::tests::test_serial_to_date_jan_1_2000 ... ok [INFO] [stdout] test cell::tests::test_serial_to_datetime_noon ... ok [INFO] [stdout] test cell_ref_shift::tests::test_shift_cell_refs_with_sheet_prefix ... ok [INFO] [stdout] test chart::tests::test_area_3d ... ok [INFO] [stdout] test chart::tests::test_area_chart ... ok [INFO] [stdout] test chart::tests::test_area_percent_stacked ... ok [INFO] [stdout] test chart::tests::test_axes_present_for_non_pie ... ok [INFO] [stdout] test chart::tests::test_area_stacked ... ok [INFO] [stdout] test cell_ref_shift::tests::test_shift_cell_refs_basic ... ok [INFO] [stdout] test chart::tests::test_bar_3d ... ok [INFO] [stdout] test cell_ref_shift::tests::test_shift_cell_refs_preserves_absolute ... ok [INFO] [stdout] test chart::tests::test_bar_3d_percent_stacked ... ok [INFO] [stdout] test chart::tests::test_area_3d_percent_stacked ... ok [INFO] [stdout] test cell::tests::test_serial_to_date_mar_1_1900 ... ok [INFO] [stdout] test chart::tests::test_area_3d_stacked ... ok [INFO] [stdout] test cell::tests::test_serial_to_date_invalid ... ok [INFO] [stdout] test chart::tests::test_bar_of_pie ... ok [INFO] [stdout] test chart::tests::test_bar_3d_stacked ... ok [INFO] [stdout] test chart::tests::test_bubble ... ok [INFO] [stdout] test chart::tests::test_bar_percent_stacked ... ok [INFO] [stdout] test chart::tests::test_bubble_no_3d_flag ... ok [INFO] [stdout] test chart::tests::test_build_chart_xml_col ... ok [INFO] [stdout] test chart::tests::test_build_chart_xml_bar ... ok [INFO] [stdout] test chart::tests::test_col_3d_cone ... ok [INFO] [stdout] test chart::tests::test_col_3d_cone_stacked ... ok [INFO] [stdout] test chart::tests::test_col_3d_cone_percent_stacked ... ok [INFO] [stdout] test chart::tests::test_chart_type_enum_coverage ... ok [INFO] [stdout] test chart::tests::test_col_3d ... ok [INFO] [stdout] test chart::tests::test_col_3d_cylinder_percent_stacked ... ok [INFO] [stdout] test chart::tests::test_col_3d_cylinder ... ok [INFO] [stdout] test chart::tests::test_col_3d_percent_stacked ... ok [INFO] [stdout] test chart::tests::test_col_3d_no_shape ... ok [INFO] [stdout] test chart::tests::test_bubble_3d ... ok [INFO] [stdout] test chart::tests::test_col_3d_cylinder_stacked ... ok [INFO] [stdout] test chart::tests::test_col_3d_pyramid_percent_stacked ... ok [INFO] [stdout] test chart::tests::test_col_3d_stacked ... ok [INFO] [stdout] test chart::tests::test_col_line_combo ... ok [INFO] [stdout] test chart::tests::test_col_line_percent_stacked_combo ... ok [INFO] [stdout] test chart::tests::test_col_3d_pyramid ... ok [INFO] [stdout] test chart::tests::test_col_line_stacked_combo ... ok [INFO] [stdout] test chart::tests::test_col_percent_stacked ... ok [INFO] [stdout] test chart::tests::test_col_stacked ... ok [INFO] [stdout] test chart::tests::test_contour ... ok [INFO] [stdout] test chart::tests::test_line_percent_stacked ... ok [INFO] [stdout] test chart::tests::test_line ... ok [INFO] [stdout] test chart::tests::test_line_stacked ... ok [INFO] [stdout] test chart::tests::test_no_legend ... ok [INFO] [stdout] test chart::tests::test_non_3d_no_view ... ok [INFO] [stdout] test chart::tests::test_doughnut ... ok [INFO] [stdout] test chart::tests::test_multiple_series ... ok [INFO] [stdout] test chart::tests::test_line_3d ... ok [INFO] [stdout] test chart::tests::test_pie ... ok [INFO] [stdout] test chart::tests::test_drawing_with_chart ... ok [INFO] [stdout] test chart::tests::test_bubble_no_sizes ... ok [INFO] [stdout] test chart::tests::test_pie_3d ... ok [INFO] [stdout] test chart::tests::test_col_3d_pyramid_stacked ... ok [INFO] [stdout] test chart::tests::test_pie_of_pie ... ok [INFO] [stdout] test chart::tests::test_radar_filled ... ok [INFO] [stdout] test chart::tests::test_radar ... ok [INFO] [stdout] test chart::tests::test_radar_marker ... ok [INFO] [stdout] test chart::tests::test_bar_stacked ... ok [INFO] [stdout] test chart::tests::test_series_cell_ref_name ... ok [INFO] [stdout] test chart::tests::test_series_literal_name ... ok [INFO] [stdout] test chart::tests::test_series_empty_name ... ok [INFO] [stdout] test chart::tests::test_scatter_smooth ... ok [INFO] [stdout] test chart::tests::test_stock_vhlc ... ok [INFO] [stdout] test chart::tests::test_stock_vohlc ... ok [INFO] [stdout] test chart::tests::test_scatter_empty_categories ... ok [INFO] [stdout] test chart::tests::test_scatter_line ... ok [INFO] [stdout] test chart::tests::test_surface ... ok [INFO] [stdout] test chart::tests::test_surface_3d ... ok [INFO] [stdout] test chart::tests::test_scatter_explicit_x ... ok [INFO] [stdout] test chart::tests::test_scatter ... ok [INFO] [stdout] test chart::tests::test_wireframe_contour ... ok [INFO] [stdout] test chart::tests::test_surface_wireframe_3d ... ok [INFO] [stdout] test col::tests::test_get_col_outline_level_after_set ... ok [INFO] [stdout] test col::tests::test_get_col_outline_level_invalid_column_returns_error ... ok [INFO] [stdout] test col::tests::test_get_col_style_after_set ... ok [INFO] [stdout] test chart::tests::test_view_3d_auto_defaults ... ok [INFO] [stdout] test col::tests::test_get_col_style_default_is_zero ... ok [INFO] [stdout] test col::tests::test_get_col_visible_after_hide ... ok [INFO] [stdout] test col::tests::test_get_col_visible_after_hide_then_show ... ok [INFO] [stdout] test col::tests::test_get_col_visible_default_is_true ... ok [INFO] [stdout] test col::tests::test_get_col_visible_invalid_column_returns_error ... ok [INFO] [stdout] test col::tests::test_get_col_width_nonexistent_returns_none ... ok [INFO] [stdout] test col::tests::test_get_cols_empty_sheet ... ok [INFO] [stdout] test col::tests::test_get_cols_sorted_correctly ... ok [INFO] [stdout] test col::tests::test_get_cols_transposes_row_data ... ok [INFO] [stdout] test col::tests::test_get_cols_with_shared_strings ... ok [INFO] [stdout] test col::tests::test_insert_cols_at_column_a ... ok [INFO] [stdout] test col::tests::test_insert_cols_count_zero_is_noop ... ok [INFO] [stdout] test col::tests::test_insert_cols_on_empty_sheet ... ok [INFO] [stdout] test col::tests::test_insert_cols_shifts_cells_right ... ok [INFO] [stdout] test col::tests::test_insert_cols_shifts_col_definitions ... ok [INFO] [stdout] test col::tests::test_overwrite_col_width ... ok [INFO] [stdout] test col::tests::test_remove_col_invalid_cell_reference_returns_error ... ok [INFO] [stdout] test col::tests::test_remove_col_invalid_column_returns_error ... ok [INFO] [stdout] test col::tests::test_remove_col_shifts_cells_left ... ok [INFO] [stdout] test col::tests::test_remove_col_shrinks_range_ending_at_removed_column ... ok [INFO] [stdout] test col::tests::test_remove_col_shrinks_range_spanning_removed_column ... ok [INFO] [stdout] test col::tests::test_remove_col_with_col_definitions ... ok [INFO] [stdout] test col::tests::test_remove_first_col ... ok [INFO] [stdout] test col::tests::test_set_and_get_col_width ... ok [INFO] [stdout] test col::tests::test_set_col_hidden ... ok [INFO] [stdout] test col::tests::test_set_col_outline_level ... ok [INFO] [stdout] test col::tests::test_set_col_outline_level_exceeds_max_returns_error ... ok [INFO] [stdout] test col::tests::test_set_col_outline_level_max_valid ... ok [INFO] [stdout] test col::tests::test_set_col_outline_level_zero_clears ... ok [INFO] [stdout] test col::tests::test_set_col_style_applies_style ... ok [INFO] [stdout] test col::tests::test_get_col_style_invalid_column_returns_error ... ok [INFO] [stdout] test col::tests::test_set_col_style_creates_cols_container ... ok [INFO] [stdout] test chart::tests::test_view_3d_explicit ... ok [INFO] [stdout] test col::tests::test_get_col_outline_level_after_clear ... ok [INFO] [stdout] test col::tests::test_set_col_style_invalid_column_returns_error ... ok [INFO] [stdout] test col::tests::test_set_col_style_overwrite ... ok [INFO] [stdout] test col::tests::test_set_col_visible_clears_hidden ... ok [INFO] [stdout] test col::tests::test_set_col_width_max_is_valid ... ok [INFO] [stdout] test col::tests::test_set_col_width_negative_returns_error ... ok [INFO] [stdout] test col::tests::test_set_col_width_creates_cols_container ... ok [INFO] [stdout] test col::tests::test_set_col_width_exceeds_max_returns_error ... ok [INFO] [stdout] test col::tests::test_set_multiple_col_widths ... ok [INFO] [stdout] test comment::tests::test_add_comment ... ok [INFO] [stdout] test comment::tests::test_comments_xml_roundtrip ... ok [INFO] [stdout] test comment::tests::test_get_comment ... ok [INFO] [stdout] test comment::tests::test_get_comment_nonexistent ... ok [INFO] [stdout] test comment::tests::test_get_comment_wrong_cell ... ok [INFO] [stdout] test comment::tests::test_multiple_comments_different_cells ... ok [INFO] [stdout] test comment::tests::test_overwrite_comment_on_same_cell ... ok [INFO] [stdout] test comment::tests::test_remove_comment ... ok [INFO] [stdout] test comment::tests::test_remove_nonexistent_comment ... ok [INFO] [stdout] test comment::tests::test_remove_one_of_multiple_comments ... ok [INFO] [stdout] test col::tests::test_set_col_width_invalid_column_returns_error ... ok [INFO] [stdout] test col::tests::test_set_col_width_zero_is_valid ... ok [INFO] [stdout] test conditional::tests::test_below_average ... ok [INFO] [stdout] test conditional::tests::test_above_average ... ok [INFO] [stdout] test conditional::tests::test_begins_with ... ok [INFO] [stdout] test conditional::tests::test_cell_is_between ... ok [INFO] [stdout] test conditional::tests::test_cell_is_greater_than ... ok [INFO] [stdout] test conditional::tests::test_cell_is_less_than ... ok [INFO] [stdout] test conditional::tests::test_cell_is_not_between ... ok [INFO] [stdout] test conditional::tests::test_cf_operator_roundtrip ... ok [INFO] [stdout] test conditional::tests::test_cf_value_type_roundtrip ... ok [INFO] [stdout] test conditional::tests::test_color_scale_xml_roundtrip ... ok [INFO] [stdout] test conditional::tests::test_contains_blanks ... ok [INFO] [stdout] test comment::tests::test_get_all_comments_empty ... ok [INFO] [stdout] test conditional::tests::test_bottom_10 ... ok [INFO] [stdout] test conditional::tests::test_contains_errors ... ok [INFO] [stdout] test conditional::tests::test_contains_text ... ok [INFO] [stdout] test conditional::tests::test_cell_is_equal ... ok [INFO] [stdout] test conditional::tests::test_data_bar_xml_roundtrip ... ok [INFO] [stdout] test conditional::tests::test_delete_nonexistent_conditional_format ... ok [INFO] [stdout] test chart::tests::test_stock_hlc ... ok [INFO] [stdout] test chart::tests::test_stock_ohlc ... ok [INFO] [stdout] test chart::tests::test_surface_wireframe ... ok [INFO] [stdout] test col::tests::test_get_col_outline_level_default_is_zero ... ok [INFO] [stdout] test conditional::tests::test_data_bar ... ok [INFO] [stdout] test conditional::tests::test_data_bar_hidden_value ... ok [INFO] [stdout] test conditional::tests::test_delete_conditional_format ... ok [INFO] [stdout] test conditional::tests::test_dxf_style_roundtrip_border ... ok [INFO] [stdout] test conditional::tests::test_dxf_style_roundtrip_fill ... ok [INFO] [stdout] test conditional::tests::test_dxf_style_roundtrip_font ... ok [INFO] [stdout] test conditional::tests::test_ends_with ... ok [INFO] [stdout] test conditional::tests::test_explicit_priority ... ok [INFO] [stdout] test conditional::tests::test_expression_rule ... ok [INFO] [stdout] test conditional::tests::test_get_conditional_formats_above_average ... ok [INFO] [stdout] test conditional::tests::test_get_conditional_formats_empty ... ok [INFO] [stdout] test conditional::tests::test_get_conditional_formats_top10 ... ok [INFO] [stdout] test conditional::tests::test_multiple_rules_same_range ... ok [INFO] [stdout] test conditional::tests::test_duplicate_values ... ok [INFO] [stdout] test conditional::tests::test_not_contains_errors ... ok [INFO] [stdout] test conditional::tests::test_not_contains_text ... ok [INFO] [stdout] test conditional::tests::test_priority_auto_increment ... ok [INFO] [stdout] test conditional::tests::test_stop_if_true ... ok [INFO] [stdout] test conditional::tests::test_three_color_scale ... ok [INFO] [stdout] test conditional::tests::test_top_10 ... ok [INFO] [stdout] test conditional::tests::test_top_10_percent ... ok [INFO] [stdout] test conditional::tests::test_two_color_scale ... ok [INFO] [stdout] test conditional::tests::test_unique_values ... ok [INFO] [stdout] test conditional::tests::test_xml_serialization_roundtrip ... ok [INFO] [stdout] test control::tests::test_build_button_vml ... ok [INFO] [stdout] test control::tests::test_build_button_with_macro ... ok [INFO] [stdout] test control::tests::test_build_checkbox_vml ... ok [INFO] [stdout] test conditional::tests::test_get_conditional_formats_bottom10 ... ok [INFO] [stdout] test conditional::tests::test_get_conditional_formats_cell_is ... ok [INFO] [stdout] test conditional::tests::test_get_conditional_formats_color_scale ... ok [INFO] [stdout] test conditional::tests::test_get_conditional_formats_duplicate_values ... ok [INFO] [stdout] test conditional::tests::test_get_conditional_formats_data_bar ... ok [INFO] [stdout] test conditional::tests::test_not_contains_blanks ... ok [INFO] [stdout] test control::tests::test_build_control_anchor_invalid_cell ... ok [INFO] [stdout] test control::tests::test_build_control_no_three_d ... ok [INFO] [stdout] test control::tests::test_build_group_box_vml ... ok [INFO] [stdout] test control::tests::test_build_label_vml ... ok [INFO] [stdout] test control::tests::test_build_option_button_vml ... ok [INFO] [stdout] test control::tests::test_build_scroll_bar_vml ... ok [INFO] [stdout] test control::tests::test_custom_dimensions ... ok [INFO] [stdout] test control::tests::test_count_vml_shapes ... ok [INFO] [stdout] test control::tests::test_default_dimensions ... ok [INFO] [stdout] test control::tests::test_build_control_anchor_basic ... ok [INFO] [stdout] test control::tests::test_build_control_anchor_offset_cell ... ok [INFO] [stdout] test control::tests::test_extract_anchor_cell ... ok [INFO] [stdout] test control::tests::test_form_control_type_parse ... ok [INFO] [stdout] test control::tests::test_build_multiple_controls ... ok [INFO] [stdout] test control::tests::test_form_control_type_object_type ... ok [INFO] [stdout] test control::tests::test_form_control_type_roundtrip ... ok [INFO] [stdout] test control::tests::test_build_spin_button_vml ... ok [INFO] [stdout] test control::tests::test_info_to_config_roundtrip ... ok [INFO] [stdout] test control::tests::test_merge_vml_controls ... ok [INFO] [stdout] test control::tests::test_open_file_delete_form_control_works ... ok [INFO] [stdout] test control::tests::test_parse_form_controls_button ... ok [INFO] [stdout] test control::tests::test_parse_form_controls_checkbox_with_link ... ok [INFO] [stdout] test control::tests::test_parse_form_controls_scroll_bar ... ok [INFO] [stdout] test control::tests::test_parse_form_controls_spin_button ... ok [INFO] [stdout] test control::tests::test_parse_ignores_comment_shapes ... ok [INFO] [stdout] test control::tests::test_parse_multiple_controls ... ok [INFO] [stdout] test control::tests::test_open_file_add_form_control_preserves_existing ... ok [INFO] [stdout] test control::tests::test_strip_form_control_shapes_controls_only ... ok [INFO] [stdout] test control::tests::test_strip_form_control_shapes_mixed ... ok [INFO] [stdout] test control::tests::test_validate_config_invalid_cell ... ok [INFO] [stdout] test control::tests::test_validate_config_invalid_cell_link ... ok [INFO] [stdout] test control::tests::test_validate_config_min_exceeds_max ... ok [INFO] [stdout] test control::tests::test_validate_config_valid ... ok [INFO] [stdout] test control::tests::test_validate_config_zero_increment ... ok [INFO] [stdout] test control::tests::test_validate_config_zero_page_increment ... ok [INFO] [stdout] test control::tests::test_workbook_add_form_control ... ok [INFO] [stdout] test control::tests::test_hydration_then_add_no_duplication ... ok [INFO] [stdout] test control::tests::test_hydration_does_not_duplicate_on_save ... ok [INFO] [stdout] test control::tests::test_workbook_add_form_control_sheet_not_found ... ok [INFO] [stdout] test control::tests::test_workbook_add_form_control_invalid_cell ... ok [INFO] [stdout] test control::tests::test_workbook_add_multiple_form_controls ... ok [INFO] [stdout] test control::tests::test_workbook_delete_form_control_out_of_bounds ... ok [INFO] [stdout] test control::tests::test_workbook_delete_form_control ... ok [INFO] [stdout] test control::tests::test_workbook_form_control_all_7_types ... ok [INFO] [stdout] test control::tests::test_workbook_get_form_controls_empty ... ok [INFO] [stdout] test control::tests::test_workbook_get_form_controls_sheet_not_found ... ok [INFO] [stdout] test control::tests::test_open_file_get_form_controls_returns_existing ... ok [INFO] [stdout] test defined_names::tests::test_defined_name_with_comment ... ok [INFO] [stdout] test defined_names::tests::test_delete_defined_name_not_found ... ok [INFO] [stdout] test defined_names::tests::test_delete_defined_name ... ok [INFO] [stdout] test control::tests::test_save_without_get_preserves_controls ... ok [INFO] [stdout] test defined_names::tests::test_delete_one_keeps_others ... ok [INFO] [stdout] test defined_names::tests::test_delete_wrong_scope_not_found ... ok [INFO] [stdout] test defined_names::tests::test_get_defined_name ... ok [INFO] [stdout] test defined_names::tests::test_get_all_defined_names ... ok [INFO] [stdout] test defined_names::tests::test_get_all_defined_names_empty ... ok [INFO] [stdout] test defined_names::tests::test_get_defined_name_not_found ... ok [INFO] [stdout] test defined_names::tests::test_invalid_defined_name_leading_whitespace ... ok [INFO] [stdout] test defined_names::tests::test_invalid_defined_name_empty ... ok [INFO] [stdout] test defined_names::tests::test_invalid_defined_name_special_chars ... ok [INFO] [stdout] test defined_names::tests::test_invalid_defined_name_trailing_whitespace ... ok [INFO] [stdout] test defined_names::tests::test_same_name_different_scopes ... ok [INFO] [stdout] test defined_names::tests::test_set_defined_name_sheet_scope ... ok [INFO] [stdout] test defined_names::tests::test_set_defined_name_workbook_scope ... ok [INFO] [stdout] test defined_names::tests::test_update_defined_name ... ok [INFO] [stdout] test defined_names::tests::test_xml_roundtrip_with_defined_names ... ok [INFO] [stdout] test doc_props::tests::test_app_properties_from_extended_properties ... ok [INFO] [stdout] test doc_props::tests::test_app_properties_to_extended_properties ... ok [INFO] [stdout] test doc_props::tests::test_calc_settings_default ... ok [INFO] [stdout] test doc_props::tests::test_calc_settings_iterative ... ok [INFO] [stdout] test doc_props::tests::test_calc_settings_manual_mode ... ok [INFO] [stdout] test doc_props::tests::test_calc_settings_to_xml_roundtrip ... ok [INFO] [stdout] test doc_props::tests::test_custom_property_pid_auto_increment ... ok [INFO] [stdout] test doc_props::tests::test_custom_property_value_roundtrip ... ok [INFO] [stdout] test doc_props::tests::test_doc_properties_to_core_properties ... ok [INFO] [stdout] test doc_props::tests::test_delete_custom_property ... ok [INFO] [stdout] test doc_props::tests::test_doc_properties_from_core_properties ... ok [INFO] [stdout] test doc_props::tests::test_set_and_find_custom_property ... ok [INFO] [stdout] test doc_props::tests::test_set_custom_property_update_existing ... ok [INFO] [stdout] test doc_props::tests::test_workbook_settings_date1904 ... ok [INFO] [stdout] test doc_props::tests::test_workbook_settings_default ... ok [INFO] [stdout] test control::tests::test_workbook_form_control_save_roundtrip ... ok [INFO] [stdout] test doc_props::tests::test_workbook_settings_to_xml_roundtrip ... ok [INFO] [stdout] test error::tests::test_error_display_cell_value_too_long ... ok [INFO] [stdout] test error::tests::test_error_display_invalid_cell_reference ... ok [INFO] [stdout] test error::tests::test_error_display_invalid_merge_cell_reference ... ok [INFO] [stdout] test error::tests::test_error_display_internal ... ok [INFO] [stdout] test error::tests::test_error_display_invalid_column_number ... ok [INFO] [stdout] test error::tests::test_error_display_outline_level_exceeded ... ok [INFO] [stdout] test error::tests::test_error_display_sheet_already_exists ... ok [INFO] [stdout] test error::tests::test_error_display_sheet_not_found ... ok [INFO] [stdout] test error::tests::test_error_display_unsupported_file_extension ... ok [INFO] [stdout] test error::tests::test_error_display_xml_deserialize ... ok [INFO] [stdout] test error::tests::test_error_display_invalid_row_number ... ok [INFO] [stdout] test error::tests::test_error_display_invalid_sheet_name ... ok [INFO] [stdout] test error::tests::test_error_display_zip ... ok [INFO] [stdout] test error::tests::test_error_is_send_and_sync ... ok [INFO] [stdout] test error::tests::test_from_io_error ... ok [INFO] [stdout] test formula::eval::tests::coerce_bool_to_number ... ok [INFO] [stdout] test formula::eval::tests::coerce_bool_to_string ... ok [INFO] [stdout] test formula::eval::tests::coerce_empty_to_number ... ok [INFO] [stdout] test formula::eval::tests::coerce_number_to_bool ... ok [INFO] [stdout] test formula::eval::tests::coerce_string_to_number_fail ... ok [INFO] [stdout] test formula::eval::tests::coerce_string_to_number_success ... ok [INFO] [stdout] test formula::eval::tests::eval_abs_function ... ok [INFO] [stdout] test error::tests::test_error_display_io ... ok [INFO] [stdout] test formula::eval::tests::eval_average_function ... ok [INFO] [stdout] test formula::eval::tests::eval_bool_literal ... ok [INFO] [stdout] test formula::eval::tests::coerce_number_to_string ... ok [INFO] [stdout] test control::tests::test_hydration_with_comments_no_duplication ... ok [INFO] [stdout] test formula::eval::tests::eval_add ... ok [INFO] [stdout] test formula::eval::tests::eval_cell_ref_cross_sheet ... ok [INFO] [stdout] test formula::eval::tests::eval_cell_ref_empty ... ok [INFO] [stdout] test formula::eval::tests::eval_circular_reference ... ok [INFO] [stdout] test formula::eval::tests::eval_comparison_strings ... ok [INFO] [stdout] test formula::eval::tests::eval_concat ... ok [INFO] [stdout] test formula::eval::tests::eval_concat_number_and_string ... ok [INFO] [stdout] test formula::eval::tests::eval_div ... ok [INFO] [stdout] test formula::eval::tests::eval_div_by_zero ... ok [INFO] [stdout] test formula::eval::tests::eval_eq ... ok [INFO] [stdout] test formula::eval::tests::eval_error_literal ... ok [INFO] [stdout] test formula::eval::tests::eval_error_propagation_in_binary ... ok [INFO] [stdout] test formula::eval::tests::eval_formula_cell_chain ... ok [INFO] [stdout] test formula::eval::tests::eval_ge ... ok [INFO] [stdout] test formula::eval::tests::eval_gt ... ok [INFO] [stdout] test formula::eval::tests::eval_if_false_branch ... ok [INFO] [stdout] test error::tests::test_error_display_xml_parse ... ok [INFO] [stdout] test control::tests::test_workbook_form_control_with_comments ... ok [INFO] [stdout] test formula::eval::tests::eval_indirect_circular_reference ... ok [INFO] [stdout] test formula::eval::tests::eval_le ... ok [INFO] [stdout] test formula::eval::tests::eval_if_true_branch ... ok [INFO] [stdout] test formula::eval::tests::eval_cell_ref ... ok [INFO] [stdout] test formula::eval::tests::eval_lt ... ok [INFO] [stdout] test formula::eval::tests::eval_max_depth_exceeded ... ok [INFO] [stdout] test formula::eval::tests::eval_mul ... ok [INFO] [stdout] test formula::eval::tests::eval_parsed_expression ... ok [INFO] [stdout] test formula::eval::tests::eval_pow ... ok [INFO] [stdout] test formula::eval::tests::eval_range_2d ... ok [INFO] [stdout] test formula::eval::tests::eval_ne ... ok [INFO] [stdout] test formula::eval::tests::eval_range_expansion ... ok [INFO] [stdout] test formula::eval::tests::eval_string_literal ... ok [INFO] [stdout] test formula::eval::tests::eval_nested_functions ... ok [INFO] [stdout] test formula::eval::tests::eval_sub ... ok [INFO] [stdout] test formula::eval::tests::eval_sum_function ... ok [INFO] [stdout] test formula::eval::tests::eval_unary_neg ... ok [INFO] [stdout] test formula::eval::tests::eval_unary_percent ... ok [INFO] [stdout] test formula::eval::tests::eval_wrong_arg_count ... ok [INFO] [stdout] test formula::eval::tests::test_build_dependency_graph_cross_sheet ... ok [INFO] [stdout] test formula::eval::tests::test_build_dependency_graph_range ... ok [INFO] [stdout] test formula::eval::tests::test_build_dependency_graph_simple ... ok [INFO] [stdout] test formula::eval::tests::test_extract_cell_refs_from_nested_expr ... ok [INFO] [stdout] test formula::eval::tests::test_set_current_sheet ... ok [INFO] [stdout] test formula::eval::tests::test_topological_sort_cycle_detection ... ok [INFO] [stdout] test formula::eval::tests::test_topological_sort_diamond ... ok [INFO] [stdout] test formula::eval::tests::test_topological_sort_linear_chain ... ok [INFO] [stdout] test formula::eval::tests::eval_unary_pos ... ok [INFO] [stdout] test formula::eval::tests::eval_unknown_function ... ok [INFO] [stdout] test formula::eval::tests::test_topological_sort_no_formulas ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_date_basic ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_datedif_days ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_date_month_overflow ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_day ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_datedif_months ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_datedif_years ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_datevalue ... ok [INFO] [stdout] test control::tests::test_multiple_hydrate_save_cycles_stable_count ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_edate ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_hour ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_eomonth ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_minute ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_networkdays ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_second ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_weekday_type2 ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_weeknum ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_workday ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_year ... ok [INFO] [stdout] test formula::functions::engineering::tests::besseli_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::besselj_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::besselj_order_zero ... ok [INFO] [stdout] test formula::functions::engineering::tests::besselk_zero_x ... ok [INFO] [stdout] test formula::functions::engineering::tests::bessely_integer_order ... ok [INFO] [stdout] test formula::functions::engineering::tests::bessely_order_zero ... ok [INFO] [stdout] test formula::functions::engineering::tests::bessely_zero_x ... ok [INFO] [stdout] test formula::functions::engineering::tests::bin2dec_negative ... ok [INFO] [stdout] test formula::functions::engineering::tests::bin2dec_positive ... ok [INFO] [stdout] test formula::functions::engineering::tests::bin2hex_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::bin2oct_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::complex_basic ... ok [INFO] [stdout] test formula::eval::tests::eval_number_literal ... ok [INFO] [stdout] test formula::functions::engineering::tests::complex_imag_only ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_month ... ok [INFO] [stdout] test formula::functions::engineering::tests::besselk_integer_order ... ok [INFO] [stdout] test formula::functions::engineering::tests::complex_negative_imag ... ok [INFO] [stdout] test formula::functions::engineering::tests::convert_temperature ... ok [INFO] [stdout] test formula::functions::engineering::tests::convert_length ... ok [INFO] [stdout] test formula::functions::engineering::tests::convert_temperature_k ... ok [INFO] [stdout] test formula::functions::engineering::tests::complex_real_only ... ok [INFO] [stdout] test formula::functions::date_time::tests::test_weekday_type1 ... ok [INFO] [stdout] test formula::functions::engineering::tests::dec2bin_negative ... ok [INFO] [stdout] test formula::functions::engineering::tests::dec2hex_negative ... ok [INFO] [stdout] test formula::functions::engineering::tests::convert_weight ... ok [INFO] [stdout] test formula::functions::engineering::tests::dec2bin_with_places ... ok [INFO] [stdout] test formula::functions::engineering::tests::dec2bin_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::dec2hex_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::delta_default ... ok [INFO] [stdout] test formula::functions::engineering::tests::dec2oct_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::delta_not_equal ... ok [INFO] [stdout] test formula::functions::engineering::tests::dec2oct_negative ... ok [INFO] [stdout] test formula::functions::engineering::tests::erf_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::erfc_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::delta_equal ... ok [INFO] [stdout] test formula::functions::engineering::tests::delta_distinct_close_values ... ok [INFO] [stdout] test formula::functions::engineering::tests::convert_incompatible ... ok [INFO] [stdout] test formula::functions::engineering::tests::gestep_above ... ok [INFO] [stdout] test formula::functions::engineering::tests::erf_range ... ok [INFO] [stdout] test formula::functions::engineering::tests::gestep_equal ... ok [INFO] [stdout] test formula::functions::engineering::tests::hex2bin_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::gestep_below ... ok [INFO] [stdout] test formula::functions::engineering::tests::hex2dec_negative ... ok [INFO] [stdout] test formula::functions::engineering::tests::hex2dec_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::hex2oct_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::imabs_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::imaginary_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::imdiv_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::improduct_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::imreal_basic ... ok [INFO] [stdout] test control::tests::test_open_file_modify_save_reopen_persistence ... ok [INFO] [stdout] test formula::functions::engineering::tests::imconjugate_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::imsub_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::imsum_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::imsqrt_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::imargument_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::oct2bin_negative ... ok [INFO] [stdout] test formula::functions::engineering::tests::oct2dec_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::oct2bin_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::impower_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::oct2dec_negative ... ok [INFO] [stdout] test formula::functions::engineering::tests::oct2dec_positive_boundary ... ok [INFO] [stdout] test formula::functions::engineering::tests::oct2hex_basic ... ok [INFO] [stdout] test formula::functions::engineering::tests::oct2hex_negative ... ok [INFO] [stdout] test formula::functions::financial::tests::cumprinc_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::ddb_later_period ... ok [INFO] [stdout] test formula::functions::financial::tests::db_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::dollarde_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::ddb_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::cumipmt_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::dollarfr_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::effect_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::effect_invalid ... ok [INFO] [stdout] test formula::functions::financial::tests::irr_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::fv_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::ipmt_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::fv_zero_rate ... ok [INFO] [stdout] test formula::functions::financial::tests::ipmt_invalid_period ... ok [INFO] [stdout] test formula::functions::financial::tests::irr_no_sign_change ... ok [INFO] [stdout] test formula::functions::financial::tests::nominal_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::nper_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::nper_zero_rate ... ok [INFO] [stdout] test formula::functions::financial::tests::npv_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::pmt_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::ppmt_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::pmt_zero_rate ... ok [INFO] [stdout] test formula::functions::financial::tests::rate_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::pv_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::sln_basic ... ok [INFO] [stdout] test formula::functions::financial::tests::sln_zero_life ... ok [INFO] [stdout] test formula::functions::financial::tests::syd_last_period ... ok [INFO] [stdout] test formula::functions::information::tests::error_type_div_zero ... ok [INFO] [stdout] test formula::functions::financial::tests::syd_basic ... ok [INFO] [stdout] test formula::functions::information::tests::iserr_div_zero ... ok [INFO] [stdout] test formula::functions::information::tests::error_type_value_error ... ok [INFO] [stdout] test formula::functions::information::tests::error_type_na ... ok [INFO] [stdout] test formula::functions::financial::tests::xnpv_basic ... ok [INFO] [stdout] test formula::functions::information::tests::error_type_not_error ... ok [INFO] [stdout] test formula::functions::financial::tests::xirr_basic ... ok [INFO] [stdout] test formula::functions::information::tests::iserr_na_is_false ... ok [INFO] [stdout] test formula::functions::information::tests::iserr_not_error ... ok [INFO] [stdout] test formula::functions::information::tests::islogical_true ... ok [INFO] [stdout] test formula::functions::information::tests::islogical_false_for_number ... ok [INFO] [stdout] test formula::functions::information::tests::iseven_false ... ok [INFO] [stdout] test formula::functions::information::tests::iseven_true ... ok [INFO] [stdout] test formula::functions::information::tests::isna_false_for_other_error ... ok [INFO] [stdout] test formula::functions::information::tests::iseven_zero ... ok [INFO] [stdout] test formula::functions::information::tests::isna_false_for_number ... ok [INFO] [stdout] test formula::functions::information::tests::isna_true ... ok [INFO] [stdout] test formula::functions::information::tests::isodd_false ... ok [INFO] [stdout] test formula::functions::information::tests::n_number ... ok [INFO] [stdout] test formula::functions::information::tests::isodd_true ... ok [INFO] [stdout] test formula::functions::information::tests::type_boolean ... ok [INFO] [stdout] test formula::functions::information::tests::n_string ... ok [INFO] [stdout] test formula::functions::information::tests::n_error ... ok [INFO] [stdout] test formula::functions::information::tests::n_false ... ok [INFO] [stdout] test formula::functions::information::tests::type_error ... ok [INFO] [stdout] test formula::functions::information::tests::n_true ... ok [INFO] [stdout] test formula::functions::information::tests::type_number ... ok [INFO] [stdout] test formula::functions::logical::tests::test_false_function ... ok [INFO] [stdout] test formula::functions::logical::tests::test_iferror_no_error ... ok [INFO] [stdout] test formula::functions::logical::tests::test_iferror_with_error ... ok [INFO] [stdout] test formula::functions::information::tests::type_text ... ok [INFO] [stdout] test formula::functions::logical::tests::test_ifna_no_na ... ok [INFO] [stdout] test formula::functions::information::tests::na_returns_error ... ok [INFO] [stdout] test formula::functions::logical::tests::test_true_function ... ok [INFO] [stdout] test formula::functions::logical::tests::test_xor_even_true ... ok [INFO] [stdout] test formula::functions::logical::tests::test_ifs_first_true ... ok [INFO] [stdout] test formula::functions::logical::tests::test_ifs_none_true ... ok [INFO] [stdout] test formula::functions::logical::tests::test_xor_odd_true ... ok [INFO] [stdout] test formula::functions::logical::tests::test_switch_match ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_address_absolute ... ok [INFO] [stdout] test formula::functions::logical::tests::test_switch_no_match_no_default ... ok [INFO] [stdout] test formula::functions::logical::tests::test_switch_default ... ok [INFO] [stdout] test formula::functions::logical::tests::test_ifs_second_true ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_address_relative ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_column_no_args ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_columns ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_choose ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_index_basic ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_hlookup_exact ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_match_exact ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_row ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_lookup_vector ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_match_not_found ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_choose_out_of_range ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_rows ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_address_with_sheet ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_row_no_args ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_column ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_vlookup_not_found ... ok [INFO] [stdout] test formula::functions::math::tests::ceiling_basic ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_vlookup_approximate ... ok [INFO] [stdout] test formula::functions::math::tests::ceiling_significance ... ok [INFO] [stdout] test formula::functions::math::tests::fact_basic ... ok [INFO] [stdout] test formula::functions::math::tests::exp_basic ... ok [INFO] [stdout] test formula::functions::math::tests::exp_one ... ok [INFO] [stdout] test formula::functions::lookup::tests::test_vlookup_exact ... ok [INFO] [stdout] test formula::functions::math::tests::log10_basic ... ok [INFO] [stdout] test formula::functions::math::tests::log_base10_default ... ok [INFO] [stdout] test formula::functions::math::tests::fact_negative ... ok [INFO] [stdout] test formula::functions::math::tests::log_base2 ... ok [INFO] [stdout] test formula::functions::math::tests::fact_zero ... ok [INFO] [stdout] test formula::functions::math::tests::floor_basic ... ok [INFO] [stdout] test formula::functions::math::tests::log_negative_input ... ok [INFO] [stdout] test formula::functions::math::tests::floor_zero_significance ... ok [INFO] [stdout] test formula::functions::math::tests::ln_basic ... ok [INFO] [stdout] test formula::functions::math::tests::quotient_div_zero ... ok [INFO] [stdout] test formula::functions::math::tests::product_basic ... ok [INFO] [stdout] test formula::functions::math::tests::quotient_negative ... ok [INFO] [stdout] test formula::functions::math::tests::quotient_basic ... ok [INFO] [stdout] test formula::functions::math::tests::pi_value ... ok [INFO] [stdout] test formula::functions::math::tests::rand_returns_number ... ok [INFO] [stdout] test formula::functions::math::tests::rounddown_negative ... ok [INFO] [stdout] test formula::functions::math::tests::roundup_positive ... ok [INFO] [stdout] test formula::functions::math::tests::rounddown_positive ... ok [INFO] [stdout] test formula::functions::math::tests::roundup_with_digits ... ok [INFO] [stdout] test formula::functions::math::tests::sign_negative ... ok [INFO] [stdout] test formula::functions::math::tests::randbetween_returns_integer_in_range ... ok [INFO] [stdout] test formula::functions::math::tests::roundup_negative ... ok [INFO] [stdout] test formula::functions::math::tests::sumif_exact_text_match ... ok [INFO] [stdout] test formula::functions::math::tests::sign_positive ... ok [INFO] [stdout] test formula::functions::math::tests::randbetween_invalid_range ... ok [INFO] [stdout] test formula::functions::math::tests::sign_zero ... ok [INFO] [stdout] test formula::functions::math::tests::sumif_less_than_or_equal ... ok [INFO] [stdout] test formula::functions::math::tests::sumifs_multi_criteria ... ok [INFO] [stdout] test formula::functions::math::tests::sumif_greater_than ... ok [INFO] [stdout] test formula::functions::statistical::tests::averageif_greater_than ... ok [INFO] [stdout] test formula::functions::statistical::tests::countblank_basic ... ok [INFO] [stdout] test formula::functions::statistical::tests::countif_greater_than ... ok [INFO] [stdout] test formula::functions::statistical::tests::averageif_with_avg_range ... ok [INFO] [stdout] test formula::functions::statistical::tests::countif_text_match ... ok [INFO] [stdout] test formula::functions::statistical::tests::averageifs_multi_criteria ... ok [INFO] [stdout] test formula::functions::statistical::tests::large_k_out_of_range ... ok [INFO] [stdout] test formula::functions::statistical::tests::countifs_multi_criteria ... ok [INFO] [stdout] test formula::functions::math::tests::sumif_no_sum_range ... ok [INFO] [stdout] test formula::functions::statistical::tests::median_even_count ... ok [INFO] [stdout] test formula::functions::math::tests::sumif_not_equal ... ok [INFO] [stdout] test formula::functions::statistical::tests::median_odd_count ... ok [INFO] [stdout] test formula::functions::statistical::tests::large_basic ... ok [INFO] [stdout] test formula::functions::statistical::tests::mode_no_repeat ... ok [INFO] [stdout] test formula::functions::statistical::tests::median_single ... ok [INFO] [stdout] test formula::functions::statistical::tests::rank_ascending ... ok [INFO] [stdout] test formula::functions::statistical::tests::mode_basic ... ok [INFO] [stdout] test formula::functions::statistical::tests::rank_descending ... ok [INFO] [stdout] test formula::functions::statistical::tests::rank_not_found ... ok [INFO] [stdout] test formula::functions::statistical::tests::averageif_no_match ... ok [INFO] [stdout] test formula::functions::statistical::tests::small_basic ... ok [INFO] [stdout] test formula::functions::text::tests::test_exact_true ... ok [INFO] [stdout] test formula::functions::text::tests::test_concat ... ok [INFO] [stdout] test formula::functions::text::tests::test_find_not_found ... ok [INFO] [stdout] test formula::functions::text::tests::test_replace ... ok [INFO] [stdout] test formula::functions::text::tests::test_find_start_num ... ok [INFO] [stdout] test formula::functions::text::tests::test_exact_false_case ... ok [INFO] [stdout] test formula::functions::text::tests::test_proper ... ok [INFO] [stdout] test formula::functions::text::tests::test_rept ... ok [INFO] [stdout] test formula::functions::text::tests::test_find_basic ... ok [INFO] [stdout] test formula::functions::text::tests::test_search_case_insensitive ... ok [INFO] [stdout] test formula::functions::text::tests::test_search_wildcard ... ok [INFO] [stdout] test formula::functions::text::tests::test_substitute_instance ... ok [INFO] [stdout] test formula::parser::tests::test_parse_abs_cell_ref ... ok [INFO] [stdout] test formula::parser::tests::test_parse_addition ... ok [INFO] [stdout] test formula::functions::text::tests::test_t_with_text ... ok [INFO] [stdout] test formula::functions::text::tests::test_t_with_number ... ok [INFO] [stdout] test formula::functions::text::tests::test_substitute_all ... ok [INFO] [stdout] test formula::parser::tests::test_parse_division ... ok [INFO] [stdout] test formula::parser::tests::test_parse_cell_ref ... ok [INFO] [stdout] test formula::parser::tests::test_parse_complex_formula ... ok [INFO] [stdout] test formula::parser::tests::test_parse_concat ... ok [INFO] [stdout] test formula::parser::tests::test_parse_decimal ... ok [INFO] [stdout] test formula::parser::tests::test_parse_empty_string ... ok [INFO] [stdout] test formula::parser::tests::test_parse_false ... ok [INFO] [stdout] test formula::parser::tests::test_parse_integer ... ok [INFO] [stdout] test formula::parser::tests::test_parse_equal ... ok [INFO] [stdout] test formula::parser::tests::test_parse_less_than ... ok [INFO] [stdout] test formula::parser::tests::test_parse_function_multi_args ... ok [INFO] [stdout] test formula::parser::tests::test_parse_function_no_args ... ok [INFO] [stdout] test formula::parser::tests::test_parse_error_na ... ok [INFO] [stdout] test formula::parser::tests::test_parse_error_div0 ... ok [INFO] [stdout] test formula::parser::tests::test_parse_function_one_arg ... ok [INFO] [stdout] test formula::parser::tests::test_parse_mixed_cell_ref ... ok [INFO] [stdout] test formula::parser::tests::test_parse_range ... ok [INFO] [stdout] test formula::parser::tests::test_parse_negative_number ... ok [INFO] [stdout] test formula::parser::tests::test_parse_multiplication ... ok [INFO] [stdout] test formula::parser::tests::test_parse_string ... ok [INFO] [stdout] test formula::parser::tests::test_parse_nested_function ... ok [INFO] [stdout] test formula::parser::tests::test_parse_not_equal ... ok [INFO] [stdout] test formula::parser::tests::test_parse_sheet_ref ... ok [INFO] [stdout] test formula::parser::tests::test_parse_true ... ok [INFO] [stdout] test formula::parser::tests::test_parse_subtraction ... ok [INFO] [stdout] test hyperlink::tests::test_delete_nonexistent_hyperlink ... ok [INFO] [stdout] test hyperlink::tests::test_get_hyperlink_email ... ok [INFO] [stdout] test hyperlink::tests::test_delete_one_of_multiple ... ok [INFO] [stdout] test hyperlink::tests::test_delete_hyperlink ... ok [INFO] [stdout] test hyperlink::tests::test_delete_internal_hyperlink ... ok [INFO] [stdout] test formula::parser::tests::test_precedence_mul_over_add ... ok [INFO] [stdout] test formula::parser::tests::test_precedence_parens ... ok [INFO] [stdout] test hyperlink::tests::test_get_hyperlink_internal ... ok [INFO] [stdout] test hyperlink::tests::test_next_rel_id_empty ... ok [INFO] [stdout] test hyperlink::tests::test_get_hyperlink_external ... ok [INFO] [stdout] test hyperlink::tests::test_next_rel_id_with_existing ... ok [INFO] [stdout] test hyperlink::tests::test_overwrite_external_with_internal ... ok [INFO] [stdout] test hyperlink::tests::test_overwrite_hyperlink ... ok [INFO] [stdout] test hyperlink::tests::test_set_email_hyperlink ... ok [INFO] [stdout] test hyperlink::tests::test_set_internal_hyperlink ... ok [INFO] [stdout] test image::tests::test_add_image_to_existing_drawing ... ok [INFO] [stdout] test hyperlink::tests::test_get_nonexistent_hyperlink ... ok [INFO] [stdout] test hyperlink::tests::test_hyperlink_with_display_and_tooltip ... ok [INFO] [stdout] test image::tests::test_build_drawing_with_image ... ok [INFO] [stdout] test hyperlink::tests::test_multiple_hyperlinks ... ok [INFO] [stdout] test hyperlink::tests::test_get_nonexistent_hyperlink_with_empty_container ... ok [INFO] [stdout] test hyperlink::tests::test_set_external_hyperlink ... ok [INFO] [stdout] test image::tests::test_build_drawing_with_image_a1 ... ok [INFO] [stdout] test image::tests::test_from_extension_case_insensitive ... ok [INFO] [stdout] test image::tests::test_from_extension_empty_returns_error ... ok [INFO] [stdout] test image::tests::test_from_extension_new_formats ... ok [INFO] [stdout] test image::tests::test_emu_per_pixel_constant ... ok [INFO] [stdout] test image::tests::test_build_drawing_with_image_invalid_cell ... ok [INFO] [stdout] test image::tests::test_from_extension_roundtrip ... ok [INFO] [stdout] test image::tests::test_build_drawing_with_new_format ... ok [INFO] [stdout] test image::tests::test_from_extension_original_formats ... ok [INFO] [stdout] test image::tests::test_emu_calculation_accuracy ... ok [INFO] [stdout] test image::tests::test_image_format_content_type_original ... ok [INFO] [stdout] test image::tests::test_image_format_extension_new_formats ... ok [INFO] [stdout] test image::tests::test_pixels_to_emu ... ok [INFO] [stdout] test image::tests::test_validate_image_config_empty_data ... ok [INFO] [stdout] test image::tests::test_validate_image_config_new_format_ok ... ok [INFO] [stdout] test image::tests::test_validate_image_config_ok ... ok [INFO] [stdout] test image::tests::test_from_extension_unknown_returns_error ... ok [INFO] [stdout] test image::tests::test_validate_image_config_zero_width ... ok [INFO] [stdout] test image::tests::test_image_format_content_type_new_formats ... ok [INFO] [stdout] test image::tests::test_validate_image_config_zero_height ... ok [INFO] [stdout] test image::tests::test_image_format_extension_original ... ok [INFO] [stdout] test image::tests::test_validate_image_config_invalid_cell ... ok [INFO] [stdout] test merge::tests::test_merge_cache_lazy_init_from_deserialized_data ... ok [INFO] [stdout] test merge::tests::test_merge_cells_invalid_reference ... ok [INFO] [stdout] test merge::tests::test_equality_ignores_cache_state ... ok [INFO] [stdout] test merge::tests::test_merge_cells_multiple ... ok [INFO] [stdout] test merge::tests::test_get_merge_cells_empty ... ok [INFO] [stdout] test merge::tests::test_merge_cells_basic ... ok [INFO] [stdout] test merge::tests::test_merge_cells_overlap_adjacent_no_overlap ... ok [INFO] [stdout] test merge::tests::test_merge_cache_stays_in_sync_after_add_and_remove ... ok [INFO] [stdout] test merge::tests::test_parse_range_valid ... ok [INFO] [stdout] test merge::tests::test_parse_range_reversed ... ok [INFO] [stdout] test merge::tests::test_ranges_overlap_function ... ok [INFO] [stdout] test merge::tests::test_merge_cells_overlap_detection ... ok [INFO] [stdout] test merge::tests::test_merge_many_non_overlapping_regions ... ok [INFO] [stdout] test merge::tests::test_parse_range_invalid ... ok [INFO] [stdout] test merge::tests::test_unmerge_cell_last_removes_element ... ok [INFO] [stdout] test merge::tests::test_cache_not_serialized ... ok [INFO] [stdout] test merge::tests::test_unmerge_cell_not_found ... ok [INFO] [stdout] test numfmt::tests::test_builtin_format_code_date ... ok [INFO] [stdout] test merge::tests::test_unmerge_then_add_reuses_cache_correctly ... ok [INFO] [stdout] test numfmt::tests::test_builtin_format_code_general ... ok [INFO] [stdout] test numfmt::tests::test_builtin_format_code_decimal ... ok [INFO] [stdout] test numfmt::tests::test_builtin_format_code_text ... ok [INFO] [stdout] test numfmt::tests::test_builtin_format_code_thousands ... ok [INFO] [stdout] test numfmt::tests::test_builtin_format_code_unknown ... ok [INFO] [stdout] test numfmt::tests::test_condition_matches ... ok [INFO] [stdout] test numfmt::tests::test_builtin_format_code_integer ... ok [INFO] [stdout] test numfmt::tests::test_conditional_three_sections_cascading ... ok [INFO] [stdout] test numfmt::tests::test_conditional_with_sign_format ... ok [INFO] [stdout] test numfmt::tests::test_count_decimal_places_none ... ok [INFO] [stdout] test numfmt::tests::test_conditional_two_sections_color_and_condition ... ok [INFO] [stdout] test numfmt::tests::test_extract_condition_from_section ... ok [INFO] [stdout] test numfmt::tests::test_conditional_equals_zero ... ok [INFO] [stdout] test numfmt::tests::test_count_decimal_places_three ... ok [INFO] [stdout] test numfmt::tests::test_format_date_dd_mm_yyyy ... ok [INFO] [stdout] test numfmt::tests::test_format_color_stripped ... ok [INFO] [stdout] test merge::tests::test_unmerge_cell ... ok [INFO] [stdout] test numfmt::tests::test_count_decimal_places_two ... ok [INFO] [stdout] test numfmt::tests::test_format_builtin_mmss ... ok [INFO] [stdout] test numfmt::tests::test_format_date_mdy ... ok [INFO] [stdout] test numfmt::tests::test_format_date_dm ... ok [INFO] [stdout] test numfmt::tests::test_format_date_long_month ... ok [INFO] [stdout] test numfmt::tests::test_format_date_dmy ... ok [INFO] [stdout] test numfmt::tests::test_format_date_my ... ok [INFO] [stdout] test numfmt::tests::test_format_date_two_digit_year ... ok [INFO] [stdout] test numfmt::tests::test_format_date_yyyy_mm_dd ... ok [INFO] [stdout] test numfmt::tests::test_format_decimal_2 ... ok [INFO] [stdout] test numfmt::tests::test_format_datetime_combined ... ok [INFO] [stdout] test numfmt::tests::test_format_empty_format_uses_general ... ok [INFO] [stdout] test numfmt::tests::test_format_fraction_simple ... ok [INFO] [stdout] test numfmt::tests::test_format_fraction_two_digit ... ok [INFO] [stdout] test numfmt::tests::test_format_general_decimal ... ok [INFO] [stdout] test numfmt::tests::test_format_general_negative_decimal ... ok [INFO] [stdout] test numfmt::tests::test_format_general_integer ... ok [INFO] [stdout] test numfmt::tests::test_format_general_zero ... ok [INFO] [stdout] test numfmt::tests::test_format_multi_section_positive_negative ... ok [INFO] [stdout] test numfmt::tests::test_format_general_large_number ... ok [INFO] [stdout] test numfmt::tests::test_format_negative_in_parens ... ok [INFO] [stdout] test numfmt::tests::test_format_percent ... ok [INFO] [stdout] test numfmt::tests::test_format_percent_decimal ... ok [INFO] [stdout] test numfmt::tests::test_format_multi_section_three_parts ... ok [INFO] [stdout] test numfmt::tests::test_format_scientific ... ok [INFO] [stdout] test numfmt::tests::test_format_scientific_small ... ok [INFO] [stdout] test numfmt::tests::test_format_integer ... ok [INFO] [stdout] test numfmt::tests::test_format_text_passthrough ... ok [INFO] [stdout] test numfmt::tests::test_format_thousands_separator_with_zero ... ok [INFO] [stdout] test numfmt::tests::test_format_thousands ... ok [INFO] [stdout] test numfmt::tests::test_format_thousands_decimal ... ok [INFO] [stdout] test numfmt::tests::test_format_time_hm_ampm ... ok [INFO] [stdout] test numfmt::tests::test_format_time_hm_24h ... ok [INFO] [stdout] test numfmt::tests::test_format_time_hm_ampm_morning ... ok [INFO] [stdout] test numfmt::tests::test_format_time_hms ... ok [INFO] [stdout] test numfmt::tests::test_format_with_builtin_percent ... ok [INFO] [stdout] test numfmt::tests::test_format_time_ampm_midnight ... ok [INFO] [stdout] test numfmt::tests::test_is_date_time_format_checks ... ok [INFO] [stdout] test numfmt::tests::test_format_time_ampm_noon ... ok [INFO] [stdout] test numfmt::tests::test_parse_condition_operators ... ok [INFO] [stdout] test numfmt::tests::test_parse_sections_multi ... ok [INFO] [stdout] test numfmt::tests::test_format_with_builtin_unknown ... ok [INFO] [stdout] test numfmt::tests::test_strip_condition ... ok [INFO] [stdout] test page_layout::tests::test_default_page_margins ... ok [INFO] [stdout] test numfmt::tests::test_strip_color ... ok [INFO] [stdout] test numfmt::tests::test_parse_sections_quoted_semicolon ... ok [INFO] [stdout] test page_layout::tests::test_fit_to_page_none_when_not_set ... ok [INFO] [stdout] test page_layout::tests::test_get_header_footer_none ... ok [INFO] [stdout] test numfmt::tests::test_parse_sections_single ... ok [INFO] [stdout] test numfmt::tests::test_format_with_builtin_general ... ok [INFO] [stdout] test page_layout::tests::test_get_page_breaks_empty ... ok [INFO] [stdout] test page_layout::tests::test_get_print_options_none ... ok [INFO] [stdout] test page_layout::tests::test_insert_duplicate_page_break_is_noop ... ok [INFO] [stdout] test page_layout::tests::test_insert_multiple_page_breaks ... ok [INFO] [stdout] test page_layout::tests::test_orientation_from_str ... ok [INFO] [stdout] test page_layout::tests::test_page_break_max_value ... ok [INFO] [stdout] test page_layout::tests::test_paper_size_from_u32 ... ok [INFO] [stdout] test page_layout::tests::test_insert_page_break ... ok [INFO] [stdout] test page_layout::tests::test_orientation_as_str ... ok [INFO] [stdout] test page_layout::tests::test_orientation_none_when_not_set ... ok [INFO] [stdout] test page_layout::tests::test_paper_size_none_when_not_set ... ok [INFO] [stdout] test page_layout::tests::test_page_break_count_updated ... ok [INFO] [stdout] test page_layout::tests::test_page_margins_default_values ... ok [INFO] [stdout] test page_layout::tests::test_paper_size_values ... ok [INFO] [stdout] test page_layout::tests::test_remove_page_break ... ok [INFO] [stdout] test page_layout::tests::test_scale_none_when_not_set ... ok [INFO] [stdout] test page_layout::tests::test_set_footer_only ... ok [INFO] [stdout] test page_layout::tests::test_set_get_page_margins ... ok [INFO] [stdout] test page_layout::tests::test_set_header_footer_preserves_existing ... ok [INFO] [stdout] test page_layout::tests::test_remove_nonexistent_page_break_is_noop ... ok [INFO] [stdout] test page_layout::tests::test_set_header_footer ... ok [INFO] [stdout] test page_layout::tests::test_set_fit_to_page ... ok [INFO] [stdout] test page_layout::tests::test_set_orientation_portrait ... ok [INFO] [stdout] test page_layout::tests::test_set_header_only ... ok [INFO] [stdout] test page_layout::tests::test_remove_last_page_break_clears_element ... ok [INFO] [stdout] test page_layout::tests::test_set_orientation_landscape ... ok [INFO] [stdout] test page_layout::tests::test_set_page_setup_preserves_existing ... ok [INFO] [stdout] test page_layout::tests::test_set_paper_size_a4 ... ok [INFO] [stdout] test page_layout::tests::test_set_print_options_partial ... ok [INFO] [stdout] test page_layout::tests::test_set_paper_size_letter ... ok [INFO] [stdout] test page_layout::tests::test_set_print_options ... ok [INFO] [stdout] test page_layout::tests::test_set_print_options_preserves_existing ... ok [INFO] [stdout] test page_layout::tests::test_set_scale ... ok [INFO] [stdout] test pivot::tests::test_aggregate_function_from_xml_str ... ok [INFO] [stdout] test pivot::tests::test_aggregate_function_from_xml_str_unknown ... ok [INFO] [stdout] test pivot::tests::test_aggregate_function_roundtrip ... ok [INFO] [stdout] test pivot::tests::test_aggregate_function_to_xml_str ... ok [INFO] [stdout] test pivot::tests::test_build_pivot_table_xml_no_rows_or_cols ... ok [INFO] [stdout] test pivot::tests::test_build_pivot_table_xml_generates_default_display_name ... ok [INFO] [stdout] test pivot::tests::test_build_pivot_table_xml_with_columns ... ok [INFO] [stdout] test pivot::tests::test_build_pivot_cache_definition_empty_fields ... ok [INFO] [stdout] test pivot::tests::test_build_pivot_table_xml_basic ... ok [INFO] [stdout] test pivot::tests::test_build_pivot_table_xml_unknown_field ... ok [INFO] [stdout] test pivot::tests::test_capitalize_first ... ok [INFO] [stdout] test pivot::tests::test_error_invalid_source_range ... ok [INFO] [stdout] test pivot::tests::test_error_pivot_table_already_exists ... ok [INFO] [stdout] test pivot::tests::test_error_pivot_table_not_found ... ok [INFO] [stdout] test pivot::tests::test_pivot_table_info_struct ... ok [INFO] [stdout] test pivot::tests::test_build_pivot_cache_definition ... ok [INFO] [stdout] test protection::tests::test_legacy_password_hash_format ... ok [INFO] [stdout] test protection::tests::test_legacy_password_hash_known_values ... ok [INFO] [stdout] test protection::tests::test_workbook_protection_config_default ... ok [INFO] [stdout] test raw_transfer::tests::test_cell_without_col_uses_ref_parsing ... ok [INFO] [stdout] test raw_transfer::tests::test_date_cell ... ok [INFO] [stdout] test protection::tests::test_legacy_password_hash_empty ... ok [INFO] [stdout] test raw_transfer::tests::test_error_cell ... ok [INFO] [stdout] test raw_transfer::tests::test_dense_format ... ok [INFO] [stdout] test raw_transfer::tests::test_bool_cell ... ok [INFO] [stdout] test raw_transfer::tests::test_empty_sheet ... ok [INFO] [stdout] test raw_transfer::tests::test_formula_cell ... ok [INFO] [stdout] test raw_transfer::tests::test_formula_string_type ... ok [INFO] [stdout] test raw_transfer::tests::test_header_format ... ok [INFO] [stdout] test page_layout::tests::test_set_page_setup_combined ... ok [INFO] [stdout] test raw_transfer::tests::test_rich_string_from_sst ... ok [INFO] [stdout] test raw_transfer::tests::test_mixed_types_row ... ok [INFO] [stdout] test raw_transfer::tests::test_number_with_explicit_type ... ok [INFO] [stdout] test raw_transfer::tests::test_single_number_cell ... ok [INFO] [stdout] test raw_transfer::tests::test_row_index_entries ... ok [INFO] [stdout] test raw_transfer::tests::test_string_deduplication ... ok [INFO] [stdout] test raw_transfer::tests::test_string_table_format ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_cell_without_col_uses_ref_parsing ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_bool_cell ... ok [INFO] [stdout] test raw_transfer::tests::test_sparse_format ... ok [INFO] [stdout] test raw_transfer::tests::test_string_cell_sst ... ok [INFO] [stdout] test raw_transfer::tests::test_large_sheet_dimensions ... ok [INFO] [stdout] test raw_transfer::tests::test_inline_string_cell ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_date_cell ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_empty_sheet ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_error_cell ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_formula_cell ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_inline_string_cell ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_mixed_types_row ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_large_string_inline ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_rich_string_from_sst ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_formula_string_type ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_header_format ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_row_index_entries ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_no_string_table_section ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_multiple_rows_multiple_types ... ok [INFO] [stdout] test raw_transfer_write::tests::test_decode_date ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_single_number_cell ... ok [INFO] [stdout] test raw_transfer_write::tests::test_decode_bool_true_false ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_sparse_rows_with_gaps ... ok [INFO] [stdout] test raw_transfer_v2::tests::test_string_cell_sst ... ok [INFO] [stdout] test raw_transfer_write::tests::test_buffer_too_short ... ok [INFO] [stdout] test raw_transfer_write::tests::test_decode_empty_buffer ... ok [INFO] [stdout] test raw_transfer_write::tests::test_decode_error ... ok [INFO] [stdout] test raw_transfer_write::tests::test_hand_constructed_dense_buffer ... ok [INFO] [stdout] test raw_transfer_write::tests::test_decode_single_number ... ok [INFO] [stdout] test raw_transfer_write::tests::test_decode_formula ... ok [INFO] [stdout] test raw_transfer_write::tests::test_decode_string_with_table ... ok [INFO] [stdout] test raw_transfer_write::tests::test_hand_constructed_sparse_buffer ... ok [INFO] [stdout] test raw_transfer_write::tests::test_dense_format_selected_for_dense_data ... ok [INFO] [stdout] test raw_transfer_write::tests::test_formula_result_not_preserved ... ok [INFO] [stdout] test raw_transfer_write::tests::test_decode_mixed_row ... ok [INFO] [stdout] test raw_transfer_write::tests::test_multiple_rows_and_columns ... ok [INFO] [stdout] test raw_transfer_write::tests::test_header_fields ... ok [INFO] [stdout] test raw_transfer_write::tests::test_invalid_magic ... ok [INFO] [stdout] test render::tests::test_border_line_attrs_thick_with_color ... ok [INFO] [stdout] test render::tests::test_border_line_attrs_thin ... ok [INFO] [stdout] test raw_transfer_write::tests::test_rich_string_degrades_to_string ... ok [INFO] [stdout] test raw_transfer_write::tests::test_round_trip_cells_to_buffer ... ok [INFO] [stdout] test raw_transfer_write::tests::test_sparse_format_selected_for_sparse_data ... ok [INFO] [stdout] test raw_transfer_write::tests::test_string_deduplication ... ok [INFO] [stdout] test render::tests::test_render_border_lines ... ok [INFO] [stdout] test render::tests::test_render_bold_text ... ok [INFO] [stdout] test render::tests::test_render_center_aligned_text ... ok [INFO] [stdout] test render::tests::test_render_custom_row_heights ... ok [INFO] [stdout] test render::tests::test_render_invalid_range_returns_error ... ok [INFO] [stdout] test render::tests::test_render_colored_fill ... ok [INFO] [stdout] test render::tests::test_render_empty_sheet ... ok [INFO] [stdout] test render::tests::test_render_contains_cell_text ... ok [INFO] [stdout] test render::tests::test_render_contains_headers ... ok [INFO] [stdout] test render::tests::test_render_custom_col_widths ... ok [INFO] [stdout] test render::tests::test_render_font_color ... ok [INFO] [stdout] test render::tests::test_render_produces_valid_svg ... ok [INFO] [stdout] test render::tests::test_render_scale_negative_returns_error ... ok [INFO] [stdout] test render::tests::test_render_italic_text ... ok [INFO] [stdout] test render::tests::test_render_scale_zero_returns_error ... ok [INFO] [stdout] test render::tests::test_render_right_aligned_text ... ok [INFO] [stdout] test render::tests::test_render_no_gridlines ... ok [INFO] [stdout] test render::tests::test_render_no_headers ... ok [INFO] [stdout] test render::tests::test_render_scale_affects_dimensions ... ok [INFO] [stdout] test render::tests::test_render_with_range ... ok [INFO] [stdout] test render::tests::test_render_strikethrough_text ... ok [INFO] [stdout] test render::tests::test_render_underline_and_strikethrough_merged ... ok [INFO] [stdout] test render::tests::test_render_underline_text ... ok [INFO] [stdout] test render::tests::test_render_with_gridlines ... ok [INFO] [stdout] test render::tests::test_style_color_to_hex_argb ... ok [INFO] [stdout] test render::tests::test_style_color_to_hex_prefixed_argb ... ok [INFO] [stdout] test render::tests::test_style_color_to_hex_theme_defaults_to_black ... ok [INFO] [stdout] test render::tests::test_style_color_to_hex_rgb ... ok [INFO] [stdout] test render::tests::test_xml_escape_special_chars ... ok [INFO] [stdout] test render::tests::test_render_xml_escaping ... ok [INFO] [stdout] test render::tests::test_style_color_to_hex_already_prefixed ... ok [INFO] [stdout] test render::tests::test_render_with_shared_strings ... ok [INFO] [stdout] test rich_text::tests::test_rich_text_to_plain ... ok [INFO] [stdout] test render::tests::test_style_color_to_hex_no_double_hash ... ok [INFO] [stdout] test rich_text::tests::test_space_preservation ... ok [INFO] [stdout] test rich_text::tests::test_xml_to_run_no_formatting ... ok [INFO] [stdout] test row::tests::test_duplicate_row_inserts_copy_below ... ok [INFO] [stdout] test rich_text::tests::test_run_to_xml_bold ... ok [INFO] [stdout] test rich_text::tests::test_run_to_xml_plain ... ok [INFO] [stdout] test rich_text::tests::test_runs_to_si ... ok [INFO] [stdout] test row::tests::test_get_row_height_nonexistent_returns_none ... ok [INFO] [stdout] test rich_text::tests::test_xml_to_run_roundtrip ... ok [INFO] [stdout] test row::tests::test_duplicate_nonexistent_row_returns_error ... ok [INFO] [stdout] test row::tests::test_duplicate_row_to_specific_target ... ok [INFO] [stdout] test row::tests::test_get_row_outline_level_nonexistent_row ... ok [INFO] [stdout] test row::tests::test_get_row_style_default_is_zero ... ok [INFO] [stdout] test row::tests::test_get_row_visible_after_hide ... ok [INFO] [stdout] test row::tests::test_get_row_outline_level_after_set ... ok [INFO] [stdout] test row::tests::test_get_row_visible_after_hide_then_show ... ok [INFO] [stdout] test row::tests::test_get_row_outline_level_default_is_zero ... ok [INFO] [stdout] test row::tests::test_get_row_visible_default_is_true ... ok [INFO] [stdout] test row::tests::test_get_row_style_after_set ... ok [INFO] [stdout] test row::tests::test_get_row_style_nonexistent_row_is_zero ... ok [INFO] [stdout] test row::tests::test_get_row_outline_level_after_clear ... ok [INFO] [stdout] test row::tests::test_get_rows_returns_numeric_values ... ok [INFO] [stdout] test row::tests::test_get_rows_skips_rows_with_no_cells ... ok [INFO] [stdout] test row::tests::test_get_row_visible_nonexistent_row_is_true ... ok [INFO] [stdout] test row::tests::test_get_rows_empty_sheet ... ok [INFO] [stdout] test row::tests::test_get_rows_mixed_types ... ok [INFO] [stdout] test row::tests::test_get_rows_shared_strings ... ok [INFO] [stdout] test row::tests::test_get_rows_with_formula ... ok [INFO] [stdout] test row::tests::test_get_rows_with_inline_string ... ok [INFO] [stdout] test row::tests::test_insert_rows_at_row_1 ... ok [INFO] [stdout] test row::tests::test_insert_rows_shifts_cells_down ... ok [INFO] [stdout] test row::tests::test_remove_first_row ... ok [INFO] [stdout] test row::tests::test_insert_rows_beyond_max_returns_error ... ok [INFO] [stdout] test row::tests::test_insert_rows_count_zero_is_noop ... ok [INFO] [stdout] test row::tests::test_insert_rows_on_empty_sheet ... ok [INFO] [stdout] test row::tests::test_insert_rows_row_zero_returns_error ... ok [INFO] [stdout] test row::tests::test_remove_nonexistent_row_still_shifts ... ok [INFO] [stdout] test row::tests::test_remove_row_shifts_up ... ok [INFO] [stdout] test row::tests::test_remove_row_zero_returns_error ... ok [INFO] [stdout] test row::tests::test_set_row_height_negative_returns_error ... ok [INFO] [stdout] test row::tests::test_set_row_height_row_zero_returns_error ... ok [INFO] [stdout] test row::tests::test_set_row_outline_level ... ok [INFO] [stdout] test row::tests::test_set_and_get_row_height ... ok [INFO] [stdout] test row::tests::test_set_row_height_creates_row_if_missing ... ok [INFO] [stdout] test row::tests::test_set_row_height_exceeds_max_returns_error ... ok [INFO] [stdout] test row::tests::test_set_row_height_max_is_valid ... ok [INFO] [stdout] test row::tests::test_set_row_height_zero_is_valid ... ok [INFO] [stdout] test row::tests::test_set_row_hidden ... ok [INFO] [stdout] test row::tests::test_set_row_outline_level_exceeds_max_returns_error ... ok [INFO] [stdout] test row::tests::test_set_row_style_applies_style ... ok [INFO] [stdout] test row::tests::test_set_row_style_creates_row_if_missing ... ok [INFO] [stdout] test row::tests::test_set_row_outline_level_row_zero_returns_error ... ok [INFO] [stdout] test row::tests::test_set_row_outline_level_zero_clears ... ok [INFO] [stdout] test row::tests::test_set_row_style_applies_to_existing_cells ... ok [INFO] [stdout] test row::tests::test_set_row_style_row_zero_returns_error ... ok [INFO] [stdout] test row::tests::test_set_row_style_zero_clears_custom_format ... ok [INFO] [stdout] test row::tests::test_set_row_visible_clears_hidden ... ok [INFO] [stdout] test row::tests::test_set_row_visible_creates_row_if_missing ... ok [INFO] [stdout] test row::tests::test_set_row_visible_row_zero_returns_error ... ok [INFO] [stdout] test shape::tests::test_add_shape_sheet_not_found ... ok [INFO] [stdout] test shape::tests::test_build_shape_anchor_basic ... ok [INFO] [stdout] test shape::tests::test_build_shape_anchor_invalid_cell ... ok [INFO] [stdout] test shape::tests::test_build_shape_anchor_with_fill_and_line ... ok [INFO] [stdout] test shape::tests::test_build_shape_anchor_with_text ... ok [INFO] [stdout] test shape::tests::test_build_shape_various_types ... ok [INFO] [stdout] test shape::tests::test_shape_line_width_only ... ok [INFO] [stdout] test shape::tests::test_add_shape_to_workbook_and_save ... ok [INFO] [stdout] test sheet::tests::test_add_sheet_basic ... ok [INFO] [stdout] test sheet::tests::test_add_sheet_duplicate_returns_error ... ok [INFO] [stdout] test sheet::tests::test_add_sheet_invalid_name_returns_error ... ok [INFO] [stdout] test sheet::tests::test_copy_nonexistent_sheet_returns_error ... ok [INFO] [stdout] test sheet::tests::test_copy_sheet_basic ... ok [INFO] [stdout] test shape::tests::test_shape_type_from_str ... ok [INFO] [stdout] test sheet::tests::test_copy_sheet_to_existing_name_returns_error ... ok [INFO] [stdout] test shape::tests::test_shape_type_preset_names ... ok [INFO] [stdout] test sheet::tests::test_active_sheet_index_default ... ok [INFO] [stdout] test sheet::tests::test_delete_last_sheet_returns_error ... ok [INFO] [stdout] test sheet::tests::test_delete_nonexistent_sheet_returns_error ... ok [INFO] [stdout] test sheet::tests::test_delete_sheet_basic ... ok [INFO] [stdout] test sheet::tests::test_find_sheet_index ... ok [INFO] [stdout] test sheet::tests::test_get_default_col_width ... ok [INFO] [stdout] test sheet::tests::test_get_default_row_height ... ok [INFO] [stdout] test sheet::tests::test_get_panes_none_when_not_set ... ok [INFO] [stdout] test sheet::tests::test_get_panes_returns_value_after_set ... ok [INFO] [stdout] test sheet::tests::test_get_sheet_view_options_defaults ... ok [INFO] [stdout] test sheet::tests::test_get_tab_color ... ok [INFO] [stdout] test sheet::tests::test_get_tab_color_none ... ok [INFO] [stdout] test sheet::tests::test_is_sheet_protected ... ok [INFO] [stdout] test sheet::tests::test_multiple_add_delete_consistency ... ok [INFO] [stdout] test sheet::tests::test_next_rid ... ok [INFO] [stdout] test sheet::tests::test_next_rid_empty ... ok [INFO] [stdout] test sheet::tests::test_next_sheet_id ... ok [INFO] [stdout] test sheet::tests::test_next_sheet_id_empty ... ok [INFO] [stdout] test sheet::tests::test_protect_sheet_no_password ... ok [INFO] [stdout] test sheet::tests::test_protect_sheet_with_password ... ok [INFO] [stdout] test sheet::tests::test_protect_sheet_with_permissions ... ok [INFO] [stdout] test sheet::tests::test_rename_nonexistent_sheet_returns_error ... ok [INFO] [stdout] test sheet::tests::test_rename_sheet_basic ... ok [INFO] [stdout] test sheet::tests::test_rename_sheet_to_existing_returns_error ... ok [INFO] [stdout] test sheet::tests::test_set_active_sheet_index ... ok [INFO] [stdout] test sheet::tests::test_set_default_col_width ... ok [INFO] [stdout] test shape::tests::test_add_shape_with_chart_same_sheet_save ... ok [INFO] [stdout] test sheet::tests::test_set_default_col_width_exceeds_max ... ok [INFO] [stdout] test sheet::tests::test_set_default_row_height ... ok [INFO] [stdout] test shape::tests::test_save_with_shape ... ok [INFO] [stdout] test shape::tests::test_add_multiple_shapes_same_sheet_save ... ok [INFO] [stdout] test sheet::tests::test_set_panes_freeze_both ... ok [INFO] [stdout] test sheet::tests::test_set_panes_freeze_col ... ok [INFO] [stdout] test sheet::tests::test_set_panes_freeze_row ... ok [INFO] [stdout] test sheet::tests::test_set_panes_overwrites_previous ... ok [INFO] [stdout] test sheet::tests::test_set_panes_a1_error ... ok [INFO] [stdout] test sheet::tests::test_set_panes_freeze_multiple_cols ... ok [INFO] [stdout] test sheet::tests::test_set_panes_freeze_multiple_rows ... ok [INFO] [stdout] test sheet::tests::test_set_panes_invalid_cell_error ... ok [INFO] [stdout] test sheet::tests::test_set_default_row_height_exceeds_max ... ok [INFO] [stdout] test sheet::tests::test_set_panes_selection_has_pane_attribute ... ok [INFO] [stdout] test sheet::tests::test_set_sheet_view_options_basic ... ok [INFO] [stdout] test sheet::tests::test_sheet_visibility_from_xml_str ... ok [INFO] [stdout] test sheet::tests::test_set_sheet_view_options_does_not_break_panes ... ok [INFO] [stdout] test sheet::tests::test_set_sheet_view_options_preserves_existing ... ok [INFO] [stdout] test sheet::tests::test_set_sheet_view_options_zoom_out_of_range ... ok [INFO] [stdout] test sheet::tests::test_set_tab_color ... ok [INFO] [stdout] test sheet::tests::test_sheet_visibility_as_xml_str ... ok [INFO] [stdout] test sheet::tests::test_validate_invalid_chars ... ok [INFO] [stdout] test sheet::tests::test_unprotect_sheet ... ok [INFO] [stdout] test sheet::tests::test_unset_panes ... ok [INFO] [stdout] test sheet::tests::test_unset_panes_noop_when_no_views ... ok [INFO] [stdout] test sheet::tests::test_validate_empty_name ... ok [INFO] [stdout] test sheet::tests::test_validate_exactly_max_length_is_ok ... ok [INFO] [stdout] test sheet::tests::test_validate_single_quote_boundary ... ok [INFO] [stdout] test slicer::tests::test_slicer_info_struct ... ok [INFO] [stdout] test sheet::tests::test_validate_valid_name ... ok [INFO] [stdout] test sheet::tests::test_view_mode_as_str ... ok [INFO] [stdout] test sheet::tests::test_view_mode_from_str ... ok [INFO] [stdout] test slicer::tests::test_slicer_cache_name ... ok [INFO] [stdout] test sheet::tests::test_validate_too_long_name ... ok [INFO] [stdout] test slicer::tests::test_validate_slicer_config_empty_cell ... ok [INFO] [stdout] test sparkline::tests::test_config_to_xml_group_column ... ok [INFO] [stdout] test slicer::tests::test_validate_slicer_config_empty_column ... ok [INFO] [stdout] test slicer::tests::test_validate_slicer_config_empty_name ... ok [INFO] [stdout] test slicer::tests::test_validate_slicer_config_empty_table ... ok [INFO] [stdout] test slicer::tests::test_validate_slicer_config_invalid_cell ... ok [INFO] [stdout] test slicer::tests::test_validate_slicer_config_valid ... ok [INFO] [stdout] test sparkline::tests::test_config_to_xml_group_line ... ok [INFO] [stdout] test sparkline::tests::test_validate_sparkline_config_ok ... ok [INFO] [stdout] test sparkline::tests::test_config_to_xml_group_winloss ... ok [INFO] [stdout] test sparkline::tests::test_sparkline_config_new ... ok [INFO] [stdout] test sparkline::tests::test_sparkline_type_as_str ... ok [INFO] [stdout] test sparkline::tests::test_sparkline_type_default ... ok [INFO] [stdout] test sparkline::tests::test_sparkline_type_parse ... ok [INFO] [stdout] test sparkline::tests::test_validate_sparkline_empty_location ... ok [INFO] [stdout] test sst::tests::test_from_sst_empty_items ... ok [INFO] [stdout] test sparkline::tests::test_validate_sparkline_empty_range ... ok [INFO] [stdout] test sparkline::tests::test_validate_sparkline_invalid_style ... ok [INFO] [stdout] test sparkline::tests::test_validate_sparkline_invalid_weight ... ok [INFO] [stdout] test sst::tests::test_add_owned_then_to_sst ... ok [INFO] [stdout] test sst::tests::test_add_rich_text ... ok [INFO] [stdout] test sst::tests::test_from_sst_mixed_plain_and_rich_text ... ok [INFO] [stdout] test sst::tests::test_sst_add_owned ... ok [INFO] [stdout] test sst::tests::test_from_sst_zero_copy_plain_text ... ok [INFO] [stdout] test sst::tests::test_get_rich_text_none_for_plain ... ok [INFO] [stdout] test sst::tests::test_rich_text_roundtrip_through_sst ... ok [INFO] [stdout] test sst::tests::test_space_preserve_roundtrip ... ok [INFO] [stdout] test sst::tests::test_sst_add_deduplicates ... ok [INFO] [stdout] test sst::tests::test_sst_add_returns_index ... ok [INFO] [stdout] test sst::tests::test_sst_default ... ok [INFO] [stdout] test sst::tests::test_sst_from_xml_and_back ... ok [INFO] [stdout] test stream::tests::test_add_merge_cell_empty_reference ... ok [INFO] [stdout] test sst::tests::test_sst_from_xml_rich_text ... ok [INFO] [stdout] test sst::tests::test_sst_get ... ok [INFO] [stdout] test sst::tests::test_sst_new_is_empty ... ok [INFO] [stdout] test stream::tests::test_add_merge_cell_after_finish_fails ... ok [INFO] [stdout] test stream::tests::test_add_merge_cell_invalid_cell_name ... ok [INFO] [stdout] test stream::tests::test_bool_values ... ok [INFO] [stdout] test stream::tests::test_add_merge_cell_invalid_reference ... ok [INFO] [stdout] test stream::tests::test_col_options_combined_with_widths ... ok [INFO] [stdout] test stream::tests::test_col_outline_after_rows_error ... ok [INFO] [stdout] test stream::tests::test_col_outline_level_exceeded ... ok [INFO] [stdout] test stream::tests::test_basic_write_and_finish ... ok [INFO] [stdout] test stream::tests::test_col_style ... ok [INFO] [stdout] test stream::tests::test_col_visible ... ok [INFO] [stdout] test stream::tests::test_col_outline_level ... ok [INFO] [stdout] test stream::tests::test_col_visible_after_rows_error ... ok [INFO] [stdout] test stream::tests::test_col_style_after_rows_error ... ok [INFO] [stdout] test stream::tests::test_date_value ... ok [INFO] [stdout] test stream::tests::test_col_width_in_output_xml ... ok [INFO] [stdout] test stream::tests::test_col_width_after_rows_returns_error ... ok [INFO] [stdout] test stream::tests::test_col_width_invalid_column_zero ... ok [INFO] [stdout] test stream::tests::test_all_value_types_in_single_row ... ok [INFO] [stdout] test stream::tests::test_duplicate_row_number_fails ... ok [INFO] [stdout] test stream::tests::test_error_value ... ok [INFO] [stdout] test stream::tests::test_finish_twice_returns_error ... ok [INFO] [stdout] test stream::tests::test_empty_values_are_skipped ... ok [INFO] [stdout] test stream::tests::test_error_value_xml_escaping ... ok [INFO] [stdout] test stream::tests::test_date_value_with_time ... ok [INFO] [stdout] test stream::tests::test_empty_row_produces_valid_xml ... ok [INFO] [stdout] test stream::tests::test_formula_with_string_result ... ok [INFO] [stdout] test stream::tests::test_formula_with_error_result ... ok [INFO] [stdout] test stream::tests::test_finish_with_cols_and_no_rows ... ok [INFO] [stdout] test stream::tests::test_formula_with_bool_result ... ok [INFO] [stdout] test stream::tests::test_finish_with_no_rows ... ok [INFO] [stdout] test stream::tests::test_formula_value ... ok [INFO] [stdout] test stream::tests::test_formula_with_numeric_result ... ok [INFO] [stdout] test stream::tests::test_formula_without_result ... ok [INFO] [stdout] test stream::tests::test_freeze_panes_a1_error ... ok [INFO] [stdout] test stream::tests::test_freeze_panes_after_finish_error ... ok [INFO] [stdout] test stream::tests::test_freeze_panes_after_rows_error ... ok [INFO] [stdout] test stream::tests::test_freeze_panes_invalid_cell_error ... ok [INFO] [stdout] test stream::tests::test_freeze_panes_rows ... ok [INFO] [stdout] test stream::tests::test_freeze_panes_appears_before_cols ... ok [INFO] [stdout] test stream::tests::test_freeze_panes_cols ... ok [INFO] [stdout] test stream::tests::test_inline_strings_used ... ok [INFO] [stdout] test stream::tests::test_freeze_panes_both ... ok [INFO] [stdout] test stream::tests::test_no_freeze_panes_no_sheet_views ... ok [INFO] [stdout] test stream::tests::test_merge_cells_in_output ... ok [INFO] [stdout] test stream::tests::test_into_streamed_data_returns_valid_data ... ok [INFO] [stdout] test stream::tests::test_multiple_merge_cells ... ok [INFO] [stdout] test stream::tests::test_number_value ... ok [INFO] [stdout] test stream::tests::test_rich_string_xml_escaping ... ok [INFO] [stdout] test stream::tests::test_row_out_of_order_fails ... ok [INFO] [stdout] test stream::tests::test_rows_in_order_succeeds ... ok [INFO] [stdout] test stream::tests::test_rows_with_gaps_succeeds ... ok [INFO] [stdout] test stream::tests::test_parse_output_xml_back ... ok [INFO] [stdout] test stream::tests::test_set_col_width_after_finish_fails ... ok [INFO] [stdout] test stream::tests::test_rich_string_to_inline_plain_text ... ok [INFO] [stdout] test stream::tests::test_row_zero_fails ... ok [INFO] [stdout] test stream::tests::test_set_col_width_before_rows ... ok [INFO] [stdout] test stream::tests::test_set_col_width_range ... ok [INFO] [stdout] test stream::tests::test_sheet_name_getter ... ok [INFO] [stdout] test stream::tests::test_streamed_sheet_data_try_clone ... ok [INFO] [stdout] test stream::tests::test_write_row_backward_compat ... ok [INFO] [stdout] test stream::tests::test_write_after_finish_returns_error ... ok [INFO] [stdout] test stream::tests::test_write_row_with_options_all ... ok [INFO] [stdout] test stream::tests::test_write_row_with_options_height ... ok [INFO] [stdout] test stream::tests::test_write_row_with_options_height_exceeded ... ok [INFO] [stdout] test stream::tests::test_write_row_with_options_hidden ... ok [INFO] [stdout] test stream::tests::test_write_row_with_options_outline_level ... ok [INFO] [stdout] test stream::tests::test_write_row_with_options_outline_level_exceeded ... ok [INFO] [stdout] test stream::tests::test_write_row_with_options_visible_true_no_hidden_attr ... ok [INFO] [stdout] test stream::tests::test_write_row_with_style ... ok [INFO] [stdout] test stream::tests::test_write_row_with_options_style ... ok [INFO] [stdout] test stream::tests::test_write_rows_backward_error ... ok [INFO] [stdout] test stream::tests::test_write_rows_empty ... ok [INFO] [stdout] test stream::tests::test_write_rows_mixed_with_single ... ok [INFO] [stdout] test stream::tests::test_write_rows_basic ... ok [INFO] [stdout] test stream::tests::test_write_rows_overflow ... ok [INFO] [stdout] test stream::tests::test_xml_escape_in_formula ... ok [INFO] [stdout] test stream_reader::tests::test_all_cell_types ... ok [INFO] [stdout] test stream_reader::tests::test_basic_batch_reading ... ok [INFO] [stdout] test stream::tests::test_xml_escape_in_string ... ok [INFO] [stdout] test stream_reader::tests::test_batch_size_one ... ok [INFO] [stdout] test stream_reader::tests::test_cell_with_no_value ... ok [INFO] [stdout] test stream_reader::tests::test_empty_sheet ... ok [INFO] [stdout] test stream_reader::tests::test_empty_rows_count_against_limit ... ok [INFO] [stdout] test stream_reader::tests::test_empty_rows_are_skipped ... ok [INFO] [stdout] test stream_reader::tests::test_formula_with_cached_boolean ... ok [INFO] [stdout] test stream_reader::tests::test_boolean_false ... ok [INFO] [stdout] test stream_reader::tests::test_formula_with_cached_number ... ok [INFO] [stdout] test stream_reader::tests::test_formula_with_cached_error ... ok [INFO] [stdout] test stream_reader::tests::test_formula_with_cached_string ... ok [INFO] [stdout] test stream_reader::tests::test_formula_without_cached_value ... ok [INFO] [stdout] test stream_reader::tests::test_has_more_transitions ... ok [INFO] [stdout] test stream_reader::tests::test_inline_string_with_rich_text_runs ... ok [INFO] [stdout] test stream_reader::tests::test_integration_sheet_not_found ... ok [INFO] [stdout] test stream_reader::tests::test_reader_close ... ok [INFO] [stdout] test stream_reader::tests::test_integration_date_interpretation_num_fmt_promotes_date_styles ... ok [INFO] [stdout] test stream_reader::tests::test_reader_drop_without_reading_all ... ok [INFO] [stdout] test stream_reader::tests::test_row_limit ... ok [INFO] [stdout] test stream_reader::tests::test_row_limit_zero ... ok [INFO] [stdout] test stream_reader::tests::test_shared_string_out_of_bounds ... ok [INFO] [stdout] test stream_reader::tests::test_self_closing_cell_element ... ok [INFO] [stdout] test stream_reader::tests::test_shared_string_resolution ... ok [INFO] [stdout] test stream_reader::tests::test_sparse_rows ... ok [INFO] [stdout] test style::tests::test_add_bold_font_style ... ok [INFO] [stdout] test style::tests::test_add_different_styles_different_ids ... ok [INFO] [stdout] test style::tests::test_add_same_style_twice_deduplication ... ok [INFO] [stdout] test style::tests::test_alignment_horizontal_center ... ok [INFO] [stdout] test style::tests::test_alignment_text_rotation ... ok [INFO] [stdout] test stream_reader::tests::test_integration_with_saved_workbook ... ok [INFO] [stdout] test shape::tests::test_save_shape_roundtrip ... ok [INFO] [stdout] test stream_reader::tests::test_integration_date_interpretation_cell_type_opt_in ... ok [INFO] [stdout] test style::tests::test_alignment_vertical_top ... ok [INFO] [stdout] test style::tests::test_border_line_style_roundtrip ... ok [INFO] [stdout] test style::tests::test_border_medium ... ok [INFO] [stdout] test stream_reader::tests::test_integration_with_row_limit ... ok [INFO] [stdout] test style::tests::test_builtin_num_fmt_constants ... ok [INFO] [stdout] test style::tests::test_combined_style_all_components ... ok [INFO] [stdout] test style::tests::test_border_thick ... ok [INFO] [stdout] test style::tests::test_compute_style_is_date_custom ... ok [INFO] [stdout] test style::tests::test_border_thin_all_sides ... ok [INFO] [stdout] test style::tests::test_compute_style_is_date_builtin ... ok [INFO] [stdout] test style::tests::test_fill_pattern ... ok [INFO] [stdout] test style::tests::test_compute_style_is_date_default_stylesheet ... ok [INFO] [stdout] test style::tests::test_fill_solid_color ... ok [INFO] [stdout] test style::tests::test_compute_style_is_date_missing_custom_format ... ok [INFO] [stdout] test style::tests::test_fill_deduplication ... ok [INFO] [stdout] test style::tests::test_font_strikethrough ... ok [INFO] [stdout] test style::tests::test_font_custom_name_and_size ... ok [INFO] [stdout] test style::tests::test_font_deduplication ... ok [INFO] [stdout] test style::tests::test_font_underline ... ok [INFO] [stdout] test style::tests::test_font_italic ... ok [INFO] [stdout] test style::tests::test_get_style_roundtrip_alignment ... ok [INFO] [stdout] test style::tests::test_font_with_rgb_color ... ok [INFO] [stdout] test style::tests::test_get_style_roundtrip_bold ... ok [INFO] [stdout] test style::tests::test_get_style_default ... ok [INFO] [stdout] test style::tests::test_get_style_invalid_id ... ok [INFO] [stdout] test style::tests::test_get_style_roundtrip_fill ... ok [INFO] [stdout] test style::tests::test_get_style_roundtrip_num_fmt_custom ... ok [INFO] [stdout] test style::tests::test_get_style_roundtrip_protection ... ok [INFO] [stdout] test style::tests::test_num_fmt_builtin ... ok [INFO] [stdout] test style::tests::test_multiple_custom_num_fmts ... ok [INFO] [stdout] test style::tests::test_num_fmt_custom ... ok [INFO] [stdout] test style::tests::test_horizontal_align_roundtrip ... ok [INFO] [stdout] test style::tests::test_pattern_type_roundtrip ... ok [INFO] [stdout] test style::tests::test_num_fmt_custom_deduplication ... ok [INFO] [stdout] test style::tests::test_protection_locked ... ok [INFO] [stdout] test style::tests::test_protection_hidden ... ok [INFO] [stdout] test style::tests::test_style_builder_alignment ... ok [INFO] [stdout] test style::tests::test_style_builder_border_all ... ok [INFO] [stdout] test style::tests::test_style_builder_border_individual_sides ... ok [INFO] [stdout] test style::tests::test_style_builder_empty ... ok [INFO] [stdout] test style::tests::test_alignment_wrap_text ... ok [INFO] [stdout] test style::tests::test_style_builder_fill_pattern_and_colors ... ok [INFO] [stdout] test style::tests::test_style_builder_default_equivalent ... ok [INFO] [stdout] test style::tests::test_style_builder_full_style ... ok [INFO] [stdout] test style::tests::test_style_builder_font ... ok [INFO] [stdout] test style::tests::test_style_builder_font_color_typed ... ok [INFO] [stdout] test style::tests::test_style_builder_integrates_with_add_style ... ok [INFO] [stdout] test style::tests::test_style_builder_font_underline_strikethrough ... ok [INFO] [stdout] test style::tests::test_style_builder_solid_fill ... ok [INFO] [stdout] test style::tests::test_get_style_roundtrip_num_fmt_builtin ... ok [INFO] [stdout] test style::tests::test_style_builder_protection ... ok [INFO] [stdout] test style::tests::test_style_builder_num_format_builtin ... ok [INFO] [stdout] test style::tests::test_style_color_indexed_roundtrip ... ok [INFO] [stdout] test style::tests::test_style_builder_num_format_custom ... ok [INFO] [stdout] test style::tests::test_xf_count_maintained ... ok [INFO] [stdout] test style::tests::test_style_color_rgb_roundtrip ... ok [INFO] [stdout] test style::tests::test_style_color_theme_roundtrip ... ok [INFO] [stdout] test style::tests::test_vertical_align_roundtrip ... ok [INFO] [stdout] test table::tests::test_auto_filter_xml_roundtrip ... ok [INFO] [stdout] test table::tests::test_overwrite_auto_filter ... ok [INFO] [stdout] test table::tests::test_remove_auto_filter ... ok [INFO] [stdout] test table::tests::test_build_table_xml ... ok [INFO] [stdout] test table::tests::test_build_table_xml_no_header ... ok [INFO] [stdout] test table::tests::test_remove_auto_filter_when_none ... ok [INFO] [stdout] test table::tests::test_set_auto_filter ... ok [INFO] [stdout] test table::tests::test_validate_table_config_empty_name ... ok [INFO] [stdout] test table::tests::test_table_config_default ... ok [INFO] [stdout] test table::tests::test_table_xml_to_info ... ok [INFO] [stdout] test table::tests::test_table_config_creation ... ok [INFO] [stdout] test table::tests::test_validate_table_config_empty_range ... ok [INFO] [stdout] test theme::tests::test_apply_tint_lighten ... ok [INFO] [stdout] test table::tests::test_validate_table_config_no_columns ... ok [INFO] [stdout] test table::tests::test_validate_table_config_valid ... ok [INFO] [stdout] test theme::tests::test_apply_tint_darken ... ok [INFO] [stdout] test theme::tests::test_apply_tint_zero ... ok [INFO] [stdout] test theme::tests::test_default_theme_has_all_colors ... ok [INFO] [stdout] test style::tests::test_style_builder_protection_unlock ... ok [INFO] [stdout] test theme::tests::test_resolve_theme_color_with_positive_tint ... ok [INFO] [stdout] test theme::tests::test_resolve_invalid_index ... ok [INFO] [stdout] test threaded_comment::tests::test_add_comment_invalid_cell_reference ... ok [INFO] [stdout] test theme::tests::test_resolve_theme_color_no_tint ... ok [INFO] [stdout] test theme::tests::test_default_theme_xml_parseable ... ok [INFO] [stdout] test threaded_comment::tests::test_add_duplicate_person ... ok [INFO] [stdout] test threaded_comment::tests::test_comment_has_timestamp ... ok [INFO] [stdout] test threaded_comment::tests::test_delete_nonexistent_comment ... ok [INFO] [stdout] test threaded_comment::tests::test_add_person ... ok [INFO] [stdout] test threaded_comment::tests::test_add_reply ... ok [INFO] [stdout] test threaded_comment::tests::test_add_threaded_comment ... ok [INFO] [stdout] test threaded_comment::tests::test_delete_nonexistent_returns_error ... ok [INFO] [stdout] test threaded_comment::tests::test_done_field_accepts_true_string ... ok [INFO] [stdout] test threaded_comment::tests::test_delete_one_of_multiple ... ok [INFO] [stdout] test threaded_comment::tests::test_delete_threaded_comment ... ok [INFO] [stdout] test threaded_comment::tests::test_generated_id_format ... ok [INFO] [stdout] test threaded_comment::tests::test_get_persons_empty ... ok [INFO] [stdout] test threaded_comment::tests::test_no_id_collision_with_existing_workbook ... ok [INFO] [stdout] test threaded_comment::tests::test_get_threaded_comments_empty ... ok [INFO] [stdout] test threaded_comment::tests::test_person_auto_created_on_add_comment ... ok [INFO] [stdout] test threaded_comment::tests::test_multiple_authors_multiple_cells ... ok [INFO] [stdout] test threaded_comment::tests::test_resolve_nonexistent_returns_error ... ok [INFO] [stdout] test threaded_comment::tests::test_reply_to_nonexistent_parent ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_a1 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_aa1 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_absolute_a1 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_absolute_ab100 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_col_too_large_err ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_empty_err ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_max ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_mixed_absolute ... ok [INFO] [stdout] test threaded_comment::tests::test_generated_ids_are_unique ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_only_letters_err ... ok [INFO] [stdout] test threaded_comment::tests::test_resolve_nonexistent ... ok [INFO] [stdout] test threaded_comment::tests::test_resolve_threaded_comment ... ok [INFO] [stdout] test threaded_comment::tests::test_get_by_cell ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_only_digits_err ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_roundtrip ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_z10 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_row_too_large_err ... ok [INFO] [stdout] test utils::cell_ref::tests::test_cell_row_zero_err ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_name_lowercase ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_name_a ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_name_aa ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_name_az ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_name_ba ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_name_with_digit ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_name_xfd ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_name_xfe_out_of_range ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_number_0_err ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_number_1 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_number_16384 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_number_16385_err ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_number_26 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_number_27 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_number_52 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_number_53 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_coords_1_1 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_coords_27_100 ... ok [INFO] [stdout] test utils::cell_ref::tests::test_coords_col_0_err ... ok [INFO] [stdout] test utils::cell_ref::tests::test_coords_col_too_large_err ... ok [INFO] [stdout] test utils::cell_ref::tests::test_coords_max ... ok [INFO] [stdout] test utils::cell_ref::tests::test_coords_row_0_err ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_name_empty ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_name_z ... ok [INFO] [stdout] test utils::cell_ref::tests::test_coords_row_too_large_err ... ok [INFO] [stdout] test utils::constants::tests::test_default_col_width ... ok [INFO] [stdout] test utils::constants::tests::test_default_row_height ... ok [INFO] [stdout] test utils::constants::tests::test_max_columns ... ok [INFO] [stdout] test utils::constants::tests::test_max_cell_styles ... ok [INFO] [stdout] test utils::constants::tests::test_max_row_height ... ok [INFO] [stdout] test utils::constants::tests::test_max_cell_chars ... ok [INFO] [stdout] test utils::constants::tests::test_max_font_size ... ok [INFO] [stdout] test utils::constants::tests::test_max_rows ... ok [INFO] [stdout] test utils::constants::tests::test_sheet_name_invalid_chars ... ok [INFO] [stdout] test utils::constants::tests::test_max_sheet_name_length ... ok [INFO] [stdout] test utils::constants::tests::test_stream_chunk_size ... ok [INFO] [stdout] test validation::tests::test_add_validation_rejects_missing_formula1_for_list ... ok [INFO] [stdout] test validation::tests::test_add_multiple_validations ... ok [INFO] [stdout] test validation::tests::test_add_validation_rejects_missing_formula2_for_between ... ok [INFO] [stdout] test validation::tests::test_add_validation_rejects_empty_sqref ... ok [INFO] [stdout] test validation::tests::test_add_validation_to_worksheet ... ok [INFO] [stdout] test validation::tests::test_config_to_xml_roundtrip ... ok [INFO] [stdout] test validation::tests::test_decimal_validation ... ok [INFO] [stdout] test validation::tests::test_dropdown_validation ... ok [INFO] [stdout] test validation::tests::test_get_validations ... ok [INFO] [stdout] test validation::tests::test_decimal_validation_xml_roundtrip ... ok [INFO] [stdout] test validation::tests::test_error_style_as_str ... ok [INFO] [stdout] test validation::tests::test_container_attrs_preserved_in_xml ... ok [INFO] [stdout] test validation::tests::test_ime_mode_preserved_in_xml ... ok [INFO] [stdout] test validation::tests::test_get_validations_empty ... ok [INFO] [stdout] test validation::tests::test_needs_formula2 ... ok [INFO] [stdout] test validation::tests::test_none_type_no_formula_required ... ok [INFO] [stdout] test utils::constants::tests::test_max_column_width ... ok [INFO] [stdout] test validation::tests::test_none_type_roundtrip ... ok [INFO] [stdout] test validation::tests::test_remove_last_validation_clears_container ... ok [INFO] [stdout] test validation::tests::test_remove_nonexistent_validation ... ok [INFO] [stdout] test validation::tests::test_remove_validation ... ok [INFO] [stdout] test validation::tests::test_show_drop_down_preserved_in_xml ... ok [INFO] [stdout] test validation::tests::test_text_length_validation ... ok [INFO] [stdout] test validation::tests::test_unknown_type_defaults_to_none ... ok [INFO] [stdout] test validation::tests::test_uses_operator ... ok [INFO] [stdout] test validation::tests::test_validate_sqref_invalid ... ok [INFO] [stdout] test validation::tests::test_validate_sqref_valid ... ok [INFO] [stdout] test validation::tests::test_validation_operator_as_str ... ok [INFO] [stdout] test validation::tests::test_validation_type_as_str ... ok [INFO] [stdout] test validation::tests::test_validation_xml_serialization_roundtrip ... ok [INFO] [stdout] test utils::cell_ref::tests::test_column_roundtrip_all ... ok [INFO] [stdout] test validation::tests::test_whole_number_validation ... ok [INFO] [stdout] test vba::tests::test_decompress_real_compressed_data ... ok [INFO] [stdout] test vba::tests::test_decompress_uncompressed_chunk ... ok [INFO] [stdout] test vba::tests::test_decompress_invalid_signature ... ok [INFO] [stdout] test vba::tests::test_decompress_empty_input ... ok [INFO] [stdout] test vba::tests::test_max_bit_count ... ok [INFO] [stdout] test vba::tests::test_parse_dir_stream_empty ... ok [INFO] [stdout] test vba::tests::test_vba_module_debug ... ok [INFO] [stdout] test vba::tests::test_vba_module_type_clone ... ok [INFO] [stdout] test vba::tests::test_xlsx_roundtrip_no_vba ... ok [INFO] [stdout] test vba::tests::test_xlsx_without_vba_returns_none ... ok [INFO] [stdout] test vml::tests::test_build_vml_drawing_empty ... ok [INFO] [stdout] test vml::tests::test_build_vml_drawing_multiple_cells ... ok [INFO] [stdout] test vml::tests::test_build_vml_drawing_single_cell ... ok [INFO] [stdout] test vml::tests::test_comment_anchor_format ... ok [INFO] [stdout] test vml::tests::test_extract_element_value ... ok [INFO] [stdout] test vml::tests::test_extract_vml_comment_cells ... ok [INFO] [stdout] test workbook::aux::tests::classify_chart_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_comment_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_doc_props_paths ... ok [INFO] [stdout] test workbook::aux::tests::classify_drawing_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_drawing_rels_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_image_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_person_list_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_pivot_cache_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_pivot_table_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_slicer_paths ... ok [INFO] [stdout] test workbook::aux::tests::classify_table_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_threaded_comment_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_unknown_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_vba_path ... ok [INFO] [stdout] test workbook::aux::tests::classify_vml_path ... ok [INFO] [stdout] test workbook::aux::tests::deferred_parts_not_duplicated_on_save ... ok [INFO] [stdout] test workbook::aux::tests::dirty_tracking ... ok [INFO] [stdout] test vba::tests::test_vba_roundtrip_with_xlsm ... ok [INFO] [stdout] test vba::tests::test_get_vba_modules_from_test_project ... ok [INFO] [stdout] test workbook::aux::tests::insert_and_take ... ok [INFO] [stdout] test workbook::aux::tests::is_empty_checks ... ok [INFO] [stdout] test workbook::aux::tests::hydrate_doc_props_on_set_custom_property ... ok [INFO] [stdout] test validation::tests::test_whole_number_validation_xml_roundtrip ... ok [INFO] [stdout] test workbook::aux::tests::lazy_open_doc_props_roundtrip ... ok [INFO] [stdout] test vba::tests::test_extract_vba_modules_invalid_cfb ... ok [INFO] [stdout] test workbook::aux::tests::rels_path_to_owner_basic ... ok [INFO] [stdout] test workbook::aux::tests::remaining_parts_iteration ... ok [INFO] [stdout] test workbook::aux::tests::remove_path ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_add_style_returns_id ... ok [INFO] [stdout] test workbook::aux::tests::lazy_open_add_table_after_deferred ... ok [INFO] [stdout] test workbook::aux::tests::lazy_open_set_doc_props_hydrates_first ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_cell_value_roundtrip_save_open ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_date_value_roundtrip_through_save ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_date_value_without_style_returns_number ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_fill_formula_invalid_range ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_fill_formula_multi_column_range_rejected ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_fill_formula_preserves_absolute_refs ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_fill_formula_single_cell ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_date_from_naive_date_conversion ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_get_cell_style_sheet_not_found ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_get_cell_rich_text_returns_none_for_plain ... ok [INFO] [stdout] test vba::tests::test_vba_project_preserved_in_save_roundtrip ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_get_cell_style_unstyled_cell_returns_none ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_fill_formula_basic ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_get_cell_value_cell_type_keeps_numbers ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_get_empty_cell_returns_empty ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_get_value_sheet_not_found ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_overwrite_cell_value ... ok [INFO] [stdout] test workbook::aux::tests::typed_deferred_parts_classifies_correctly ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_and_get_bool_value ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_and_get_cell_rich_text ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_and_get_date_value ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_and_get_error_value ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_get_cell_value_num_fmt_default_promotes_date_styled_cells ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_and_get_formula_value ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_and_get_number_value ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_and_get_string_value ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_cell_formula ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_rich_text_roundtrip_save_open ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_cell_style_on_existing_value ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_cell_style_sheet_not_found ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_get_rows_num_fmt_default_promotes_date_styled_cells ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_cell_values_empty_removes_cell ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_cells_different_rows ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_empty_value_clears_cell ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_i32_value ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_cell_style_invalid_id ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_multiple_cells_same_row ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_cell_values_batch ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_row_values ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_row_values_with_offset ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_sheet_data_merges_with_existing ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_get_rows_cell_type_keeps_numbers ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_string_at_max_length ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_value_sheet_not_found ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_string_deduplication_in_sst ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_sheet_data_with_offset ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_sheet_data_basic ... ok [INFO] [stdout] test workbook::data::tests::test_add_multiple_pivot_tables ... ok [INFO] [stdout] test workbook::data::tests::test_add_multiple_sparklines_to_same_sheet ... ok [INFO] [stdout] test workbook::data::tests::test_add_pivot_table_basic ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_cell_style_on_empty_cell_creates_cell ... ok [INFO] [stdout] test workbook::data::tests::test_add_pivot_table_duplicate_name ... ok [INFO] [stdout] test workbook::data::tests::test_add_pivot_table_on_separate_target_sheet ... ok [INFO] [stdout] test workbook::data::tests::test_add_pivot_table_source_sheet_not_found ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_string_too_long_returns_error ... ok [INFO] [stdout] test workbook::data::tests::test_add_pivot_table_target_sheet_not_found ... ok [INFO] [stdout] test workbook::data::tests::test_add_pivot_table_content_types_added ... ok [INFO] [stdout] test workbook::data::tests::test_add_pivot_table_with_columns ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_set_sheet_data_roundtrip ... ok [INFO] [stdout] test workbook::data::tests::test_add_pivot_table_workbook_rels_and_pivot_caches ... ok [INFO] [stdout] test workbook::data::tests::test_add_slicer_column_not_found ... ok [INFO] [stdout] test workbook::data::tests::test_add_slicer_correct_table_id_and_column ... ok [INFO] [stdout] test workbook::data::tests::test_add_slicer_basic ... ok [INFO] [stdout] test workbook::data::tests::test_add_slicer_table_not_found ... ok [INFO] [stdout] test workbook::data::tests::test_add_slicer_duplicate_name ... ok [INFO] [stdout] test workbook::data::tests::test_add_slicer_invalid_sheet ... ok [INFO] [stdout] test workbook::data::tests::test_add_sparkline_and_get_sparklines ... ok [INFO] [stdout] test workbook::data::tests::test_add_table_duplicate_name ... ok [INFO] [stdout] test workbook::data::tests::test_add_slicer_with_options ... ok [INFO] [stdout] test workbook::data::tests::test_add_table_and_get_tables ... ok [INFO] [stdout] test workbook::data::tests::test_add_pivot_table_worksheet_rels_added ... ok [INFO] [stdout] test workbook::data::tests::test_calculate_all_no_formulas ... ok [INFO] [stdout] test workbook::data::tests::test_calculate_all_with_dependency_order ... ok [INFO] [stdout] test workbook::data::tests::test_custom_property_multiple_types ... ok [INFO] [stdout] test workbook::data::tests::test_delete_pivot_table ... ok [INFO] [stdout] test workbook::data::tests::test_delete_pivot_table_not_found ... ok [INFO] [stdout] test workbook::data::tests::test_delete_pivot_table_then_add_another ... ok [INFO] [stdout] test workbook::data::tests::test_delete_slicer ... ok [INFO] [stdout] test workbook::data::tests::test_delete_slicer_cleans_content_types ... ok [INFO] [stdout] test workbook::data::tests::test_delete_slicer_cleans_workbook_rels ... ok [INFO] [stdout] test workbook::data::tests::test_delete_slicer_not_found ... ok [INFO] [stdout] test workbook::data::tests::test_calculate_all_no_formulas_keeps_lazy_sheet_clean ... ok [INFO] [stdout] test workbook::data::tests::test_doc_props_default_values ... ok [INFO] [stdout] test workbook::data::tests::test_custom_property_crud ... ok [INFO] [stdout] test workbook::data::tests::test_calculate_all_cycle_detection ... ok [INFO] [stdout] test workbook::data::tests::test_get_pivot_tables_after_add ... ok [INFO] [stdout] test workbook::data::tests::test_get_slicers_resolves_table_name ... ok [INFO] [stdout] test workbook::data::tests::test_get_pivot_tables_empty ... ok [INFO] [stdout] test workbook::aux::tests::lazy_open_table_roundtrip ... ok [INFO] [stdout] test workbook::data::tests::test_get_slicers_empty ... ok [INFO] [stdout] test workbook::data::tests::test_multiple_slicers_on_same_sheet ... ok [INFO] [stdout] test workbook::data::tests::test_doc_props_save_open_roundtrip ... ok [INFO] [stdout] test workbook::data::tests::test_lazy_get_slicers_without_mutation ... ok [INFO] [stdout] test workbook::data::tests::test_pivot_table_cache_definition_stores_source_info ... ok [INFO] [stdout] test workbook::data::tests::test_lazy_get_pivot_tables_without_mutation ... ok [INFO] [stdout] test workbook::data::tests::test_pivot_table_empty_header_row_error ... ok [INFO] [stdout] test workbook::data::tests::test_pivot_table_invalid_source_range ... ok [INFO] [stdout] test workbook::data::tests::test_lazy_get_doc_properties_without_mutation ... ok [INFO] [stdout] test workbook::data::tests::test_remove_nonexistent_sparkline_returns_error ... ok [INFO] [stdout] test workbook::data::tests::test_remove_sparkline_by_location ... ok [INFO] [stdout] test workbook::cell_ops::tests::test_style_roundtrip_save_open ... ok [INFO] [stdout] test workbook::data::tests::test_set_get_app_props ... ok [INFO] [stdout] test workbook::data::tests::test_set_get_doc_props ... ok [INFO] [stdout] test workbook::data::tests::test_slicer_content_types_added ... ok [INFO] [stdout] test workbook::data::tests::test_slicer_error_display ... ok [INFO] [stdout] test workbook::data::tests::test_open_without_doc_props ... ok [INFO] [stdout] test workbook::data::tests::test_slicer_worksheet_rels_added ... ok [INFO] [stdout] test workbook::data::tests::test_sparkline_empty_sheet_returns_empty_vec ... ok [INFO] [stdout] test workbook::data::tests::test_sparkline_on_nonexistent_sheet_returns_error ... ok [INFO] [stdout] test workbook::data::tests::test_pivot_table_field_names_from_data ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_chart_and_image_same_sheet ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_chart_basic ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_chart_sheet_not_found ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_charts_different_sheets ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_image_basic ... ok [INFO] [stdout] test workbook::data::tests::test_sparkline_save_open_roundtrip ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_image_invalid_config ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_image_new_format_content_type_default ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_image_sheet_not_found ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_image_svg_content_type_default ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_multiple_charts_same_sheet ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_image_emf_content_type_and_path ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_multiple_shapes_same_sheet ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_multiple_new_format_images ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_shape_and_chart_same_sheet ... ok [INFO] [stdout] test workbook::drawing::tests::test_add_shape_basic ... ok [INFO] [stdout] test workbook::drawing::tests::test_cross_sheet_shared_media_survives_single_delete ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_both_shared_media_pictures_cleans_up ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_chart_basic ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_chart_not_found ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_chart_preserves_image ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_chart_removes_content_type ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_chart_wrong_cell ... ok [INFO] [stdout] test workbook::data::tests::test_pivot_table_save_open_roundtrip ... ok [INFO] [stdout] test workbook::data::tests::test_slicer_table_on_wrong_sheet ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_chart_roundtrip ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_one_chart_keeps_others ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_picture_basic ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_one_picture_keeps_others ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_picture_not_found ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_picture_preserves_chart ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_picture_wrong_cell ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_picture_roundtrip ... ok [INFO] [stdout] test workbook::drawing::tests::test_get_picture_cells_returns_cells ... ok [INFO] [stdout] test workbook::drawing::tests::test_get_pictures_empty_cell ... ok [INFO] [stdout] test workbook::drawing::tests::test_get_pictures_returns_data ... ok [INFO] [stdout] test workbook::drawing::tests::test_delete_shared_media_keeps_other_picture ... ok [INFO] [stdout] test workbook::drawing::tests::test_get_pictures_wrong_cell ... ok [INFO] [stdout] test workbook::drawing::tests::test_get_picture_cells_empty ... ok [INFO] [stdout] test workbook::drawing::tests::test_save_with_image ... ok [INFO] [stdout] test workbook::drawing::tests::test_open_save_preserves_existing_drawing_chart_and_image_parts ... ok [INFO] [stdout] test workbook::drawing::tests::test_save_with_jpeg_image ... ok [INFO] [stdout] test workbook::data::tests::test_pivot_table_multiple_save_roundtrip ... ok [INFO] [stdout] test workbook::features::tests::test_add_table ... ok [INFO] [stdout] test workbook::features::tests::test_add_table_duplicate_name_error ... ok [INFO] [stdout] test workbook::data::tests::test_slicer_roundtrip ... ok [INFO] [stdout] test workbook::drawing::tests::test_save_with_chart_roundtrip_drawing_ref ... ok [INFO] [stdout] test workbook::drawing::tests::test_save_with_chart ... ok [INFO] [stdout] test workbook::features::tests::test_add_table_sheet_not_found ... ok [INFO] [stdout] test workbook::features::tests::test_add_table_invalid_config ... ok [INFO] [stdout] test workbook::features::tests::test_auto_filter_not_regressed_by_tables ... ok [INFO] [stdout] test workbook::features::tests::test_defined_name_sheet_scope_requires_existing_sheet ... ok [INFO] [stdout] test workbook::features::tests::test_delete_defined_name ... ok [INFO] [stdout] test workbook::features::tests::test_defined_name_roundtrip ... ok [INFO] [stdout] test workbook::drawing::tests::test_shared_media_save_preserves_image_data ... ok [INFO] [stdout] test workbook::features::tests::test_delete_nonexistent_defined_name_returns_error ... ok [INFO] [stdout] test workbook::features::tests::test_delete_hyperlink_via_workbook ... ok [INFO] [stdout] test workbook::features::tests::test_delete_sheet_removes_tables ... ok [INFO] [stdout] test workbook::features::tests::test_delete_table_wrong_sheet ... ok [INFO] [stdout] test workbook::features::tests::test_get_sheet_visibility_default ... ok [INFO] [stdout] test workbook::features::tests::test_get_tables_empty ... ok [INFO] [stdout] test workbook::features::tests::test_delete_table ... ok [INFO] [stdout] test workbook::features::tests::test_hyperlink_on_nonexistent_sheet ... ok [INFO] [stdout] test workbook::features::tests::test_get_all_defined_names ... ok [INFO] [stdout] test workbook::features::tests::test_get_tables_sheet_not_found ... ok [INFO] [stdout] test workbook::features::tests::test_is_sheet_protected_nonexistent_returns_error ... ok [INFO] [stdout] test workbook::features::tests::test_is_workbook_protected ... ok [INFO] [stdout] test workbook::features::tests::test_hyperlink_roundtrip_save_open ... ok [INFO] [stdout] test workbook::features::tests::test_lazy_get_tables_without_mutation ... ok [INFO] [stdout] test workbook::features::tests::test_delete_table_not_found ... ok [INFO] [stdout] test workbook::features::tests::test_lazy_get_persons_without_mutation ... ok [INFO] [stdout] test workbook::features::tests::test_protect_sheet_via_workbook ... ok [INFO] [stdout] test workbook::features::tests::test_multiple_tables_on_sheet ... ok [INFO] [stdout] test workbook::features::tests::test_protect_sheet_with_password_and_permissions ... ok [INFO] [stdout] test workbook::features::tests::test_protect_unprotect_workbook ... ok [INFO] [stdout] test workbook::features::tests::test_protect_workbook_structure_only ... ok [INFO] [stdout] test workbook::features::tests::test_protect_workbook_with_password ... ok [INFO] [stdout] test workbook::features::tests::test_protect_sheet_nonexistent_returns_error ... ok [INFO] [stdout] test workbook::features::tests::test_lazy_get_threaded_comments_without_mutation ... ok [INFO] [stdout] test workbook::features::tests::test_protect_workbook_save_roundtrip ... ok [INFO] [stdout] test workbook::features::tests::test_set_and_get_email_hyperlink ... ok [INFO] [stdout] test workbook::features::tests::test_set_and_get_external_hyperlink ... ok [INFO] [stdout] test workbook::features::tests::test_set_and_get_sheet_view_options_defaults ... ok [INFO] [stdout] test workbook::features::tests::test_set_defined_name_sheet_scope ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_view_options_gridlines_off ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_view_options_page_layout ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_view_options_preserves_panes ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_view_options_show_formulas ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_view_options_top_left_cell ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_view_options_view_mode ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_view_options_zoom_invalid_high ... ok [INFO] [stdout] test workbook::features::tests::test_set_and_get_internal_hyperlink ... ok [INFO] [stdout] test workbook::features::tests::test_set_defined_name_workbook_scope ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_visibility_back_to_visible ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_visibility_cannot_hide_all ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_view_options_zoom_invalid_low ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_visibility_very_hidden ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_view_options_zoom ... ok [INFO] [stdout] test workbook::features::tests::test_sheet_view_options_nonexistent_sheet ... ok [INFO] [stdout] test workbook::features::tests::test_sheet_protection_roundtrip ... ok [INFO] [stdout] test workbook::features::tests::test_sheet_view_options_show_row_col_headers_off ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_visibility_cannot_hide_last_visible ... ok [INFO] [stdout] test workbook::features::tests::test_set_sheet_visibility_hidden ... ok [INFO] [stdout] test workbook::features::tests::test_sheet_visibility_nonexistent_sheet ... ok [INFO] [stdout] test workbook::features::tests::test_sheet_view_options_roundtrip ... ok [INFO] [stdout] test workbook::features::tests::test_dangling_table_parts_after_reopen_delete_save ... ok [INFO] [stdout] test workbook::features::tests::test_sheet_visibility_roundtrip ... ok [INFO] [stdout] test workbook::features::tests::test_table_roundtrip_multiple_tables ... ok [INFO] [stdout] test workbook::features::tests::test_table_save_produces_zip_parts ... ok [INFO] [stdout] test workbook::features::tests::test_table_with_no_auto_filter ... ok [INFO] [stdout] test workbook::features::tests::test_table_roundtrip_save_open ... ok [INFO] [stdout] test workbook::drawing::tests::test_save_with_new_image_formats ... ok [INFO] [stdout] test workbook::features::tests::test_table_path_no_collision_after_delete ... ok [INFO] [stdout] test workbook::features::tests::test_tables_on_different_sheets ... ok [INFO] [stdout] test workbook::features::tests::test_unprotect_already_unprotected ... ok [INFO] [stdout] test workbook::features::tests::test_unprotect_sheet_via_workbook ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_add_person ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_add_threaded_comment ... ok [INFO] [stdout] test workbook::features::tests::test_update_existing_defined_name ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_add_data_validation ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_add_comment ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_auto_filter_sheet_not_found ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_comment_produces_vml_part ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_comment_sheet_not_found ... ok [INFO] [stdout] test workbook::features::tests::test_table_roundtrip_resave ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_comment_roundtrip ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_auto_filter_roundtrip ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_data_validation_sheet_not_found ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_comment_roundtrip_open ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_delete_threaded_comment ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_comment_vml_cleanup_on_last_remove ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_data_validation_roundtrip ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_comment_vml_legacy_drawing_ref ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_remove_data_validation ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_resolve_threaded_comment ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_remove_comment ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_multiple_comments_vml ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_threaded_comment_buffer_roundtrip ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_multiple_comments ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_set_auto_filter ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_comment_vml_roundtrip_open ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_remove_auto_filter ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_threaded_comments_by_cell ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_threaded_comment_sheet_not_found ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_threaded_comment_reply ... ok [INFO] [stdout] test workbook::io::tests::test_default_trait ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_threaded_comment_multiple_sheets ... ok [INFO] [stdout] test workbook::io::tests::test_extract_xml_attr ... ok [INFO] [stdout] test workbook::io::tests::test_extract_xml_bool_attr ... ok [INFO] [stdout] test workbook::io::tests::test_fast_col_number ... ok [INFO] [stdout] test workbook::io::tests::test_combined_options ... ok [INFO] [stdout] test workbook::features::tests::test_workbook_threaded_comment_roundtrip ... ok [INFO] [stdout] test workbook::io::tests::test_from_extension_case_insensitive ... ok [INFO] [stdout] test workbook::io::tests::test_format_inference_from_content_types_overrides ... ok [INFO] [stdout] test workbook::io::tests::test_from_extension_recognized ... ok [INFO] [stdout] test workbook::io::tests::test_from_extension_unrecognized ... ok [INFO] [stdout] test workbook::io::tests::test_lazy_mutation_marks_dirty ... ok [INFO] [stdout] test workbook::io::tests::test_known_entries_not_duplicated_as_unknown ... ok [INFO] [stdout] test workbook::io::tests::test_cow_passthrough_with_styles_and_formulas ... ok [INFO] [stdout] test workbook::io::tests::test_eager_open_save_preserves_all_data ... ok [INFO] [stdout] test workbook::io::tests::test_eager_open_sheets_are_dirty ... ok [INFO] [stdout] test workbook::io::tests::test_lazy_open_sheets_start_clean ... ok [INFO] [stdout] test workbook::io::tests::test_lazy_open_save_without_modification_roundtrips ... ok [INFO] [stdout] test workbook::io::tests::test_lazy_read_then_save_passthrough ... ok [INFO] [stdout] test workbook::io::tests::test_lazy_open_multi_sheet_selective_dirty ... ok [INFO] [stdout] test workbook::io::tests::test_max_unzip_size_exceeded ... ok [INFO] [stdout] test workbook::io::tests::test_lazy_open_deferred_aux_parts_preserved ... ok [INFO] [stdout] test workbook::io::tests::test_max_zip_entries_exceeded ... ok [INFO] [stdout] test workbook::io::tests::test_new_workbook_defaults_to_xlsx_format ... ok [INFO] [stdout] test workbook::io::tests::test_max_unzip_size_within_limit ... ok [INFO] [stdout] test workbook::io::tests::test_new_workbook_has_sheet1 ... ok [INFO] [stdout] test workbook::io::tests::test_max_zip_entries_within_limit ... ok [INFO] [stdout] test workbook::io::tests::test_lazy_open_modify_one_sheet_passthroughs_others ... ok [INFO] [stdout] test workbook::io::tests::test_new_workbook_sheets_are_dirty ... ok [INFO] [stdout] test workbook::io::tests::test_new_workbook_save_creates_file ... ok [INFO] [stdout] test workbook::io::tests::test_new_workbook_writes_interop_workbook_defaults ... ok [INFO] [stdout] test workbook::io::tests::test_non_vba_save_has_no_vba_entries ... ok [INFO] [stdout] test workbook::io::tests::test_open_nonexistent_file_returns_error ... ok [INFO] [stdout] test workbook::io::tests::test_open_from_buffer_invalid_data ... ok [INFO] [stdout] test workbook::io::tests::test_no_person_rel_without_threaded_comments ... ok [INFO] [stdout] test workbook::io::tests::test_new_workbook_has_no_unknown_parts ... ok [INFO] [stdout] test workbook::io::tests::test_read_xml_part_from_reader_sst ... ok [INFO] [stdout] test workbook::io::tests::test_read_xml_part_from_reader_worksheet ... ok [INFO] [stdout] test workbook::io::tests::test_open_from_buffer_with_options_backwards_compatible ... ok [INFO] [stdout] test workbook::io::tests::test_open_with_default_options_is_equivalent_to_open ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_add_comment_vml_roundtrip ... ok [INFO] [stdout] test workbook::io::tests::test_modifications_preserved_alongside_unknown_parts ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_add_comment_then_save_no_duplicate ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_add_comment_no_preexisting_comments ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_deferred_parts_not_empty_when_auxiliary_exist ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_add_comment_preserves_existing_comments ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_get_doc_properties_without_mutation ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_eager_mode_has_no_deferred_parts ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_delete_table_with_other_deferred_cleans_references ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_full_mode_unchanged ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_get_comments_hydrates_deferred ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_preserves_styles ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_open_from_file ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_open_multi_sheet ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_open_reads_cell_data ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_roundtrip_with_custom_zip_entries ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_remove_comment_hydrates_first ... ok [INFO] [stdout] test workbook::io::tests::test_read_xml_part_from_reader_large_worksheet ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_skips_comments ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_set_doc_props_then_save_no_duplicate ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_save_roundtrip_preserves_all_parts ... ok [INFO] [stdout] test workbook::io::tests::test_save_as_xlsm_writes_xlsm_content_type ... ok [INFO] [stdout] test workbook::io::tests::test_save_as_xltm_writes_template_macro_content_type ... ok [INFO] [stdout] test workbook::io::tests::test_save_as_xlam_writes_addin_content_type ... ok [INFO] [stdout] test workbook::io::tests::test_save_and_open_roundtrip ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_with_sheets_filter ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_table_parts_preserved_on_roundtrip ... ok [INFO] [stdout] test workbook::io::tests::test_readfast_with_sheet_rows_limit ... ok [INFO] [stdout] test stream::tests::test_memory_efficiency ... ok [INFO] [stdout] test workbook::io::tests::test_save_no_extension_fails ... ok [INFO] [stdout] test workbook::io::tests::test_save_to_buffer_preserves_stored_format ... ok [INFO] [stdout] test workbook::io::tests::test_save_does_not_mutate_stored_format ... ok [INFO] [stdout] test workbook::io::tests::test_save_as_xltx_writes_template_content_type ... ok [INFO] [stdout] test workbook::io::tests::test_save_to_buffer_and_open_from_buffer_roundtrip ... ok [INFO] [stdout] test workbook::io::tests::test_save_unsupported_extension_unknown ... ok [INFO] [stdout] test workbook::io::tests::test_save_unsupported_extension_xls ... ok [INFO] [stdout] test workbook::io::tests::test_save_buffer_roundtrip_with_xlsm_format ... ok [INFO] [stdout] test workbook::io::tests::test_save_extension_overrides_stored_format ... ok [INFO] [stdout] test workbook::io::tests::test_save_unsupported_extension_csv ... ok [INFO] [stdout] test workbook::io::tests::test_save_xlsx_preserves_existing_behavior ... ok [INFO] [stdout] test workbook::io::tests::test_saved_file_is_valid_zip ... ok [INFO] [stdout] test workbook::io::tests::test_serialize_xml_helper ... ok [INFO] [stdout] test workbook::io::tests::test_set_format_changes_workbook_format ... ok [INFO] [stdout] test workbook::io::tests::test_save_to_buffer_produces_valid_zip ... ok [INFO] [stdout] test workbook::io::tests::test_saved_xml_has_declarations ... ok [INFO] [stdout] test workbook::io::tests::test_selective_sheet_parsing ... ok [INFO] [stdout] test workbook::io::tests::test_sheet_rows_with_buffer ... ok [INFO] [stdout] test workbook::io::tests::test_sheet_rows_zero_means_no_rows ... ok [INFO] [stdout] test workbook::io::tests::test_selective_sheets_multiple ... ok [INFO] [stdout] test workbook::io::tests::test_sheet_rows_limits_rows_read ... ok [INFO] [stdout] test workbook::io::tests::test_threaded_comment_person_rel_in_workbook_rels ... ok [INFO] [stdout] test workbook::io::tests::test_vba_blob_loaded_when_present ... ok [INFO] [stdout] test workbook::io::tests::test_sheets_filter_preserves_filtered_sheet_with_comments_on_save ... ok [INFO] [stdout] test workbook::io::tests::test_selective_sheet_parsing_preserves_unparsed_sheets_on_save ... ok [INFO] [stdout] test workbook::io::tests::test_vba_blob_none_for_plain_xlsx ... ok [INFO] [stdout] test workbook::io::tests::test_workbook_format_content_type_roundtrip ... ok [INFO] [stdout] test workbook::io::tests::test_workbook_format_default_is_xlsx ... ok [INFO] [stdout] test workbook::io::tests::test_vba_blob_survives_roundtrip_with_identical_bytes ... ok [INFO] [stdout] test workbook::io::tests::test_workbook_format_from_content_type ... ok [INFO] [stdout] test workbook::io::tests::test_vba_relationship_preserved_on_roundtrip ... ok [INFO] [stdout] test workbook::open_options::tests::test_aux_parts_default_is_deferred ... ok [INFO] [stdout] test workbook::open_options::tests::test_aux_parts_deferred ... ok [INFO] [stdout] test workbook::open_options::tests::test_builder_methods ... ok [INFO] [stdout] test workbook::open_options::tests::test_date_interpretation_builder ... ok [INFO] [stdout] test workbook::io::tests::test_xlsm_format_detected_with_vba ... ok [INFO] [stdout] test workbook::io::tests::test_save_writes_correct_content_type_for_each_extension ... ok [INFO] [stdout] test workbook::open_options::tests::test_default_options ... ok [INFO] [stdout] test workbook::open_options::tests::test_eager_mode_with_deferred_aux_skips_aux ... ok [INFO] [stdout] test workbook::open_options::tests::test_eager_mode_with_eager_aux_parses_all ... ok [INFO] [stdout] test workbook::open_options::tests::test_helper_methods ... ok [INFO] [stdout] test workbook::open_options::tests::test_read_mode_builder ... ok [INFO] [stdout] test workbook::open_options::tests::test_read_mode_combined_with_other_options ... ok [INFO] [stdout] test workbook::open_options::tests::test_read_mode_default_is_lazy ... ok [INFO] [stdout] test workbook::open_options::tests::test_should_parse_sheet_no_filter ... ok [INFO] [stdout] test workbook::open_options::tests::test_should_parse_sheet_with_filter ... ok [INFO] [stdout] test workbook::io::tests::test_xlsx_roundtrip_preserves_format ... ok [INFO] [stdout] test workbook::open_options::tests::test_stream_mode_skips_aux_parts ... ok [INFO] [stdout] test workbook::io::tests::test_vba_content_type_preserved_on_roundtrip ... ok [INFO] [stdout] test workbook::open_options::tests::test_date_interpretation_default_is_num_fmt ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_apply_stream_writer_adds_sheet ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_apply_stream_writer_uses_inline_strings ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_copy_sheet_basic ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_delete_sheet_keeps_parallel_vecs_in_sync ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_delete_nonexistent_sheet_returns_error ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_delete_sheet_basic ... ok [INFO] [stdout] test workbook::io::tests::test_unknown_zip_entries_preserved_on_roundtrip ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_get_sheet_index ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_new_sheet_basic ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_get_active_sheet_default ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_delete_last_sheet_returns_error ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_new_sheet_duplicate_returns_error ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_new_sheet_invalid_name_returns_error ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_new_stream_writer_rejects_duplicate ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_set_sheet_name_basic ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_new_stream_writer_valid_name ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_new_stream_writer_validates_name ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_set_sheet_name_to_existing_returns_error ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_set_active_sheet ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_set_active_sheet_not_found ... ok [INFO] [stdout] test workbook::io::tests::test_unknown_entries_survive_multiple_roundtrips ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_apply_stream_optimized_save_reopen ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_delete_sheet ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_col_widths_roundtrip ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_combined_features_roundtrip ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_copy_sheet_preserves_data ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_edit_after_apply_takes_effect ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_sheet_management_roundtrip_save_open ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_formula_result_types_roundtrip ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_streamed_sheet_cells_empty_before_save ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_merge_cells_roundtrip ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_duplicate_row ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_writer_save_and_reopen ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_get_col_width_sheet_not_found ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_streamed_sheet_readable_after_save_reopen ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_save_reopen_basic ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_multiple_sheets ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_freeze_panes_roundtrip ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_stream_save_reopen_all_types ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_get_cols_with_data ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_get_rows_with_data ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_get_cols_sheet_not_found ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_get_cols_empty_sheet ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_insert_cols_sheet_not_found ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_get_rows_sheet_not_found ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_insert_cols ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_get_row_height_sheet_not_found ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_get_rows_empty_sheet ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_insert_rows_updates_formula_and_ranges ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_insert_rows ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_remove_col ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_remove_col_sheet_not_found ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_remove_row ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_insert_rows_sheet_not_found ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_remove_row_sheet_not_found ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_set_and_get_col_width ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_set_and_get_row_height ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_set_col_visible ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_set_col_visible_sheet_not_found ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_insert_cols_updates_formula_and_ranges ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_set_row_visible_sheet_not_found ... ok [INFO] [stdout] test workbook_paths::tests::test_relative_relationship_target ... ok [INFO] [stdout] test workbook_paths::tests::test_relationship_part_path ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_set_row_visible ... ok [INFO] [stdout] test workbook_paths::tests::test_resolve_relationship_target ... ok [INFO] [stdout] test workbook::sheet_ops::tests::test_workbook_get_rows_roundtrip_save_open ... ok [INFO] [stdout] test stream::tests::test_large_scale_10000_rows ... ok [INFO] [stdout] [INFO] [stderr] Doc-tests sheetkit_core [INFO] [stdout] test result: ok. 1873 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.47s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test src/utils/cell_ref.rs - utils::cell_ref::column_name_to_number (line 15) ... ok [INFO] [stdout] test src/utils/cell_ref.rs - utils::cell_ref::column_number_to_name (line 56) ... ok [INFO] [stdout] test src/utils/cell_ref.rs - utils::cell_ref::cell_name_to_coordinates (line 89) ... ok [INFO] [stdout] test src/stream.rs - stream (line 15) ... ok [INFO] [stdout] test src/utils/cell_ref.rs - utils::cell_ref::coordinates_to_cell_name (line 148) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.24s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b2a77fc1a4f96531647bde92a874542e3b9cabae1dd06e2ba05d949e2d4a1372", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b2a77fc1a4f96531647bde92a874542e3b9cabae1dd06e2ba05d949e2d4a1372", kill_on_drop: false }` [INFO] [stdout] b2a77fc1a4f96531647bde92a874542e3b9cabae1dd06e2ba05d949e2d4a1372