[INFO] fetching crate tui-do-core 1.0.1...
[INFO] testing tui-do-core-1.0.1 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate tui-do-core 1.0.1 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate tui-do-core 1.0.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate tui-do-core 1.0.1
[INFO] tweaked toml for crates.io crate tui-do-core 1.0.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tui-do-core 1.0.1 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 crates.io crate tui-do-core 1.0.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" "+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] 2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674
[INFO] running `Command { std: "docker" "start" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674", 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" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674" "/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" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674", 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" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling aws-lc-rs v1.18.0
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling time-macros v0.2.32
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling cookie v0.18.2
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling compression-core v0.4.32
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling compression-codecs v0.4.38
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.1
[INFO] [stderr]    Compiling time v0.3.55
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling aws-lc-sys v0.44.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.38.2
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling hashlink v0.12.1
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling async-compression v0.4.43
[INFO] [stderr]    Compiling h2 v0.4.19
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling publicsuffix v2.3.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling cookie_store v0.22.1
[INFO] [stderr]    Compiling rusqlite v0.40.2
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling tui-do-api v1.0.1
[INFO] [stderr]    Compiling tui-do-core v1.0.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `regex`
[INFO] [stderr]   --> Cargo.toml:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 | [dependencies.regex]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `regex`
[INFO] [stderr] warning: `tui-do-core` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 38s
[INFO] running `Command { std: "docker" "inspect" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674", 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" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling tui-do-api v1.0.1
[INFO] [stderr]    Compiling tui-do-core v1.0.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `regex`
[INFO] [stderr]   --> Cargo.toml:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 | [dependencies.regex]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `regex`
[INFO] [stderr] warning: `tui-do-core` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 50.79s
[INFO] running `Command { std: "docker" "inspect" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674", 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" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused dependency `regex`
[INFO] [stderr]   --> Cargo.toml:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 | [dependencies.regex]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `regex`
[INFO] [stderr] warning: `tui-do-core` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/tui-do-core/7048680abc0e58a3/out/tui_do_core-7048680abc0e58a3)
[INFO] [stdout] 
[INFO] [stdout] running 183 tests
[INFO] [stdout] test config::migrate::tests::a_heading_matching_the_default_is_not_carried_as_an_override ... ok
[INFO] [stdout] test config::columns::tests::layouts_round_trip_through_yaml ... ok
[INFO] [stdout] test config::columns::tests::a_misspelled_column_field_is_an_error_not_a_silent_default ... ok
[INFO] [stdout] test config::migrate::tests::a_bare_table_columns_list_becomes_a_layout ... ok
[INFO] [stdout] test config::columns::tests::a_column_falls_back_to_its_default_heading ... ok
[INFO] [stdout] test config::columns::tests::default_layout_names_are_unique ... ok
[INFO] [stdout] test config::migrate::tests::a_missing_api_url_is_reported_not_invented ... ok
[INFO] [stdout] test config::columns::tests::sort_keys_come_back_in_priority_order ... ok
[INFO] [stdout] test config::columns::tests::every_default_layout_has_a_title_column ... ok
[INFO] [stdout] test config::migrate::tests::an_inline_api_key_is_carried_but_flagged ... ok
[INFO] [stdout] test config::migrate::tests::a_realistic_cria_config_imports_cleanly ... ok
[INFO] [stdout] test config::migrate::tests::disabled_columns_are_dropped_rather_than_carried_as_disabled ... ok
[INFO] [stdout] test config::migrate::tests::unknown_keys_do_not_stop_the_import ... ok
[INFO] [stdout] test config::migrate::tests::both_credential_forms_resolve_to_the_file ... ok
[INFO] [stdout] test config::tests::a_minimal_config_needs_only_a_url ... ok
[INFO] [stdout] test config::migrate::tests::what_cannot_be_carried_across_is_reported ... ok
[INFO] [stdout] test config::migrate::tests::the_imported_config_is_one_tui_do_will_actually_load ... ok
[INFO] [stdout] test config::tests::a_config_round_trips_through_yaml ... ok
[INFO] [stdout] test config::tests::an_absolute_token_file_is_left_alone ... ok
[INFO] [stdout] test config::tests::an_explicit_path_wins_over_everything ... ok
[INFO] [stdout] test config::tests::a_relative_token_file_resolves_against_the_config_directory ... ok
[INFO] [stdout] test config::tests::a_saved_config_is_readable_only_by_its_owner ... ok
[INFO] [stdout] test config::tests::a_tilde_token_file_expands_to_the_home_directory ... ok
[INFO] [stdout] test config::tests::a_typo_in_a_key_is_an_error ... ok
[INFO] [stdout] test config::tests::an_inline_token_is_returned_and_trimmed ... ok
[INFO] [stdout] test config::tests::a_missing_url_is_reported_rather_than_defaulted ... ok
[INFO] [stdout] test config::tests::configured_layouts_replace_the_built_in_ones ... ok
[INFO] [stdout] test config::tests::malformed_yaml_says_so ... ok
[INFO] [stdout] test config::tests::an_unknown_quick_action_is_rejected ... ok
[INFO] [stdout] test config::tests::no_credential_configured_is_not_an_error ... ok
[INFO] [stdout] test quickadd::dates::tests::a_bare_weekday_means_the_next_one_not_today ... ok
[INFO] [stdout] test config::tests::quick_actions_parse_as_a_tagged_shape ... ok
[INFO] [stdout] test config::tests::setting_both_token_and_token_file_is_refused ... ok
[INFO] [stdout] test config::tests::the_active_layout_falls_back_rather_than_failing ... ok
[INFO] [stdout] test quickadd::dates::tests::a_date_only_one_reading_can_explain_is_read_that_way ... ok
[INFO] [stdout] test quickadd::dates::tests::a_nonsense_time_does_not_produce_a_date ... ok
[INFO] [stdout] test quickadd::dates::tests::a_due_date_ends_the_day_and_a_start_date_begins_it ... ok
[INFO] [stdout] test quickadd::dates::tests::a_four_digit_year_leads_and_needs_no_guessing ... ok
[INFO] [stdout] test quickadd::dates::tests::a_trailing_time_is_part_of_the_phrase ... ok
[INFO] [stdout] test quickadd::dates::tests::a_local_date_is_converted_not_relabelled ... ok
[INFO] [stdout] test quickadd::dates::tests::a_single_digit_day_or_month_is_as_good_as_two ... ok
[INFO] [stdout] test quickadd::dates::tests::a_month_can_be_spelled_out_at_any_length ... ok
[INFO] [stdout] test quickadd::dates::tests::a_time_of_day_overrides_the_default ... ok
[INFO] [stdout] test quickadd::dates::tests::end_of_month_handles_february ... ok
[INFO] [stdout] test quickadd::dates::tests::end_of_period_shorthands ... ok
[INFO] [stdout] test quickadd::dates::tests::a_word_that_is_not_a_date_is_left_alone ... ok
[INFO] [stdout] test quickadd::dates::tests::a_two_digit_year_pivots_where_strftime_puts_it ... ok
[INFO] [stdout] test quickadd::dates::tests::a_word_that_merely_looks_like_a_date_is_left_in_the_title ... ok
[INFO] [stdout] test quickadd::dates::tests::a_year_less_date_still_resolves_forward ... ok
[INFO] [stdout] test quickadd::dates::tests::an_ambiguous_date_is_day_first_the_way_vikunja_reads_it ... ok
[INFO] [stdout] test quickadd::dates::tests::due_followed_by_nothing_recognisable_is_just_a_word ... ok
[INFO] [stdout] test quickadd::dates::tests::month_names_resolve_forward ... ok
[INFO] [stdout] test quickadd::dates::tests::relative_periods ... ok
[INFO] [stdout] test quickadd::dates::tests::the_military_form_needs_no_separators ... ok
[INFO] [stdout] test quickadd::dates::tests::start_and_due_are_both_found ... ok
[INFO] [stdout] test quickadd::dates::tests::the_phrase_consumes_only_what_it_matched ... ok
[INFO] [stdout] test quickadd::dates::tests::the_colon_form_of_start_works ... ok
[INFO] [stdout] test quickadd::dates::tests::today_and_tomorrow ... ok
[INFO] [stdout] test quickadd::dates::tests::units_carry_their_length ... ok
[INFO] [stdout] test quickadd::tests::a_month_and_a_day_still_read_as_a_date ... ok
[INFO] [stdout] test quickadd::tests::a_title_of_only_magic_leaves_an_empty_title ... ok
[INFO] [stdout] test quickadd::tests::an_empty_input_produces_an_empty_task ... ok
[INFO] [stdout] test quickadd::tests::an_exclamation_mark_is_still_punctuation ... ok
[INFO] [stdout] test quickadd::tests::an_ordinary_word_that_starts_like_a_month_is_not_a_date ... ok
[INFO] [stdout] test quickadd::tests::dates_come_out_of_the_title ... ok
[INFO] [stdout] test quickadd::tests::every_without_a_unit_is_left_in_the_title ... ok
[INFO] [stdout] test quickadd::dates::tests::written_dates_are_day_first_as_vikunja_documents ... ok
[INFO] [stdout] test quickadd::tests::priority_must_be_one_to_five ... ok
[INFO] [stdout] test quickadd::tests::a_bare_prefix_character_is_not_a_token ... ok
[INFO] [stdout] test quickadd::tests::quoted_and_bracketed_values_carry_spaces ... ok
[INFO] [stdout] test quickadd::tests::several_labels_and_assignees_are_kept_in_order ... ok
[INFO] [stdout] test quickadd::tests::repeats_parse_with_and_without_a_count ... ok
[INFO] [stdout] test quickadd::tests::a_label_named_like_a_date_is_not_read_as_one ... ok
[INFO] [stdout] test quickadd::tests::a_plain_title_stays_a_plain_title ... ok
[INFO] [stdout] test quickadd::tests::a_bare_date_phrase_sets_the_due_date ... ok
[INFO] [stdout] test quickadd::tests::the_last_project_wins ... ok
[INFO] [stdout] test quickadd::tests::start_and_due_are_separate_fields ... ok
[INFO] [stdout] test quickadd::tests::unicode_survives_intact ... ok
[INFO] [stdout] test quickadd::tests::tokens_are_reported_in_input_order_for_highlighting ... ok
[INFO] [stdout] test quickadd::tests::the_documented_example_parses_whole ... ok
[INFO] [stdout] test quickadd::words::tests::an_apostrophe_in_ordinary_text_is_not_a_quote ... ok
[INFO] [stdout] test quickadd::tests::punctuation_that_is_not_a_token_stays_in_the_title ... ok
[INFO] [stdout] test quickadd::words::tests::a_quoted_value_after_a_prefix_stays_one_word ... ok
[INFO] [stdout] test quickadd::words::tests::several_ranges_come_out_in_any_order ... ok
[INFO] [stdout] test quickadd::words::tests::trailing_punctuation_does_not_hide_a_keyword ... ok
[INFO] [stdout] test quickadd::words::tests::words_know_where_they_came_from ... ok
[INFO] [stdout] test quickadd::words::tests::an_unclosed_quote_falls_back_to_whitespace_splitting ... ok
[INFO] [stdout] test quickadd::words::tests::empty_input_has_no_words ... ok
[INFO] [stdout] test quickadd::words::tests::leading_and_trailing_space_does_not_produce_empty_words ... ok
[INFO] [stdout] test quickadd::words::tests::ranges_are_byte_correct_for_multibyte_input ... ok
[INFO] [stdout] test quickadd::words::tests::removal_leaves_no_double_spaces ... ok
[INFO] [stdout] test quickadd::words::tests::removing_a_range_takes_the_right_occurrence ... ok
[INFO] [stdout] test store::labels::tests::a_label_seen_only_on_a_task_is_still_pickable ... ok
[INFO] [stdout] test store::labels::tests::a_missing_label_is_none_rather_than_an_error ... ok
[INFO] [stdout] test store::labels::tests::an_embedded_label_does_not_erase_its_known_owner ... ok
[INFO] [stdout] test store::labels::tests::a_provisional_label_survives_a_pull_that_did_not_mention_it ... ok
[INFO] [stdout] test store::labels::tests::lookup_by_name_ignores_case_and_prefers_the_older_label ... ok
[INFO] [stdout] test store::labels::tests::labels_sort_by_title_by_default_and_ties_break_on_id ... ok
[INFO] [stdout] test store::outbox::tests::a_create_cannot_be_undone_because_there_is_no_delete ... ok
[INFO] [stdout] test store::labels::tests::a_label_round_trips_through_the_store ... ok
[INFO] [stdout] test store::labels::tests::retaining_keeps_a_label_a_stored_task_still_carries ... ok
[INFO] [stdout] test store::outbox::tests::a_label_rename_inverts_to_the_rename_that_undoes_it ... ok
[INFO] [stdout] test store::labels::tests::searching_is_case_insensitive_and_treats_wildcards_literally ... ok
[INFO] [stdout] test store::labels::tests::retaining_removes_a_label_nothing_refers_to_any_more ... ok
[INFO] [stdout] test store::labels::tests::upserting_updates_rather_than_duplicating ... ok
[INFO] [stdout] test store::outbox::tests::a_created_label_gets_a_provisional_id_of_its_own ... ok
[INFO] [stdout] test store::outbox::tests::a_queued_entry_records_what_kind_of_thing_it_acts_on ... ok
[INFO] [stdout] test store::outbox::tests::a_deferred_entry_stays_queued_with_its_error ... ok
[INFO] [stdout] test store::outbox::tests::a_failure_mid_queue_writes_neither_the_change_nor_the_entry ... ok
[INFO] [stdout] test store::outbox::tests::a_created_task_gets_a_provisional_negative_id ... ok
[INFO] [stdout] test store::outbox::tests::a_rejected_delete_restores_the_task_with_its_assignees ... ok
[INFO] [stdout] test store::outbox::tests::a_rejected_create_leaves_nothing_behind ... ok
[INFO] [stdout] test store::outbox::tests::a_rejected_label_create_leaves_nothing_behind ... ok
[INFO] [stdout] test store::outbox::tests::a_stored_mutation_survives_a_round_trip_through_json ... ok
[INFO] [stdout] test store::outbox::tests::a_rename_queued_behind_a_create_follows_the_label_to_its_real_id ... ok
[INFO] [stdout] test store::outbox::tests::every_mutation_inverts_to_the_one_that_undoes_it ... ok
[INFO] [stdout] test store::outbox::tests::a_wild_retry_after_cannot_silence_an_entry ... ok
[INFO] [stdout] test store::outbox::tests::a_rejected_update_puts_the_old_task_back ... ok
[INFO] [stdout] test store::outbox::tests::a_rejection_takes_the_edits_queued_behind_it ... ok
[INFO] [stdout] test store::outbox::tests::adopting_a_label_moves_everything_that_named_it ... ok
[INFO] [stdout] test store::outbox::tests::queueing_a_label_writes_it_to_the_store_immediately ... ok
[INFO] [stdout] test store::outbox::tests::the_backoff_grows_and_then_stops_growing ... ok
[INFO] [stdout] test store::outbox::tests::provisional_ids_are_never_reused ... ok
[INFO] [stdout] test store::outbox::tests::an_accepted_entry_leaves_the_local_change_in_place ... ok
[INFO] [stdout] test store::outbox::tests::attaching_a_label_is_its_own_mutation_and_rolls_back_cleanly ... ok
[INFO] [stdout] test store::outbox::tests::queueing_changes_the_store_and_records_the_change_together ... ok
[INFO] [stdout] test store::outbox::tests::pending_tasks_are_identifiable_so_a_pull_can_leave_them_alone ... ok
[INFO] [stdout] test store::outbox::tests::renaming_a_label_changes_the_store_at_once_and_rolls_back_cleanly ... ok
[INFO] [stdout] test store::projects::tests::a_project_round_trips_through_the_store ... ok
[INFO] [stdout] test store::outbox::tests::the_queue_drains_in_the_order_it_was_filled ... ok
[INFO] [stdout] test store::projects::tests::a_missing_project_is_none_rather_than_an_error ... ok
[INFO] [stdout] test store::outbox::tests::undo_is_the_inverse_queued_like_any_other_change ... ok
[INFO] [stdout] test store::projects::tests::filters_combine ... ok
[INFO] [stdout] test store::projects::tests::lookup_by_name_ignores_case_and_never_answers_with_a_pseudo_project ... ok
[INFO] [stdout] test store::outbox::tests::settling_a_create_swaps_the_row_and_retargets_what_was_queued_behind_it ... ok
[INFO] [stdout] test store::projects::tests::an_unknown_view_kind_round_trips_as_unknown ... ok
[INFO] [stdout] test store::projects::tests::projects_sort_by_position_by_default ... ok
[INFO] [stdout] test store::projects::tests::pseudo_projects_are_stored_but_left_out_by_default ... ok
[INFO] [stdout] test store::schema::tests::a_database_from_a_newer_tui_do_is_refused_rather_than_used ... ok
[INFO] [stdout] test store::projects::tests::retaining_projects_does_not_spare_a_task_whose_id_collides_with_a_queued_labels_subject ... ok
[INFO] [stdout] test store::projects::tests::searching_is_case_insensitive_and_treats_wildcards_literally ... ok
[INFO] [stdout] test store::projects::tests::setting_views_replaces_them_including_with_nothing ... ok
[INFO] [stdout] test store::projects::tests::top_level_projects_are_the_ones_with_no_parent ... ok
[INFO] [stdout] test store::projects::tests::views_survive_a_listing_that_does_not_carry_them ... ok
[INFO] [stdout] test store::projects::tests::retaining_removes_dropped_projects_their_views_and_their_tasks ... ok
[INFO] [stdout] test store::projects::tests::retaining_projects_spares_a_task_with_unsent_changes ... ok
[INFO] [stdout] test store::sql::tests::a_timestamp_round_trips_and_none_stays_none ... ok
[INFO] [stdout] test store::sql::tests::like_wildcards_are_escaped ... ok
[INFO] [stdout] test store::schema::tests::an_existing_database_is_upgraded_in_place_rather_than_rebuilt ... ok
[INFO] [stdout] test store::schema::tests::the_v5_backfill_makes_every_existing_row_a_task ... ok
[INFO] [stdout] test store::schema::tests::deleting_a_task_takes_its_links_with_it ... ok
[INFO] [stdout] test store::schema::tests::unset_dates_are_null_rather_than_go_zero_time ... ok
[INFO] [stdout] test store::schema::tests::migrating_creates_every_table_the_plan_calls_for ... ok
[INFO] [stdout] test store::state::tests::the_last_pull_time_round_trips ... ok
[INFO] [stdout] test store::state::tests::a_value_round_trips_and_replaces_rather_than_duplicating ... ok
[INFO] [stdout] test store::state::tests::an_unparseable_value_reads_as_absent_rather_than_failing ... ok
[INFO] [stdout] test store::schema::tests::the_version_is_recorded_so_it_does_not_run_twice ... ok
[INFO] [stdout] test store::tasks::tests::a_limit_is_respected ... ok
[INFO] [stdout] test store::tasks::tests::a_pull_does_not_skip_a_task_whose_id_collides_with_a_queued_labels_subject ... ok
[INFO] [stdout] test store::tasks::tests::an_unset_date_stays_unset_rather_than_becoming_year_one ... ok
[INFO] [stdout] test store::tasks::tests::counts_come_back_per_project_split_by_done ... ok
[INFO] [stdout] test store::tasks::tests::a_task_round_trips_through_the_store ... ok
[INFO] [stdout] test store::tasks::tests::favourites_are_a_predicate_not_a_project ... ok
[INFO] [stdout] test store::tasks::tests::an_archived_projects_tasks_are_not_deleted_by_a_listing_that_omits_them ... ok
[INFO] [stdout] test store::tasks::tests::filters_combine ... ok
[INFO] [stdout] test store::tasks::tests::a_missing_task_is_none_rather_than_an_error ... ok
[INFO] [stdout] test store::tasks::tests::dateless_tasks_sort_last_not_first ... ok
[INFO] [stdout] test store::tasks::tests::labels_and_assignees_are_replaced_not_merged ... ok
[INFO] [stdout] test store::tasks::tests::retaining_removes_only_what_the_server_dropped ... ok
[INFO] [stdout] test store::tests::a_failed_write_rolls_back_entirely ... ok
[INFO] [stdout] test store::tasks::tests::reminders_survive_the_store_because_a_write_sends_them_back ... ok
[INFO] [stdout] test store::tasks::tests::search_is_case_insensitive_and_treats_wildcards_literally ... ok
[INFO] [stdout] test store::tasks::tests::upserting_the_same_task_updates_rather_than_duplicating ... ok
[INFO] [stdout] test store::tests::an_in_memory_store_is_migrated_on_creation ... ok
[INFO] [stdout] test store::tasks::tests::sorting_is_stable_on_ties ... ok
[INFO] [stdout] test sync::tests::a_refusal_is_the_servers_final_answer ... ok
[INFO] [stdout] test store::tasks::tests::the_same_holds_when_the_retain_names_projects ... ok
[INFO] [stdout] test sync::tests::a_timeout_is_not_the_servers_final_answer ... ok
[INFO] [stdout] test store::tests::clones_share_one_database ... ok
[INFO] [stdout] test store::tests::foreign_keys_are_actually_on ... ok
[INFO] [stdout] test store::tests::the_store_is_not_readable_by_other_accounts ... ok
[INFO] [stdout] test store::tasks::tests::a_batch_of_tasks_lands_all_or_nothing ... ok
[INFO] [stdout] test store::tests::opening_creates_the_file_and_its_parent_directory ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 183 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sync.rs (/opt/rustwide/target/debug/build/tui-do-core/a4f3ea44a094e296/out/sync-a4f3ea44a094e296)
[INFO] [stdout] 
[INFO] [stdout] running 52 tests
[INFO] [stdout] test a_different_400_on_an_attach_is_still_a_rejection ... ok
[INFO] [stdout] test a_delete_is_sent_and_clears_the_queue ... ok
[INFO] [stdout] test a_delete_the_server_has_already_done_is_not_undone ... ok
[INFO] [stdout] test a_deferred_label_create_holds_back_the_attach_that_named_it ... ok
[INFO] [stdout] test a_create_whose_label_attach_fails_is_not_sent_twice ... ok
[INFO] [stdout] test a_different_404_on_a_label_rename_is_still_a_rejection ... ok
[INFO] [stdout] test a_create_that_names_a_missing_project_is_still_a_rejection ... ok
[INFO] [stdout] test a_deferred_label_create_does_not_hold_back_an_unrelated_task ... ok
[INFO] [stdout] test a_failure_stops_that_tasks_own_queue ... ok
[INFO] [stdout] test a_failed_entry_waits_before_it_is_tried_again ... ok
[INFO] [stdout] test a_genuine_collision_is_written_and_the_user_is_told ... ok
[INFO] [stdout] test a_label_rename_does_not_store_the_answer_while_another_edit_is_queued ... ok
[INFO] [stdout] test a_label_update_replays_the_edit_onto_the_servers_copy ... ok
[INFO] [stdout] test a_failure_does_not_hold_back_another_tasks_changes ... ok
[INFO] [stdout] test a_label_create_inside_its_backoff_still_holds_its_attach_back ... ok
[INFO] [stdout] test a_label_create_is_sent_and_takes_the_id_the_server_gave_it ... ok
[INFO] [stdout] test a_genuine_label_collision_is_written_and_the_user_is_told ... ok
[INFO] [stdout] test a_pass_pushes_before_it_pulls ... ok
[INFO] [stdout] test a_pass_the_user_asked_for_does_not_wait_out_a_backoff ... ok
[INFO] [stdout] test a_pull_fills_the_store_and_records_what_it_learned ... ok
[INFO] [stdout] test a_pull_does_not_delete_a_task_created_offline ... ok
[INFO] [stdout] test a_pull_does_not_overwrite_an_edit_that_has_not_been_sent ... ok
[INFO] [stdout] test a_pull_removes_what_the_server_no_longer_has ... ok
[INFO] [stdout] test a_push_does_not_revert_what_another_box_changed ... ok
[INFO] [stdout] test a_pushed_create_adopts_the_server_id_and_keeps_its_labels ... ok
[INFO] [stdout] test a_pushed_create_announces_the_id_it_was_given ... ok
[INFO] [stdout] test a_refused_label_create_takes_the_attaches_that_named_it ... ok
[INFO] [stdout] test a_rejected_task_does_not_widen_into_entries_that_merely_mention_it ... ok
[INFO] [stdout] test a_rejected_change_is_rolled_back_and_the_user_is_told ... ok
[INFO] [stdout] test a_rejection_takes_the_edits_queued_behind_it_for_that_task ... ok
[INFO] [stdout] test a_retried_label_create_adopts_the_one_the_lost_response_made ... ok
[INFO] [stdout] test a_retried_task_create_does_not_adopt_a_task_the_store_already_knows ... ok
[INFO] [stdout] test a_retried_task_create_adopts_the_one_the_lost_response_made ... ok
[INFO] [stdout] test a_task_edit_survives_the_rejected_create_of_a_label_it_still_names ... ok
[INFO] [stdout] test a_retried_task_create_whose_read_finds_nothing_still_creates_it ... ok
[INFO] [stdout] test a_retried_label_create_whose_read_finds_nothing_still_creates_it ... ok
[INFO] [stdout] test a_task_a_pull_skipped_stays_inside_the_next_pulls_window ... ok
[INFO] [stdout] test a_server_failure_keeps_the_queue_and_the_local_change ... ok
[INFO] [stdout] test an_edit_that_changes_labels_sends_them_through_their_own_endpoints ... ok
[INFO] [stdout] test an_incremental_pull_asks_only_for_what_changed_since_the_watermark ... ok
[INFO] [stdout] test an_archived_project_and_its_tasks_survive_a_pull ... ok
[INFO] [stdout] test an_incremental_pull_with_no_watermark_fetches_everything ... ok
[INFO] [stdout] test attaching_a_label_that_is_already_attached_is_not_undone ... ok
[INFO] [stdout] test an_edit_queued_behind_a_create_reaches_the_real_task ... ok
[INFO] [stdout] test an_aborted_push_reports_that_it_is_no_longer_pushing ... ok
[INFO] [stdout] test an_incremental_pull_does_not_delete_what_it_did_not_mention ... ok
[INFO] [stdout] test detaching_a_label_the_server_answers_403_for_is_not_undone ... ok
[INFO] [stdout] test detaching_a_label_that_is_already_gone_is_not_undone ... ok
[INFO] [stdout] test only_a_full_pull_says_that_deletions_have_been_reconciled ... ok
[INFO] [stdout] test project_views_are_fetched_on_demand_rather_than_in_every_pull ... ok
[INFO] [stdout] test the_watermark_is_stamped_from_before_the_requests_not_after ... ok
[INFO] [stdout] test renaming_a_label_that_is_already_gone_is_not_undone ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.41s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tui_do_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674", kill_on_drop: false }`
[INFO] [stdout] 2e467e0d718c8a533becebd9bc33ba8e6b6f52dbb175a4c1fb91c3150e746674
