[INFO] cloning repository https://github.com/fedexist/grafatui [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fedexist/grafatui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffedexist%2Fgrafatui", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffedexist%2Fgrafatui'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a94f34d97b86075064968a9e3d25fe311baec721 [INFO] testing fedexist/grafatui against 1.100.0-beta.1 for beta-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffedexist%2Fgrafatui" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/fedexist/grafatui [INFO] finished tweaking git repo https://github.com/fedexist/grafatui [INFO] tweaked toml for git repo https://github.com/fedexist/grafatui written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/fedexist/grafatui on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/fedexist/grafatui already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494 [INFO] running `Command { std: "docker" "start" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling find-msvc-tools v0.1.4 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling bitflags v2.13.0 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling simd-adler32 v0.3.7 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling mio v1.1.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling hashbrown v0.16.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling cc v1.2.44 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling http v1.3.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling rustls-pki-types v1.13.0 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling instability v0.3.9 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling slotmap v1.1.1 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling convert_case v0.7.1 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling float-cmp v0.9.0 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling flate2 v1.1.5 [INFO] [stderr] Compiling critical-section v1.2.0 [INFO] [stderr] Compiling rustls v0.23.34 [INFO] [stderr] Compiling anstyle-query v1.1.4 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling strict-num v0.1.1 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling lru v0.18.0 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling arrayref v0.3.9 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling roxmltree v0.20.0 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling core_maths v0.1.1 [INFO] [stderr] Compiling ttf-parser v0.25.1 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling clap_builder v4.5.51 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling tiny-skia-path v0.11.4 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling kurbo v0.11.3 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling fontconfig-parser v0.5.8 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling memmap2 v0.9.10 [INFO] [stderr] Compiling unicode-bidi-mirroring v0.4.0 [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Compiling unicode-script v0.5.8 [INFO] [stderr] Compiling unicode-ccc v0.4.0 [INFO] [stderr] Compiling unicode-properties v0.1.4 [INFO] [stderr] Compiling png v0.17.16 [INFO] [stderr] Compiling indexmap v2.12.0 [INFO] [stderr] Compiling webpki-roots v1.0.3 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling simplecss v0.2.2 [INFO] [stderr] Compiling quick-error v2.0.1 [INFO] [stderr] Compiling pico-args v0.5.0 [INFO] [stderr] Compiling svgtypes v0.15.3 [INFO] [stderr] Compiling weezl v0.1.12 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling data-url v0.3.2 [INFO] [stderr] Compiling winnow v0.7.13 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling unicode-vo v0.1.0 [INFO] [stderr] Compiling zune-core v0.4.12 [INFO] [stderr] Compiling xmlwriter v0.1.0 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling imagesize v0.13.0 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling image-webp v0.2.4 [INFO] [stderr] Compiling rustybuzz v0.20.1 [INFO] [stderr] Compiling fontdb v0.23.0 [INFO] [stderr] Compiling gif v0.13.3 [INFO] [stderr] Compiling tiny-skia v0.11.4 [INFO] [stderr] Compiling zune-jpeg v0.4.21 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling rgb v0.8.53 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling roff v0.2.2 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling usvg v0.45.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling strum_macros v0.28.0 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling kasuari v0.4.12 [INFO] [stderr] Compiling derive_more v2.0.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling resvg v0.45.1 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling clap v4.5.51 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling clap_complete v4.5.65 [INFO] [stderr] Compiling clap_mangen v0.2.31 [INFO] [stderr] Compiling strum v0.28.0 [INFO] [stderr] Compiling ratatui-core v0.1.2 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling compression-codecs v0.4.31 [INFO] [stderr] Compiling ratatui-widgets v0.3.2 [INFO] [stderr] Compiling ratatui-crossterm v0.1.2 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling async-compression v0.4.32 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling ratatui-macros v0.7.2 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling ratatui v0.30.2 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-util v0.1.17 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.24 [INFO] [stderr] Compiling grafatui v0.1.12 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 52s [INFO] running `Command { std: "docker" "inspect" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling grafatui v0.1.12 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 24.31s [INFO] running `Command { std: "docker" "inspect" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.55s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/build/grafatui/5549a904de00a6f1/out/grafatui-5549a904de00a6f1) [INFO] [stdout] [INFO] [stdout] running 402 tests [INFO] [stdout] test annotations::command::tests::command_parse_errors_identify_program_and_line ... ok [INFO] [stdout] test annotations::command::tests::encodes_exact_version_one_request_with_trailing_newline ... ok [INFO] [stdout] test annotations::command::tests::parses_valid_and_empty_command_snapshots ... ok [INFO] [stdout] test annotations::details::tests::preserves_precise_single_event_details_when_they_fit ... ok [INFO] [stdout] test annotations::diagnostics::tests::all_targets_do_not_produce_warnings ... ok [INFO] [stdout] test annotations::details::tests::preserves_cluster_order_and_tags_when_they_fit ... ok [INFO] [stdout] test annotations::details::tests::bounds_large_clusters_without_losing_exact_count_or_order ... ok [INFO] [stdout] test annotations::filter::tests::catalogue_counts_unique_events_and_keeps_selected_missing_tags ... ok [INFO] [stdout] test annotations::command::tests::command_provider_reports_spawn_failure_without_arguments ... ok [INFO] [stdout] test annotations::filter::tests::empty_filter_matches_all_and_selected_tags_use_exact_or_semantics ... ok [INFO] [stdout] test annotations::diagnostics::tests::formats_target_warnings_for_the_footer ... ok [INFO] [stdout] test annotations::jsonl::tests::parses_optional_panel_titles_and_deduplicates_them ... ok [INFO] [stdout] test annotations::jsonl::tests::parses_valid_jsonl_and_ignores_blank_lines_and_unknown_fields ... ok [INFO] [stdout] test annotations::diagnostics::tests::warns_once_for_missing_and_ambiguous_titles ... ok [INFO] [stdout] test annotations::jsonl::tests::rejects_empty_or_blank_panel_titles_with_line_numbers ... ok [INFO] [stdout] test annotations::jsonl::tests::rejects_invalid_required_fields_with_line_number ... ok [INFO] [stdout] test annotations::jsonl::tests::rejects_null_panel_titles_with_line_number ... ok [INFO] [stdout] test annotations::jsonl::tests::rejects_blank_text_and_tags ... ok [INFO] [stdout] test annotations::modal::tests::cluster_modal_clamps_extreme_page_sizes_in_each_direction ... ok [INFO] [stdout] test annotations::jsonl::tests::reports_missing_then_loads_when_file_appears ... ok [INFO] [stdout] test annotations::modal::tests::cluster_modal_owns_events_and_bounds_navigation ... ok [INFO] [stdout] test annotations::modal::tests::cluster_modal_rejects_empty_events ... ok [INFO] [stdout] test annotations::jsonl::tests::loads_only_after_metadata_changes ... ok [INFO] [stdout] test annotations::jsonl::tests::invalid_replacement_is_reported_as_failed ... ok [INFO] [stdout] test annotations::modal::tests::tag_modal_edits_a_draft_without_changing_the_applied_filter ... ok [INFO] [stdout] test annotations::jsonl::tests::retries_read_failure_when_metadata_fingerprint_is_unchanged ... ok [INFO] [stdout] test annotations::modal::tests::tag_modal_ignores_toggles_for_an_empty_catalogue ... ok [INFO] [stdout] test annotations::modal::tests::visible_range_is_empty_without_items_or_rows_and_contains_selection ... ok [INFO] [stdout] test annotations::model::tests::panel_title_target_matches_exactly_and_case_sensitively ... ok [INFO] [stdout] test annotations::model::tests::snapshot_sorts_events_stably ... ok [INFO] [stdout] test annotations::model::tests::timestamp_secs_preserves_fraction_beyond_milliseconds ... ok [INFO] [stdout] test annotations::projection::tests::catalogue_is_available_through_annotations_facade ... ok [INFO] [stdout] test annotations::projection::tests::filters_by_exact_or_tags_before_panel_routing ... ok [INFO] [stdout] test annotations::projection::tests::routes_all_targets_and_filters_inclusive_time_bounds ... ok [INFO] [stdout] test annotations::projection::tests::clusters_events_by_projected_coordinate_in_order ... ok [INFO] [stdout] test annotations::provider::tests::builds_command_provider_that_identifies_spawn_failure ... ok [INFO] [stdout] test annotations::provider::tests::builds_file_provider_that_loads_jsonl ... ok [INFO] [stdout] test annotations::tests::active_state_applies_one_global_filter_when_routing_each_panel ... ok [INFO] [stdout] test annotations::tests::command_state_retains_snapshot_on_failure_and_clears_warning_on_recovery ... ok [INFO] [stdout] test annotations::tests::disabled_state_has_no_source_work_or_visibility ... ok [INFO] [stdout] test annotations::tests::hidden_state_refreshes_provider_every_time ... ok [INFO] [stdout] test app::data::tests::test_downsample ... ok [INFO] [stdout] test annotations::tests::state_from_file_source_loads_snapshot ... ok [INFO] [stdout] test app::data::tests::test_expand_expr_rate_interval ... ok [INFO] [stdout] test annotations::tests::state_keeps_reloading_while_hidden_and_retains_snapshot_if_removed ... ok [INFO] [stdout] test app::data::tests::test_expand_expr_builtin_intervals_and_range ... ok [INFO] [stdout] test app::data::tests::test_expand_expr_vars ... ok [INFO] [stdout] test app::data::tests::test_format_legend ... ok [INFO] [stdout] test annotations::provider::tests::provider_contract_is_object_safe ... ok [INFO] [stdout] test annotations::tests::state_composes_source_target_warnings_and_filter_summary ... ok [INFO] [stdout] test app::event_loop::tests::test_capture_recording_after_annotation_change_writes_frame ... ok [INFO] [stdout] test app::event_loop::tests::content_fit_refresh_reconciles_scroll ... ok [INFO] [stdout] test app::input::tests::annotations_toggle_in_normal_and_inspect_modes_but_types_in_search ... ok [INFO] [stdout] test app::event_loop::tests::test_finalize_recording_before_quit_writes_manifest ... ok [INFO] [stdout] test app::input::tests::autogrid::auto_grid_empty_actual_buffer_has_no_phantom_group ... ok [INFO] [stdout] test app::event_loop::tests::test_capture_recording_after_change_writes_changed_refresh_frame ... ok [INFO] [stdout] test app::event_loop::tests::bounds_scroll_manual_and_periodic_refresh_clamp_real_data ... ok [INFO] [stdout] test app::input::tests::autogrid::auto_grid_keyboard_resize_and_mouse_preserve_focus ... ok [INFO] [stdout] test app::input::tests::autogrid::auto_grid_terminal_flow_buffers_keep_identity ... ok [INFO] [stdout] test app::event_loop::tests::content_fit_manual_refresh_keeps_focus_through_data_changes ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_error_document_window_reaches_lower_lines ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_clipping_and_input_ownership ... ok [INFO] [stdout] test app::input::tests::autogrid::auto_grid_end_and_manual_scroll_stay_within_document ... ok [INFO] [stdout] test app::input::tests::autogrid::auto_grid_nested_keyboard_buffers_follow_rows_and_tabs ... ok [INFO] [stdout] test app::input::tests::autogrid::auto_grid_actual_buffers_reflow_on_resize ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_reconciles_content_and_visibility ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_table_local_and_document_windows_keep_headers ... ok [INFO] [stdout] test annotations::command::tests::command_provider_reports_malformed_jsonl ... ok [INFO] [stdout] test annotations::command::tests::command_provider_ignores_stderr_after_successful_exit ... ok [INFO] [stdout] test annotations::command::tests::command_provider_bounds_and_normalizes_failure_stderr ... ok [INFO] [stdout] test annotations::command::tests::command_provider_preserves_args_cwd_and_environment ... ok [INFO] [stdout] test app::input::tests::autogrid::content_fit::bounds_scroll_measurement_fits_table_errors_only ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_wheel_boundaries_and_dashboard_fallback ... ok [INFO] [stdout] test annotations::command::tests::command_provider_reports_invalid_utf8 ... ok [INFO] [stdout] test app::input::tests::autogrid::content_fit::content_fit_measurement_matches_table_body ... ok [INFO] [stdout] test annotations::command::tests::command_provider_normalizes_multiline_exit_diagnostic_and_discards_stdout ... ok [INFO] [stdout] test annotations::command::tests::command_provider_reports_nonzero_exit_without_arguments ... ok [INFO] [stdout] test annotations::command::tests::command_provider_writes_request_closes_stdin_and_parses_stdout ... ok [INFO] [stdout] test annotations::command::tests::command_provider_loads_empty_snapshot_from_empty_stdout ... ok [INFO] [stdout] test app::input::tests::autogrid::content_fit::content_fit_mouse_collapse_bounds_document_scroll ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_nested_reactivation_retains_and_clamps_siblings ... ok [INFO] [stdout] test annotations::command::tests::command_provider_times_out_and_reaps_child ... ok [INFO] [stdout] test annotations::command::tests::command_provider_rejects_oversized_stdout ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_geometry_real_buffers_keep_caps_and_gaps ... ok [INFO] [stdout] test app::input::tests::autogrid::content_fit::content_fit_hidden_header_and_formatted_table_buffer ... ok [INFO] [stdout] test app::input::tests::autogrid::fill_screen::fill_screen_empty_group_has_no_phantom_height_or_header ... ok [INFO] [stdout] test app::input::tests::autogrid::content_fit::content_fit_mouse_tab_switch_clamps_shorter_content ... ok [INFO] [stdout] test app::input::tests::enter_and_escape_close_cluster_without_changing_cursor_or_mode ... ok [INFO] [stdout] test app::input::tests::autogrid::content_fit::content_fit_measurement_real_buffers_keep_rows_and_errors ... ok [INFO] [stdout] test app::input::tests::autogrid::content_fit::content_fit_scroll_reveals_last_row ... ok [INFO] [stdout] test app::input::tests::export_shortcuts_return_export_actions ... ok [INFO] [stdout] test app::input::tests::enter_opens_only_the_rendered_selected_cluster_in_inspect_modes ... ok [INFO] [stdout] test app::input::tests::export_shortcuts_take_precedence_while_modal_is_open ... ok [INFO] [stdout] test app::input::tests::fullscreen_keys_update_mode_and_selection ... ok [INFO] [stdout] test app::input::tests::mouse_events_do_not_mutate_dashboard_state_while_modal_is_open ... ok [INFO] [stdout] test app::input::tests::navigation_keys_traverse_visible_rows_and_panels ... ok [INFO] [stdout] test app::input::tests::modal_navigation_consumes_dashboard_navigation_and_zoom_keys ... ok [INFO] [stdout] test app::input::tests::normal_digit_keys_toggle_series_and_zero_shows_all ... ok [INFO] [stdout] test app::input::tests::normal_navigation_updates_selected_panel ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_table_partial_windows_and_fitted_error_wrap_buffers ... ok [INFO] [stdout] test app::input::tests::header_click_selects_row_and_disclosure_click_toggles_it ... ok [INFO] [stdout] test app::input::tests::navigation_scrolls_mixed_items_into_a_short_viewport ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_terminal_mouse_buffers_keep_body_and_dashboard_distinct ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_terminal_flow_buffers_keep_identity ... ok [INFO] [stdout] test app::input::tests::panel_only_normal_actions_no_op_when_a_row_is_selected ... ok [INFO] [stdout] test app::input::tests::search_acceptance_scrolls_selected_row_into_a_short_viewport ... ok [INFO] [stdout] test app::input::tests::row_keys_toggle_collapse_and_preserve_shift_time_panning ... ok [INFO] [stdout] test app::input::tests::search_includes_visible_rows_and_panels_with_type_specific_acceptance ... ok [INFO] [stdout] test app::input::tests::t_opens_tag_filter_while_annotation_markers_are_hidden ... ok [INFO] [stdout] test app::input::tests::search_keys_update_query_results_and_selection ... ok [INFO] [stdout] test app::input::tests::t_opens_tag_filter_except_in_search_or_when_disabled ... ok [INFO] [stdout] test app::input::tests::autogrid::content_fit::content_fit_gap_click_errors_shrink_and_tiny_buffers ... ok [INFO] [stdout] test app::input::tests::shared_keys_toggle_autogrid_and_y_axis_mode ... ok [INFO] [stdout] test app::input::tests::tag_filter_apply_cancel_and_clear_are_draft_isolated ... ok [INFO] [stdout] test app::input::tests::tabs_keyboard_switch_keeps_bar_focus_and_enter_opens_content ... ok [INFO] [stdout] test app::input::tests::search_mode_e_keeps_typing_but_ctrl_e_toggles_recording ... ok [INFO] [stdout] test app::state::tests::collapsing_a_row_reconciles_unchanged_annotation_targets ... ok [INFO] [stdout] test app::state::tests::empty_dashboard_has_no_selection_and_navigation_is_safe ... ok [INFO] [stdout] test app::input::tests::tab_label_click_activates_but_drag_only_focuses ... ok [INFO] [stdout] test app::state::tests::navigation_uses_visible_items_and_preserves_nested_state ... ok [INFO] [stdout] test app::state::tests::refresh_reconciles_annotation_targets ... ok [INFO] [stdout] test app::state::tests::refresh_uses_same_window_for_annotations_and_rendered_data ... ok [INFO] [stdout] test app::state::tests::refresh_reconciles_annotations_against_visible_graph_panels_only ... ok [INFO] [stdout] test app::state::tests::test_center_and_move_cursor_use_refreshed_window ... ok [INFO] [stdout] test app::state::tests::test_default_graph_options_match_current_line_rendering ... ok [INFO] [stdout] test app::state::tests::test_empty_panels ... ok [INFO] [stdout] test app::state::tests::test_panel_graph_options_fall_back_to_defaults ... ok [INFO] [stdout] test app::state::tests::test_panel_query_mode_defaults_to_range_when_missing ... ok [INFO] [stdout] test app::state::tests::test_select_panel_navigation_is_bounded ... ok [INFO] [stdout] test app::state::tests::reload_preserves_open_cluster_modal ... ok [INFO] [stdout] test app::state::tests::test_time_bounds_use_refreshed_window ... ok [INFO] [stdout] test app::variables::tests::test_parse_label_values_without_metric ... ok [INFO] [stdout] test app::variables::tests::test_split_label_values_query ... ok [INFO] [stdout] test app::variables::tests::test_regex_extracts_first_capture_group ... ok [INFO] [stdout] test app::state::tests::fullscreen_navigation_skips_visible_row_items ... ok [INFO] [stdout] test app::state::tests::refresh_starts_annotation_and_prometheus_work_concurrently ... ok [INFO] [stdout] test cli::tests::parses_annotation_command_with_ordered_hyphen_arguments ... ok [INFO] [stdout] test cli::tests::rejects_partial_or_conflicting_annotation_command_flags ... ok [INFO] [stdout] test cli::tests::test_parse_annotations_file ... ok [INFO] [stdout] test config::tests::parses_annotation_command_human_timeout ... ok [INFO] [stdout] test cli::tests::test_parse_validate_with_grafana_json ... ok [INFO] [stdout] test config::tests::parses_annotation_command_table_and_defaults ... ok [INFO] [stdout] test dashboard::tests::auto_grid_is_transparent_to_visibility_and_ancestors ... ok [INFO] [stdout] test dashboard::tests::collapsed_parent_hides_descendants_and_preserves_nested_state ... ok [INFO] [stdout] test dashboard::tests::empty_tab_groups_remain_visible_and_safe_to_enter ... ok [INFO] [stdout] test dashboard::tests::flat_layout_lists_each_panel_at_root_depth ... ok [INFO] [stdout] test dashboard::tests::hidden_header_is_transparent_even_when_marked_collapsed ... ok [INFO] [stdout] test dashboard::tests::nearest_visible_ancestor_prefers_the_target_then_visible_rows_then_first_item ... ok [INFO] [stdout] test dashboard::tests::nested_tab_and_row_state_survive_outer_switches ... ok [INFO] [stdout] test dashboard::tests::tabs_switch_returns_only_revealed_panels ... ok [INFO] [stdout] test dashboard::tests::toggling_a_collapsed_row_reveals_panels_in_source_order ... ok [INFO] [stdout] test dashboard::tests::unknown_rows_do_not_change_the_layout ... ok [INFO] [stdout] test config::tests::test_config_deserialization ... ok [INFO] [stdout] test app::input::tests::autogrid::fill_screen::fill_screen_input_resize_and_click_preserve_focus ... ok [INFO] [stdout] test export::tests::annotation_modals_are_omitted_and_latest_snapshot_is_exported ... ok [INFO] [stdout] test config::tests::test_expand_path ... ok [INFO] [stdout] test cli::tests::test_parse_validate_strict_and_json_format ... ok [INFO] [stdout] test app::state::tests::refresh_reloads_annotations_without_panels ... ok [INFO] [stdout] test app::input::tests::autogrid::fill_screen::fill_screen_following_sibling_is_reachable_with_end_and_home ... ok [INFO] [stdout] test export::tests::annotation_target_and_filter_are_shared_by_svg ... ok [INFO] [stdout] test export::tests::bounds_scroll::bounds_scroll_exports_error_wrap_and_style ... ok [INFO] [stdout] test export::tests::content_fit::content_fit_export_preserves_numeric_missing_and_threshold_colors ... ok [INFO] [stdout] test app::input::tests::autogrid::fill_screen::fill_screen_actual_buffers_stretch_on_width_and_height_changes ... ok [INFO] [stdout] test export::tests::graph_export_bounds_large_annotation_details_with_ellipsis ... ok [INFO] [stdout] test app::input::tests::autogrid::content_fit::content_fit_nested_keyboard_buffers_follow_rows_and_tabs ... ok [INFO] [stdout] test app::input::tests::autogrid::fill_screen::fill_screen_terminal_flow_buffers_keep_identity ... ok [INFO] [stdout] test export::tests::graph_export_omits_hidden_annotations_and_non_graph_markers ... ok [INFO] [stdout] test export::tests::graph_export_orders_annotations_after_area_and_before_primary_data ... ok [INFO] [stdout] test export::tests::graph_export_renders_visible_annotations_and_exact_cluster_count ... ok [INFO] [stdout] test export::tests::graph_export_routes_inclusive_fractional_annotations_and_escapes_active_details ... ok [INFO] [stdout] test app::input::tests::autogrid::content_fit::content_fit_projector_respects_matching_and_fill ... ok [INFO] [stdout] test export::tests::svg_keeps_hidden_header_rows_transparent ... ok [INFO] [stdout] test export::tests::recording_changes_only_after_filter_apply_or_clear ... ok [INFO] [stdout] test export::tests::svg_renders_rows_and_omits_collapsed_descendants ... ok [INFO] [stdout] test export::tests::svg_selected_row_uses_theme_style_and_escapes_title ... ok [INFO] [stdout] test export::tests::test_escape_xml_replaces_invalid_xml_1_0_characters ... ok [INFO] [stdout] test export::tests::test_export_options_reject_zero_recording_frames ... ok [INFO] [stdout] test app::input::tests::autogrid::fill_screen::fill_screen_nested_keyboard_buffers_follow_rows_and_tabs ... ok [INFO] [stdout] test export::tests::test_escape_xml ... ok [INFO] [stdout] test export::tests::svg_tab_switch_changes_frame_and_escapes_active_title ... ok [INFO] [stdout] test export::tests::test_map_coordinates_respect_bounds ... ok [INFO] [stdout] test export::tests::test_graph_export_uses_refreshed_time_bounds ... ok [INFO] [stdout] test export::tests::test_export_uses_panel_display_format_for_stat_and_table_values ... ok [INFO] [stdout] test export::tests::test_graph_export_skips_non_finite_style_points ... ok [INFO] [stdout] test export::tests::test_non_graph_panel_exports_render_representative_svg ... ok [INFO] [stdout] test export::tests::test_graph_export_renders_points_area_and_bars ... ok [INFO] [stdout] test export::tests::test_recording_frame_cap_prevents_extra_frames ... ok [INFO] [stdout] test export::tests::test_time_ticks_choose_expected_boundaries ... ok [INFO] [stdout] test export::tests::test_value_ticks_are_interior ... ok [INFO] [stdout] test export::tests::test_svg_contains_escaped_text_and_axes ... ok [INFO] [stdout] test grafana::tests::autogrid::auto_grid_empty_import_retains_group ... ok [INFO] [stdout] test export::tests::test_recording_writes_manifest_and_skips_duplicates ... ok [INFO] [stdout] test export::tests::toggling_a_header_only_row_changes_the_recorded_frame ... ok [INFO] [stdout] test grafana::tests::autogrid::auto_grid_import_keeps_supported_order ... ok [INFO] [stdout] test grafana::tests::autogrid::auto_grid_import_validates_inactive_options ... ok [INFO] [stdout] test grafana::tests::autogrid::auto_grid_import_validates_items_and_references ... ok [INFO] [stdout] test grafana::tests::autogrid::auto_grid_import_rejects_deferred_behavior_and_accepts_false_defaults ... ok [INFO] [stdout] test grafana::tests::autogrid::auto_grid_import_warns_on_unknown_settings ... ok [INFO] [stdout] test grafana::tests::autogrid::bounds_scroll::bounds_scroll_import_caps_keep_override_ownership_through_skips ... ok [INFO] [stdout] test grafana::tests::autogrid::auto_grid_import_reports_native_paths_for_malformed_settings ... ok [INFO] [stdout] test grafana::tests::autogrid::auto_grid_import_normalizes_modes_and_fractional_pixels ... ok [INFO] [stdout] test grafana::tests::autogrid::bounds_scroll::bounds_scroll_import_retains_normalized_maxima ... ok [INFO] [stdout] test grafana::tests::autogrid::bounds_scroll::bounds_scroll_import_validates_inactive_maxima_at_native_paths ... ok [INFO] [stdout] test grafana::tests::autogrid::bounds_scroll::bounds_scroll_import_accepts_named_custom_and_unused_maxima ... ok [INFO] [stdout] test grafana::tests::autogrid::content_fit::content_fit_import_minima_and_defaults ... ok [INFO] [stdout] test grafana::tests::autogrid::fill_screen::fill_screen_import_accepts_true_without_warnings ... ok [INFO] [stdout] test grafana::tests::autogrid::fill_screen::fill_screen_import_retains_content_fitting ... ok [INFO] [stdout] test grafana::tests::autogrid::fill_screen::fill_screen_import_retains_defaults_custom_sizing_and_skipped_indices ... ok [INFO] [stdout] test grafana::tests::autogrid::content_fit::content_fit_import_retains_overrides_after_skips ... ok [INFO] [stdout] test grafana::tests::autogrid::fill_screen::fill_screen_import_validates_booleans_in_inactive_containers ... ok [INFO] [stdout] test grafana::tests::classic_rows_group_expanded_siblings_and_collapsed_nested_panels ... ok [INFO] [stdout] test grafana::tests::classic_rows_make_child_grid_y_relative_to_each_row ... ok [INFO] [stdout] test grafana::tests::classic_import_runs_through_normalized_model_without_semantic_changes ... ok [INFO] [stdout] test grafana::tests::normalized_layout_references_only_imported_panel_indices ... ok [INFO] [stdout] test grafana::tests::rejects_invalid_v2_resource_kind ... ok [INFO] [stdout] test grafana::tests::rejects_invalid_v2_grid_coordinate ... ok [INFO] [stdout] test grafana::tests::rejects_invalid_v2_nested_kinds ... ok [INFO] [stdout] test grafana::tests::rejects_malformed_v2_query_variable_wrappers_at_native_paths ... ok [INFO] [stdout] test grafana::tests::rejects_malformed_v2_time_settings_fields ... ok [INFO] [stdout] test grafana::tests::rejects_missing_or_non_object_v2_query_variable_data_query_spec ... ok [INFO] [stdout] test grafana::tests::autogrid::content_fit::content_fit_import_validates_inactive_settings ... ok [INFO] [stdout] test grafana::tests::rejects_missing_v2_element_name ... ok [INFO] [stdout] test grafana::tests::rejects_malformed_required_v2_panel_id_and_links_at_native_paths ... ok [INFO] [stdout] test grafana::tests::rejects_unresolved_v2_element_name ... ok [INFO] [stdout] test grafana::tests::rejects_resource_envelope_without_api_version ... ok [INFO] [stdout] test grafana::tests::rejects_malformed_required_v2_panel_fields_at_native_paths ... ok [INFO] [stdout] test grafana::tests::rejects_unsupported_v2_layouts ... ok [INFO] [stdout] test grafana::tests::rejects_unsupported_resource_versions ... ok [INFO] [stdout] test grafana::tests::rejects_wrong_v2_grid_item_kind ... ok [INFO] [stdout] test grafana::tests::rejects_yaml_input ... ok [INFO] [stdout] test grafana::tests::test_hidden_targets_are_not_imported_or_warned ... ok [INFO] [stdout] test grafana::tests::test_import_diagnostics_preserve_nested_row_paths ... ok [INFO] [stdout] test grafana::tests::rejects_missing_or_non_object_v2_spec ... ok [INFO] [stdout] test grafana::tests::test_import_diagnostics_report_ignored_high_impact_fields ... ok [INFO] [stdout] test grafana::tests::test_import_graph_options_fallbacks_and_non_graph_none ... ok [INFO] [stdout] test grafana::tests::test_import_diagnostics_report_skipped_panel_type ... ok [INFO] [stdout] test grafana::tests::test_import_timeseries_graph_options ... ok [INFO] [stdout] test grafana::tests::test_parse_axis_grid_show ... ok [INFO] [stdout] test grafana::tests::test_parse_dashboard_refresh_duration ... ok [INFO] [stdout] test grafana::tests::test_parse_field_display_format ... ok [INFO] [stdout] test grafana::tests::test_parse_query_variables ... ok [INFO] [stdout] test grafana::tests::rejects_v2_grid_item_repeat_presence ... ok [INFO] [stdout] test grafana::tests::test_variable_diagnostics_report_modifiers_and_unresolved_variables ... ok [INFO] [stdout] test grafana::tests::test_parse_dashboard_vars ... ok [INFO] [stdout] test grafana::tests::test_parse_target_instant_query_modes ... ok [INFO] [stdout] test grafana::tests::v2_all_unsupported_datasource_targets_increment_skipped_panels_once ... ok [INFO] [stdout] test grafana::tests::v2_diagnostics_mappings_and_reduce_options_reuse_classic_messages ... ok [INFO] [stdout] test grafana::tests::v2_custom_variable_all_selection_matches_classic_all_value_behavior ... ok [INFO] [stdout] test grafana::tests::v2_diagnostics_missing_visible_prometheus_expression ... ok [INFO] [stdout] test grafana::tests::v2_diagnostics_non_prometheus_query_variable_is_not_dynamic ... ok [INFO] [stdout] test grafana::tests::v2_diagnostics_transformations_use_the_native_path ... ok [INFO] [stdout] test grafana::tests::v2_diagnostics_unsupported_elements_are_skipped_before_deserialization ... ok [INFO] [stdout] test grafana::tests::v2_diagnostics_unsupported_variable_kinds_are_skipped_with_native_paths ... ok [INFO] [stdout] test grafana::tests::v2_diagnostics_unsupported_viz_groups_increment_skipped_panels ... ok [INFO] [stdout] test grafana::tests::v2_diagnostics_variable_analysis_uses_v2_expression_paths ... ok [INFO] [stdout] test grafana::tests::v2_fixed_grid_panel_matches_classic_semantics ... ok [INFO] [stdout] test grafana::tests::rejects_wrong_v2_element_reference_kind ... ok [INFO] [stdout] test grafana::tests::v2_query_variable_falls_back_to_definition_with_its_native_path ... ok [INFO] [stdout] test grafana::tests::v2_query_variable_uses_its_all_value_for_all_current_selection ... ok [INFO] [stdout] test grafana::tests::v2_diagnostics_mixed_datasources_retain_prometheus_expressions ... ok [INFO] [stdout] test grafana::tests::v2_rows_default_absent_collapse_and_hide_header_to_false ... ok [INFO] [stdout] test grafana::tests::v2_rows_accept_empty_deferred_fields ... ok [INFO] [stdout] test grafana::tests::v2_rows_default_absent_title_to_empty_string ... ok [INFO] [stdout] test grafana::tests::v2_rows_import_expanded_collapsed_and_nested_content ... ok [INFO] [stdout] test grafana::tests::v2_rows_hidden_header_is_transparent_even_when_collapsed ... ok [INFO] [stdout] test grafana::tests::v2_rows_reject_nested_unsupported_layouts_at_native_paths ... ok [INFO] [stdout] test grafana::tests::v2_rows_reject_malformed_rows_at_native_paths ... ok [INFO] [stdout] test grafana::tests::v2_rows_reject_non_boolean_options_at_native_paths ... ok [INFO] [stdout] test grafana::tests::v2_rows_reject_deferred_semantics_at_native_paths ... ok [INFO] [stdout] test grafana::tests::v2_switch_variable_imports_direct_current_value ... ok [INFO] [stdout] test grafana::tests::v2_tabs_reject_deferred_semantics_at_native_paths ... ok [INFO] [stdout] test prom::tests::test_build_query_range_url ... ok [INFO] [stdout] test prom::tests::test_build_query_url_preserves_path_prefix ... ok [INFO] [stdout] test prom::tests::test_deserialize_query_range_response ... ok [INFO] [stdout] test prom::tests::test_query_instant_scalar_converts_to_unlabeled_series ... ok [INFO] [stdout] test prom::tests::test_query_instant_vector_converts_to_series ... ok [INFO] [stdout] test prom::tests::test_query_instant_vector_result_strings ... ok [INFO] [stdout] test tests::annotation_source_cli_command_replaces_complete_toml_source ... ok [INFO] [stdout] test tests::annotation_source_cli_file_replaces_toml_command ... ok [INFO] [stdout] test tests::annotation_source_rejects_invalid_same_layer_configuration ... ok [INFO] [stdout] test tests::annotation_source_rejects_malformed_cli_timeout ... ok [INFO] [stdout] test grafana::tests::v2_tabs_fixture_imports_inactive_and_nested_panels ... ok [INFO] [stdout] test grafana::tests::v2_supported_option_variables_import_object_current_values ... ok [INFO] [stdout] test grafana::tests::v2_tabs_preserves_empty_tab_and_first_selection ... ok [INFO] [stdout] test tests::startup_config_loader_propagates_parse_errors ... ok [INFO] [stdout] test tests::imported_layout_replaces_the_initial_flat_layout ... ok [INFO] [stdout] test tests::test_resolve_refresh_rate_precedence ... ok [INFO] [stdout] test tests::test_validate_dashboard_import_adds_variable_diagnostics_without_prometheus ... ok [INFO] [stdout] test tests::annotation_source_returns_none_when_unconfigured ... ok [INFO] [stdout] test tests::test_merge_user_vars_applies_config_and_cli_overrides ... ok [INFO] [stdout] test tests::annotation_source_uses_toml_command_without_cli_source ... ok [INFO] [stdout] test ui::annotations::tests::annotation_modals_render_safely_on_a_small_terminal ... ok [INFO] [stdout] test ui::annotations::tests::cluster_modal_renders_summary_truncated_list_full_detail_and_hints ... ok [INFO] [stdout] test ui::draw::tests::footer_composes_annotation_warning_with_export_and_inspect_status ... ok [INFO] [stdout] test ui::annotations::tests::cluster_page_size_matches_rendered_list_rows ... ok [INFO] [stdout] test ui::draw::tests::footer_composes_annotation_warning_with_sorted_filter_summary ... ok [INFO] [stdout] test ui::draw::tests::footer_omits_annotation_status_when_disabled ... ok [INFO] [stdout] test ui::annotations::tests::tag_modal_renders_alphabetical_counts_selection_and_hints ... ok [INFO] [stdout] test ui::draw::tests::rows_render_disclosures_indentation_selection_and_visible_count ... ok [INFO] [stdout] test ui::draw::tests::row_free_dashboard_uses_legacy_count_without_fraction ... ok [INFO] [stdout] test ui::draw::tests::structurally_flat_layout_growth_uses_rendered_panel_count ... ok [INFO] [stdout] test ui::draw::tests::tabs_render_active_marker_focus_and_only_active_panel ... ok [INFO] [stdout] test ui::draw::tests::tabs_render_empty_overflow_nested_and_scrolled_contracts ... ok [INFO] [stdout] test ui::format::tests::test_display_format_decimals_no_value_and_rates ... ok [INFO] [stdout] test ui::format::tests::test_display_format_percent_and_percentunit ... ok [INFO] [stdout] test ui::draw::tests::row_search_overlay_renders_visible_row_candidate_at_narrow_viewport ... ok [INFO] [stdout] test ui::format::tests::test_display_format_uses_si_for_missing_and_unknown_units ... ok [INFO] [stdout] test ui::format::tests::test_display_format_scales_bytes_and_bits ... ok [INFO] [stdout] test ui::format::tests::test_format_axis_time_scales_to_wider_ranges ... ok [INFO] [stdout] test ui::format::tests::test_format_axis_time_keeps_hour_for_multi_day_non_midnight_ticks ... ok [INFO] [stdout] test ui::draw::tests::draw_caches_only_selected_panels_active_filtered_cluster ... ok [INFO] [stdout] test ui::format::tests::test_format_axis_time_uses_time_for_short_ranges ... ok [INFO] [stdout] test ui::format::tests::test_format_axis_time_uses_date_for_multi_day_midnight_ticks ... ok [INFO] [stdout] test ui::layout::tests::auto_grid::auto_grid_nested_projection_respects_active_and_collapsed_branches ... ok [INFO] [stdout] test ui::layout::tests::auto_grid::auto_grid_empty_group_does_not_move_following_sibling ... ok [INFO] [stdout] test ui::layout::tests::auto_grid::auto_grid_large_document_scrolls_without_overlap ... ok [INFO] [stdout] test ui::layout::tests::auto_grid::auto_grid_sibling_after_large_extent_remains_reachable ... ok [INFO] [stdout] test ui::layout::tests::auto_grid::auto_grid_resize_retains_selected_panel ... ok [INFO] [stdout] test ui::layout::tests::bounds_scroll::bounds_scroll_caps_survive_matching_and_fill ... ok [INFO] [stdout] test ui::layout::tests::auto_grid::auto_grid_solver_reflows_at_minimum_width_breakpoints ... ok [INFO] [stdout] test ui::layout::tests::auto_grid::auto_grid_solver_handles_empty_small_and_large_documents ... ok [INFO] [stdout] test ui::layout::tests::bounds_scroll::bounds_scroll_overrides_empty_and_wide_extents ... ok [INFO] [stdout] test ui::layout::tests::content_fit::content_fit_solver_bounds_overrides_and_wide_coordinates ... ok [INFO] [stdout] test ui::layout::tests::empty_active_tab_gets_decorative_non_hit_testable_line ... ok [INFO] [stdout] test ui::layout::tests::fill_screen::fill_screen_sibling_allocations_ignore_document_position_and_scroll ... ok [INFO] [stdout] test ui::layout::tests::fill_screen::fill_screen_nested_headers_reduce_allocation_once ... ok [INFO] [stdout] test ui::layout::tests::fill_screen::fill_screen_solver_grows_tracks_with_remainders_and_preserves_minima ... ok [INFO] [stdout] test ui::layout::tests::fill_screen::fill_screen_solver_handles_empty_presets_and_wide_document_coordinates ... ok [INFO] [stdout] test ui::layout::tests::hidden_header_row_is_layout_transparent ... ok [INFO] [stdout] test ui::layout::tests::hit_test_returns_row_and_separate_disclosure_target ... ok [INFO] [stdout] test ui::draw::tests::v2_example_fixed_grid_renders_at_supported_viewports ... ok [INFO] [stdout] test ui::layout::tests::sibling_hidden_header_rows_flow_their_local_grid_children ... ok [INFO] [stdout] test ui::layout::tests::row_projection_offsets_nested_grid_panels_and_collapses_subtrees ... ok [INFO] [stdout] test ui::layout::tests::tabs_project_only_active_content_below_the_bar ... ok [INFO] [stdout] test ui::panels::error_body::tests::bounds_scroll_error_windows_match_literal_wraps ... ok [INFO] [stdout] test ui::layout::tests::row_free_projection_preserves_legacy_panel_vector_growth ... ok [INFO] [stdout] test ui::layout::tests::fill_screen::fill_screen_resize_reconciles_stored_scroll ... ok [INFO] [stdout] test ui::panels::graph::annotations::tests::badge_matches_cluster_size ... ok [INFO] [stdout] test ui::panels::graph::annotations::tests::marker_does_not_replace_strong_data_cell ... ok [INFO] [stdout] test ui::panels::graph::autogrid::tests::test_build_autogrid_datasets ... ok [INFO] [stdout] test ui::panels::graph::autogrid::tests::test_calculate_time_grid_ticks_one_hour_window ... ok [INFO] [stdout] test ui::panels::graph::autogrid::tests::test_calculate_time_grid_ticks_two_hour_window ... ok [INFO] [stdout] test ui::panels::graph::autogrid::tests::test_calculate_value_grid_ticks_excludes_boundaries ... ok [INFO] [stdout] test ui::panels::graph::autogrid::tests::test_calculate_value_grid_ticks_invalid_ranges ... ok [INFO] [stdout] test ui::panels::graph::autogrid::tests::test_calculate_value_grid_ticks_round_values ... ok [INFO] [stdout] test ui::panels::graph::autogrid::tests::test_calculate_time_grid_ticks_five_minute_window ... ok [INFO] [stdout] test ui::panels::graph::bounds::tests::test_calculate_y_bounds_basic ... ok [INFO] [stdout] test ui::panels::graph::bounds::tests::test_calculate_y_bounds_infinity ... ok [INFO] [stdout] test ui::panels::graph::bounds::tests::test_calculate_y_bounds_includes_threshold_lines ... ok [INFO] [stdout] test ui::panels::graph::bounds::tests::test_calculate_y_bounds_respects_explicit_min ... ok [INFO] [stdout] test ui::panels::graph::bounds::tests::test_calculate_y_bounds_nan ... ok [INFO] [stdout] test ui::panels::graph::labels::tests::test_centered_label_start_returns_centered_position_when_it_fits ... ok [INFO] [stdout] test ui::panels::graph::labels::tests::test_centered_label_start_skips_labels_that_would_be_clamped ... ok [INFO] [stdout] test ui::panels::error_body::tests::bounds_scroll_error_wrap_matches_ratatui_buffers ... ok [INFO] [stdout] test ui::panels::graph::labels::tests::test_value_to_plot_x_includes_window_boundaries ... ok [INFO] [stdout] test ui::panels::graph::labels::tests::test_value_to_plot_x_matches_grid_column ... ok [INFO] [stdout] test ui::panels::graph::labels::tests::test_value_to_plot_y_matches_grid_row ... ok [INFO] [stdout] test ui::panels::graph::overlay::tests::test_is_blank_cell_empty ... ok [INFO] [stdout] test ui::panels::graph::overlay::tests::test_is_blank_cell_filled ... ok [INFO] [stdout] test ui::panels::graph::overlay::tests::test_overlay_cell_if_area_fill_keeps_strong_data_marker ... ok [INFO] [stdout] test ui::panels::graph::labels::tests::test_value_to_y_label_row_matches_grid_row ... ok [INFO] [stdout] test ui::panels::graph::overlay::tests::test_overlay_cell_if_blank_copies_when_destination_is_empty ... ok [INFO] [stdout] test ui::panels::graph::overlay::tests::test_overlay_cell_if_area_fill_replaces_weak_area_cell ... ok [INFO] [stdout] test ui::panels::graph::overlay::tests::test_overlay_cell_if_blank_keeps_existing_destination_marker ... ok [INFO] [stdout] test ui::panels::graph::tests::annotation_details_are_bounded_by_terminal_legend_width ... ok [INFO] [stdout] test export::tests::content_fit::content_fit_export_keeps_last_measured_row ... ok [INFO] [stdout] test ui::panels::graph::tests::annotation_cluster_renders_and_inspects_on_same_column ... ok [INFO] [stdout] test ui::panels::graph::tests::comprehensive_strong_data_mask_requires_visible_routed_annotations ... ok [INFO] [stdout] test ui::panels::graph::tests::tag_filter_recalculates_same_column_count ... ok [INFO] [stdout] test ui::panels::graph::tests::annotation_details_keep_one_logical_line_per_reserved_row ... ok [INFO] [stdout] test ui::panels::graph::tests::test_area_fill_baseline_prefers_zero_when_visible ... ok [INFO] [stdout] test ui::panels::graph::tests::annotation_replaces_vertical_autogrid_but_preserves_standard_line_data ... ok [INFO] [stdout] test ui::panels::graph::tests::test_chart_plot_left_hidden_axis_clamps_first_x_label_gutter ... ok [INFO] [stdout] test ui::panels::graph::tests::test_chart_plot_left_hidden_axis_uses_first_x_label_gutter ... ok [INFO] [stdout] test ui::panels::graph::tests::targeted_annotation_renders_only_on_matching_title ... ok [INFO] [stdout] test ui::panels::graph::tests::test_chart_plot_left_ignores_custom_label_width ... ok [INFO] [stdout] test ui::panels::graph::tests::test_chart_plot_left_visible_axis_clamps_gutter ... ok [INFO] [stdout] test ui::panels::graph::tests::test_chart_plot_left_visible_axis_uses_y_label_width_when_dominant ... ok [INFO] [stdout] test ui::panels::graph::tests::test_chart_plot_left_visible_axis_uses_first_x_label_when_dominant ... ok [INFO] [stdout] test ui::panels::graph::tests::test_graph_type_for_draw_style ... ok [INFO] [stdout] test ui::panels::graph::tests::test_hidden_axis_flag ... ok [INFO] [stdout] test ui::panels::graph::tests::test_should_overlay_points ... ok [INFO] [stdout] test ui::panels::graph::tests::test_area_fill_keeps_precedence_over_autogrid ... ok [INFO] [stdout] test export::tests::test_png_rasterization_writes_non_empty_file ... ok [INFO] [stdout] test ui::panels::graph::thresholds::tests::test_raw_threshold_line_replaces_weak_area_fill_with_mask ... ok [INFO] [stdout] test ui::tabs::tests::tabs_overflow_keeps_active_label_clickable ... ok [INFO] [stdout] test ui::panels::graph::thresholds::tests::test_raw_threshold_line_preserves_strong_data_with_mask ... ok [INFO] [stdout] test ui::tabs::tests::tabs_truncation_preserves_clusters ... ok [INFO] [stdout] test ui::panels::graph::tests::unknown_panel_preserves_graph_data_but_omits_annotation_markers ... ok [INFO] [stdout] test ui::panels::graph::tests::test_line_forced_points_are_visible_and_use_line_marker_cells ... ok [INFO] [stdout] test ui::panels::graph::bounds::tests::test_calculate_y_bounds_zero_based ... ok [INFO] [stdout] test app::state::tests::refresh_skips_collapsed_panels_and_expand_fetches_only_newly_visible ... ok [INFO] [stdout] test app::state::tests::expansion_uses_the_displayed_window_without_resetting_refresh_clock ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_modal_inspect_and_fullscreen_precedence ... ok [INFO] [stdout] test export::tests::annotation_xml_controls_are_safe_for_svg_png_and_recording ... ok [INFO] [stdout] test export::tests::bounds_scroll::bounds_scroll_exports_preserve_defaults_and_capture_windows ... ok [INFO] [stdout] test export::tests::auto_grid_export_uses_visible_projection_and_records_resize ... ok [INFO] [stdout] test export::tests::content_fit::content_fit_recording_tracks_data_and_resize ... ok [INFO] [stdout] test export::tests::fill_screen_export_records_width_and_height_changes ... ok [INFO] [stdout] test export::tests::bounds_scroll::bounds_scroll_recording_tracks_body_noops_and_content_changes ... ok [INFO] [stdout] test ui::panels::error_body::tests::bounds_scroll_error_windows_are_wide_and_unicode_safe ... ok [INFO] [stdout] test app::input::tests::autogrid::bounds_scroll::bounds_scroll_fitted_errors_render_wide_windows_and_tiny_caps ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 402 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.60s [INFO] [stdout] [INFO] [stderr] Running tests/annotations_cli.rs (/opt/rustwide/target/debug/build/grafatui/6fc161dc4b7042ce/out/annotations_cli-6fc161dc4b7042ce) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test help_lists_annotations_file ... ok [INFO] [stdout] test validate_does_not_read_annotations_file ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] [stderr] Running tests/validate_cli.rs (/opt/rustwide/target/debug/build/grafatui/934426c30f3c265c/out/validate_cli-934426c30f3c265c) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test validate_accepts_live_grafana_v2_compatibility_example ... ok [INFO] [stdout] test bounds_scroll_validate_accepts_bounded_example ... ok [INFO] [stdout] test validate_strict_accepts_classic_transformations_without_warnings ... ok [INFO] [stdout] test auto_grid_validate_accepts_static_fixture ... ok [INFO] [stdout] test validate_accepts_live_grafana_v2_tabs_example ... ok [INFO] [stdout] test validate_accepts_supported_v2_resource_json ... ok [INFO] [stdout] test validate_accepts_nested_v2_tabs_layout ... ok [INFO] [stdout] test validate_accepts_v2_rows_layout ... ok [INFO] [stdout] test validate_json_outputs_machine_readable_summary ... ok [INFO] [stdout] test validate_accepts_v2_tabs_layout ... ok [INFO] [stdout] test validate_accepts_live_grafana_v2_rows_example ... ok [INFO] [stdout] test content_fit_validate_accepts_unbounded_and_finite_maximum ... ok [INFO] [stdout] test validate_strict_rejects_v2_unsupported_datasource_warning ... ok [INFO] [stdout] test validate_strict_exits_nonzero_when_warnings_exist ... ok [INFO] [stdout] test fill_screen_validate_accepts_true_and_rejects_invalid_inactive ... ok [INFO] [stdout] test auto_grid_validate_reports_unsupported_and_fractional_settings ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.62s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494", kill_on_drop: false }` [INFO] [stdout] b07f2018456e5309269721a20f278d2f53734fa56eba666b6927f18af7c05494