[INFO] cloning repository https://github.com/webdavis/damnit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/webdavis/damnit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwebdavis%2Fdamnit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwebdavis%2Fdamnit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0aa41281a279e7e924c1cf93f28a2e84433f45a4
[INFO] testing webdavis/damnit against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwebdavis%2Fdamnit" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/webdavis/damnit
[INFO] finished tweaking git repo https://github.com/webdavis/damnit
[INFO] tweaked toml for git repo https://github.com/webdavis/damnit written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/webdavis/damnit on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/webdavis/damnit already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml v1.1.6+spec-1.1.0
[INFO] [stderr]   Downloaded toon-format v0.5.0
[INFO] [stderr]   Downloaded rusqlite v0.39.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5
[INFO] running `Command { std: "docker" "start" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5", 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" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5", 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" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling find-msvc-tools v0.1.13
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling jiff-core v0.1.1
[INFO] [stderr]    Compiling rustls v0.23.45
[INFO] [stderr]    Compiling hybrid-array v0.4.15
[INFO] [stderr]    Compiling base64 v0.23.1
[INFO] [stderr]    Compiling http v1.5.0
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling pkg-config v0.3.34
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling cc v1.4.7
[INFO] [stderr]    Compiling rustix v1.1.5
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling clap_lex v1.1.1
[INFO] [stderr]    Compiling smallvec v1.16.1
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling clap_builder v4.6.7
[INFO] [stderr]    Compiling ureq-proto v0.6.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.37.0
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling jiff v0.2.37
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml v1.1.6+spec-1.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling clap v4.6.7
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling dam-protocol v0.1.0 (/opt/rustwide/workdir/crates/dam-protocol)
[INFO] [stderr]    Compiling toon-format v0.5.0
[INFO] [stderr]    Compiling dam-domain v0.1.0 (/opt/rustwide/workdir/crates/dam-domain)
[INFO] [stderr]    Compiling dam-application v0.1.0 (/opt/rustwide/workdir/crates/dam-application)
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling ureq v3.4.2
[INFO] [stderr]    Compiling dam-remote-gcal v0.1.0 (/opt/rustwide/workdir/crates/dam-remote-gcal)
[INFO] [stderr]    Compiling dam-remote-todoist v0.1.0 (/opt/rustwide/workdir/crates/dam-remote-todoist)
[INFO] [stderr]    Compiling rusqlite v0.39.0
[INFO] [stderr]    Compiling dam-adapters v0.1.0 (/opt/rustwide/workdir/crates/dam-adapters)
[INFO] [stderr]    Compiling damnit v0.2.0 (/opt/rustwide/workdir/crates/dam-cli)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 54s
[INFO] running `Command { std: "docker" "inspect" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5", 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" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling dam-application v0.1.0 (/opt/rustwide/workdir/crates/dam-application)
[INFO] [stderr]    Compiling dam-protocol v0.1.0 (/opt/rustwide/workdir/crates/dam-protocol)
[INFO] [stderr]    Compiling dam-domain v0.1.0 (/opt/rustwide/workdir/crates/dam-domain)
[INFO] [stderr]    Compiling dam-remote-todoist v0.1.0 (/opt/rustwide/workdir/crates/dam-remote-todoist)
[INFO] [stderr]    Compiling dam-remote-gcal v0.1.0 (/opt/rustwide/workdir/crates/dam-remote-gcal)
[INFO] [stderr]    Compiling dam-adapters v0.1.0 (/opt/rustwide/workdir/crates/dam-adapters)
[INFO] [stderr]    Compiling damnit v0.2.0 (/opt/rustwide/workdir/crates/dam-cli)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 44s
[INFO] running `Command { std: "docker" "inspect" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5", 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" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/dam_adapters-21b7aa239f822b14)
[INFO] [stdout] 
[INFO] [stdout] running 117 tests
[INFO] [stdout] test credentials::tests::an_empty_argv_is_a_command_failure_not_a_panic ... ok
[INFO] [stdout] test edit_template::reader::tests::an_offset_inside_a_multibyte_character_still_names_a_line ... ok
[INFO] [stdout] test edit_template::tests::a_misspelled_field_is_refused_rather_than_dropped ... ok
[INFO] [stdout] test edit_template::tests::an_optional_field_emptied_in_the_template_clears_it ... ok
[INFO] [stdout] test cancel::tests::an_interrupt_after_the_handler_is_installed_sets_the_flag ... ok
[INFO] [stdout] test edit_template::tests::an_unchanged_template_parses_to_no_edits ... ok
[INFO] [stdout] test edit_template::reader::tests::a_quoted_key_is_refused_without_a_line_number_rather_than_line_zero ... ok
[INFO] [stdout] test edit_template::tests::changed_values_become_edits_and_labels_diff ... ok
[INFO] [stdout] test edit_template::tests::broken_toml_names_its_line ... ok
[INFO] [stdout] test edit_template::tests::hostile_subject_text_survives_a_render_and_a_parse_unchanged ... ok
[INFO] [stdout] test edit_template::tests::an_unchanged_event_template_parses_to_no_edits ... ok
[INFO] [stdout] test credentials::tests::a_literal_is_returned_as_is ... ok
[INFO] [stdout] test edit_template::tests::a_bad_line_is_named ... ok
[INFO] [stdout] test credentials::tests::env_reads_the_variable_or_reports_it_unset ... ok
[INFO] [stdout] test editor::tests::a_blank_visual_falls_through_to_editor ... ok
[INFO] [stdout] test editor::tests::visual_wins_over_editor ... ok
[INFO] [stdout] test editor::tests::a_multi_word_value_splits_on_whitespace ... ok
[INFO] [stdout] test editor::tests::an_editor_installed_at_a_path_with_a_space_is_run_as_one_word ... ok
[INFO] [stdout] test editor::tests::an_empty_command_is_an_error ... ok
[INFO] [stdout] test editor::tests::neither_set_falls_back_to_vi ... ok
[INFO] [stdout] test editor::tests::a_failing_editor_is_an_error ... ok
[INFO] [stdout] test editor::tests::the_editor_sees_the_text_and_its_save_comes_back ... ok
[INFO] [stdout] test credentials::tests::a_command_returns_trimmed_stdout ... ok
[INFO] [stdout] test credentials::tests::non_utf8_stdout_is_a_command_failure_that_never_echoes_the_bytes ... ok
[INFO] [stdout] test credentials::tests::a_failing_command_reports_stderr_and_never_stdout ... ok
[INFO] [stdout] test helper_process::conversation::tests::a_helper_that_dies_without_answering_quotes_what_it_complained_about ... ok
[INFO] [stdout] test helper_process::conversation::tests::a_helper_declaring_a_newer_protocol_is_refused_with_both_versions ... ok
[INFO] [stdout] test edit_template::reader::tests::a_bare_key_is_refused_with_its_line ... ok
[INFO] [stdout] test helper_process::tests::a_non_executable_helper_is_not_found_by_name ... ok
[INFO] [stdout] test helper_process::tests::a_missing_helper_is_not_found_by_name ... ok
[INFO] [stdout] test helper_process::tests::two_credential_names_that_become_one_variable_are_refused_by_name ... ok
[INFO] [stdout] test helper_process::tests::find_locates_the_helper_by_name ... ok
[INFO] [stdout] test helper_process::tests::an_error_line_is_a_remote_error_and_eof_is_io ... ok
[INFO] [stdout] test random::tests::two_fills_differ ... ok
[INFO] [stdout] test sqlite::codec::tests::an_object_round_trips_through_json ... ok
[INFO] [stdout] test helper_process::tests::an_empty_address_is_still_passed_so_the_count_never_varies ... ok
[INFO] [stdout] test sqlite::codec::tests::every_notice_variant_round_trips ... ok
[INFO] [stdout] test sqlite::codec::tests::ops_round_trip_and_bad_text_is_an_error ... ok
[INFO] [stdout] test helper_process::conversation::tests::a_response_of_the_wrong_shape_names_the_shape_and_never_the_task_it_carried ... ok
[INFO] [stdout] test sqlite::conflicts::tests::conflicts_carry_ours_and_theirs_and_clear ... ok
[INFO] [stdout] test sqlite::conflicts::tests::notices_keep_insertion_order_and_clear ... ok
[INFO] [stdout] test sqlite::migrations::tests::a_version_two_store_gains_the_accepted_kinds_table ... ok
[INFO] [stdout] test sqlite::migrations::tests::migrating_a_current_store_again_changes_nothing ... ok
[INFO] [stdout] test sqlite::objects::tests::a_busy_or_locked_store_is_its_own_outcome ... ok
[INFO] [stdout] test sqlite::migrations::tests::a_version_one_store_migrates_up_and_keeps_its_rows ... ok
[INFO] [stdout] test sqlite::objects::tests::every_other_store_failure_stays_a_plain_failure ... ok
[INFO] [stdout] test clock::tests::today_is_the_date_of_now_in_the_system_zone ... ok
[INFO] [stdout] test sqlite::objects::tests::the_upper_bound_sits_above_every_path_under_the_prefix ... ok
[INFO] [stdout] test sqlite::conflicts::tests::push_retries_replace_the_set ... ok
[INFO] [stdout] test sqlite::objects::tests::children_of_the_root_are_found_and_deeper_objects_are_not ... ok
[INFO] [stdout] test helper_process::conversation::tests::only_the_last_lines_of_a_talkative_helper_are_kept ... ok
[INFO] [stdout] test editor::tests::an_editor_value_carrying_arguments_is_still_split ... ok
[INFO] [stdout] test sqlite::remote::tests::clear_remote_mapping_drops_id_and_snapshot_for_that_remote_only ... ok
[INFO] [stdout] test sqlite::remote::tests::snapshots_and_sync_tokens_are_per_remote ... ok
[INFO] [stdout] test sqlite::stage::tests::children_of_does_not_panic_on_a_non_matching_multibyte_path ... ok
[INFO] [stdout] test sqlite::stage::tests::children_of_does_not_treat_underscore_and_percent_as_wildcards ... ok
[INFO] [stdout] test sqlite::stage::tests::children_of_is_direct_children_only ... ok
[INFO] [stdout] test sqlite::remote::tests::remote_ids_map_both_ways_and_overwrite ... ok
[INFO] [stdout] test sqlite::remote::tests::last_push_is_absent_then_set_and_does_not_disturb_last_pull ... ok
[INFO] [stdout] test sqlite::stage::tests::dependents_of_finds_who_lists_the_oid ... ok
[INFO] [stdout] test helper_process::tests::credentials_arrive_as_environment_and_calls_round_trip ... ok
[INFO] [stdout] test sqlite::stage::tests::unstage_one_and_all ... ok
[INFO] [stdout] test sqlite::stage::tests::unpushed_commits_come_oldest_first ... ok
[INFO] [stdout] test sqlite::stage::tests::commit_clears_only_the_oids_it_touched ... ok
[INFO] [stdout] test sqlite::stage::tests::put_get_all_delete ... ok
[INFO] [stdout] test sqlite::stage::tests::stage_coalesces_and_commit_moves_the_stage_into_history ... ok
[INFO] [stdout] test helper_process::tests::the_helper_is_given_its_remote_name_and_address_and_reads_credentials_under_that_name ... ok
[INFO] [stdout] test sqlite::tests::a_symlink_is_refused ... ok
[INFO] [stdout] test sqlite::tests::a_symlink_at_the_path_is_refused_rather_than_followed ... ok
[INFO] [stdout] test credentials::tests::a_missing_command_is_a_command_failure ... ok
[INFO] [stdout] test sqlite::remote::tests::last_pull_is_absent_then_set ... ok
[INFO] [stdout] test sqlite::stage::tests::log_is_newest_first_and_unpushed_respects_mark_pushed ... ok
[INFO] [stdout] test toml_config::append::tests::append_remote_creates_a_private_file_in_a_private_directory ... ok
[INFO] [stdout] test toml_config::append::tests::append_remote_adds_a_table ... ok
[INFO] [stdout] test toml_config::remote::tests::a_command_credential_must_be_an_array ... ok
[INFO] [stdout] test toml_config::remote::tests::a_hand_written_remote_name_outside_the_bare_key_set_is_refused_by_name ... ok
[INFO] [stdout] test toml_config::append::tests::append_remote_tightens_a_world_readable_config ... ok
[INFO] [stdout] test toml_config::remote::tests::a_misspelled_remote_key_is_refused_by_name_and_never_becomes_a_credential ... ok
[INFO] [stdout] test toml_config::remote::tests::a_remote_without_a_helper_prefix_is_invalid ... ok
[INFO] [stdout] test toml_config::remote::tests::an_absent_deadline_is_none_and_a_non_string_is_refused ... ok
[INFO] [stdout] test toml_config::remote::tests::the_command_wins_over_the_variable_when_no_value_is_set ... ok
[INFO] [stdout] test toml_config::append::tests::append_remote_refuses_a_config_it_cannot_read_back_and_leaves_the_file_as_it_was ... ok
[INFO] [stdout] test toml_config::remote::tests::the_config_value_wins_over_the_command_and_the_command_over_the_variable ... ok
[INFO] [stdout] test toml_config::tests::a_full_file_parses_into_config ... ok
[INFO] [stdout] test toml_config::tests::a_syntax_error_names_its_position_and_never_echoes_the_file ... ok
[INFO] [stdout] test toml_config::tests::a_missing_file_loads_as_the_default ... ok
[INFO] [stdout] test toml_config::tests::an_empty_file_is_the_default ... ok
[INFO] [stdout] test toml_config::tests::stale_accepts_seconds_minutes_and_hours_only ... ok
[INFO] [stdout] test wire::tests::a_bad_date_is_a_date_rejection_that_names_the_field ... ok
[INFO] [stdout] test wire::tests::a_completion_time_round_trips_as_rfc_3339_since_the_store_is_wire_json ... ok
[INFO] [stdout] test wire::tests::a_pull_hands_its_cancellations_on ... ok
[INFO] [stdout] test wire::tests::a_pulled_object_with_no_remote_id_is_rejected_under_an_empty_name ... ok
[INFO] [stdout] test wire::tests::a_push_result_naming_no_valid_oid_is_dropped_since_no_change_can_own_it ... ok
[INFO] [stdout] test wire::tests::a_task_round_trips_with_a_day_due ... ok
[INFO] [stdout] test wire::tests::an_absent_completion_time_as_an_older_helper_sends_reads_as_none_and_is_left_out ... ok
[INFO] [stdout] test wire::tests::an_event_round_trips_with_a_zoned_start ... ok
[INFO] [stdout] test edit_template::tests::a_field_belonging_to_the_other_kind_is_refused_by_name ... ok
[INFO] [stdout] test wire::tests::an_unknown_event_word_names_the_field_it_came_from ... ok
[INFO] [stdout] test wire::tests::an_open_task_does_not_take_a_completion_time_from_the_wire ... ok
[INFO] [stdout] test wire::tests::an_unknown_kind_is_its_own_rejection ... ok
[INFO] [stdout] test toml_config::tests::a_non_ascii_or_empty_duration_is_refused_rather_than_a_panic ... ok
[INFO] [stdout] test wire::tests::the_calendars_own_attendee_round_trips ... ok
[INFO] [stdout] test sqlite::tests::open_creates_a_private_wal_database_at_the_current_version ... ok
[INFO] [stdout] test sqlite::tests::staging_inside_an_open_unit_takes_its_savepoint_so_an_outer_failure_rolls_it_back ... ok
[INFO] [stdout] test sqlite::tests::a_unit_of_work_holds_the_write_lock_from_its_first_statement ... ok
[INFO] [stdout] test sqlite::tests::a_newer_schema_is_refused_untouched ... ok
[INFO] [stdout] test helper_process::conversation::tests::the_timeout_echoes_the_configured_text_rather_than_seconds ... ok
[INFO] [stdout] test sqlite::tests::a_directory_at_the_path_is_refused ... ok
[INFO] [stdout] test toml_config::remote::tests::a_literal_credential_is_read_only_when_credentials_declares_its_name ... ok
[INFO] [stdout] test wire::tests::a_kind_or_field_this_dam_does_not_know_is_dropped_rather_than_refused ... ok
[INFO] [stdout] test wire::tests::an_unreadable_completion_time_is_rejected_naming_the_field ... ok
[INFO] [stdout] test wire::tests::each_rejection_class_is_distinguishable_without_matching_a_sentence ... ok
[INFO] [stdout] test sqlite::tests::the_store_directory_is_created_as_private_as_the_config_directory_beside_it ... ok
[INFO] [stdout] test helper_process::conversation::tests::a_helper_that_never_answers_carries_its_complaint_into_the_timeout ... ok
[INFO] [stdout] test helper_process::conversation::tests::a_helper_that_ignores_end_of_input_is_killed_at_drop ... ok
[INFO] [stdout] test helper_process::conversation::tests::a_helper_that_never_answers_times_out_and_its_child_is_killed ... ok
[INFO] [stderr]      Running tests/repository_contract.rs (/opt/rustwide/target/release/deps/repository_contract-1f84f1d6d7687de9)
[INFO] [stdout] test sqlite::conflicts::tests::a_notice_table_that_is_never_cleared_keeps_the_newest_and_drops_the_oldest ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 117 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test it_keeps_the_commit_repository_contract ... ok
[INFO] [stdout] test it_keeps_the_remote_tracking_repository_contract ... ok
[INFO] [stdout] test it_keeps_the_transactional_contract ... ok
[INFO] [stdout] test it_keeps_the_conflict_repository_contract ... ok
[INFO] [stdout] test it_keeps_the_object_repository_contract ... ok
[INFO] [stdout] test it_keeps_the_notice_repository_contract ... ok
[INFO] [stdout] test it_keeps_the_stage_repository_contract ... ok
[INFO] [stdout] test it_keeps_the_accepted_kinds_repository_contract ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/dam_application-6713be5f20a06f22)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 166 tests
[INFO] [stdout] test errors::tests::every_name_is_lower_snake_case_and_says_something ... ok
[INFO] [stdout] test errors::tests::no_two_samples_share_a_hand_numbered_slot ... ok
[INFO] [stdout] test errors::tests::every_rule_has_its_own_name ... ok
[INFO] [stdout] test config::tests::the_address_is_the_text_after_the_helper_name ... ok
[INFO] [stdout] test merge::tests::a_reopen_from_a_remote_clears_the_completion_time ... ok
[INFO] [stdout] test merge::tests::every_event_field_moves_alone_and_nothing_else_does ... ok
[INFO] [stdout] test secret::tests::debug_redacts_the_value_and_expose_returns_it ... ok
[INFO] [stdout] test testing::memory_store::remote_state::tests::it_keeps_the_object_repository_contract ... ok
[INFO] [stdout] test testing::memory_store::remote_state::tests::it_keeps_the_remote_tracking_repository_contract ... ok
[INFO] [stdout] test ports::store::tests::a_remote_name_is_a_toml_bare_key ... ok
[INFO] [stdout] test merge::tests::every_task_field_moves_alone_and_nothing_else_does ... ok
[INFO] [stdout] test testing::memory_store::remote_state::tests::it_keeps_the_conflict_repository_contract ... ok
[INFO] [stdout] test merge::tests::only_named_fields_come_from_theirs ... ok
[INFO] [stdout] test use_cases::agenda::tests::an_all_day_event_runs_midnight_to_midnight_in_the_zone_given ... ok
[INFO] [stdout] test use_cases::agenda::tests::an_event_in_progress_when_the_window_opens_is_listed ... ok
[INFO] [stdout] test use_cases::agenda::tests::events_are_ordered_by_start_and_a_cancelled_one_is_listed_as_not_busy ... ok
[INFO] [stdout] test testing::memory_store::remote_state::tests::it_keeps_the_accepted_kinds_repository_contract ... ok
[INFO] [stdout] test testing::memory_store::remote_state::tests::it_keeps_the_stage_repository_contract ... ok
[INFO] [stdout] test credentials::tests::each_declared_credential_is_resolved_by_name ... ok
[INFO] [stdout] test credentials::tests::nothing_on_the_credential_path_reveals_the_value ... ok
[INFO] [stdout] test credentials::tests::a_declared_credential_with_no_spec_is_refused_by_name ... ok
[INFO] [stdout] test credentials::tests::undeclared_specs_are_not_resolved ... ok
[INFO] [stdout] test errors::tests::every_variant_has_a_sample ... ok
[INFO] [stdout] test merge::tests::a_kind_mismatch_keeps_ours_entirely_and_is_reported ... ok
[INFO] [stdout] test config::tests::a_config_holding_a_literal_credential_never_debug_prints_it ... ok
[INFO] [stdout] test testing::memory_store::remote_state::tests::it_keeps_the_commit_repository_contract ... ok
[INFO] [stdout] test merge::tests::a_remote_that_agrees_it_is_done_leaves_the_completion_time_alone ... ok
[INFO] [stdout] test testing::memory_store::remote_state::tests::it_keeps_the_notice_repository_contract ... ok
[INFO] [stdout] test use_cases::agenda::tests::the_window_is_half_open_on_both_sides ... ok
[INFO] [stdout] test use_cases::agenda::tests::tasks_are_never_listed_and_a_query_narrows_the_events ... ok
[INFO] [stdout] test use_cases::commit::tests::commit_records_the_stage_and_empties_it ... ok
[INFO] [stdout] test use_cases::complete::tests::a_dependency_that_no_longer_exists_counts_as_closed ... ok
[INFO] [stdout] test use_cases::complete::tests::a_store_error_while_checking_a_dependency_propagates ... ok
[INFO] [stdout] test use_cases::complete::tests::an_event_is_not_a_task ... ok
[INFO] [stdout] test use_cases::complete::tests::a_recurring_task_rolls_forward_instead_of_closing ... ok
[INFO] [stdout] test use_cases::complete::tests::a_task_that_rolls_forward_records_no_completion_time ... ok
[INFO] [stdout] test use_cases::complete::tests::an_unblocked_task_is_done ... ok
[INFO] [stdout] test use_cases::complete::tests::children::a_root_task_with_objects_in_subfolders_has_no_children ... ok
[INFO] [stdout] test use_cases::complete::tests::children::done_children_do_not_block ... ok
[INFO] [stdout] test use_cases::complete::tests::dispositions::interactive_into_carries_a_grandchild_along ... ok
[INFO] [stdout] test use_cases::complete::tests::dispositions::interactive_drop_removes_open_dependencies ... ok
[INFO] [stdout] test use_cases::complete::tests::children::force_yes_completes_and_leaves_children_where_they_are ... ok
[INFO] [stdout] test use_cases::complete::tests::children::objects_in_a_siblings_folder_are_not_children ... ok
[INFO] [stdout] test use_cases::complete::tests::children::open_children_and_dependencies_block_and_force_no_refuses ... ok
[INFO] [stdout] test use_cases::complete::tests::completing_an_already_completed_task_changes_nothing ... ok
[INFO] [stdout] test testing::memory_store::remote_state::tests::it_keeps_the_transactional_contract ... ok
[INFO] [stdout] test use_cases::complete::tests::completing_a_task_records_when_it_happened ... ok
[INFO] [stdout] test use_cases::edit::tests::some_none_clears_a_date ... ok
[INFO] [stdout] test use_cases::edit::tests::undone::undone_on_a_task_that_is_not_completed_is_refused_naming_it ... ok
[INFO] [stdout] test use_cases::edit::tests::undone::undone_reopens_a_completed_task ... ok
[INFO] [stdout] test use_cases::edit::tests::a_dependency_cycle_is_refused ... ok
[INFO] [stdout] test use_cases::freshness::tests::a_pull_from_the_future_reads_as_age_zero ... ok
[INFO] [stdout] test use_cases::freshness::tests::a_pull_older_than_the_bound_is_refused_with_its_age ... ok
[INFO] [stdout] test use_cases::freshness::tests::a_bound_on_a_remote_the_config_does_not_name_is_no_such_remote ... ok
[INFO] [stdout] test use_cases::edit::tests::subject_priority_and_due_are_set ... ok
[INFO] [stdout] test use_cases::freshness::tests::a_remote_never_pulled_is_refused ... ok
[INFO] [stdout] test use_cases::freshness::tests::every_bound_is_held_not_only_the_first ... ok
[INFO] [stdout] test use_cases::list::tests::a_bad_query_is_a_parse_error ... ok
[INFO] [stdout] test use_cases::list::tests::a_category_term_checks_the_category_exists ... ok
[INFO] [stdout] test use_cases::list::tests::a_saved_filter_runs_by_name ... ok
[INFO] [stdout] test use_cases::complete::tests::dispositions::interactive_into_groups_children_under_a_new_task_beside_the_parent ... ok
[INFO] [stdout] test use_cases::edit::tests::attach_needs_an_existing_event ... ok
[INFO] [stdout] test use_cases::complete::tests::dispositions::interactive_into_with_no_open_children_creates_no_group ... ok
[INFO] [stdout] test use_cases::complete::tests::dispositions::interactive_up_carries_a_grandchild_along ... ok
[INFO] [stdout] test use_cases::complete::tests::dispositions::interactive_up_moves_children_beside_the_parent ... ok
[INFO] [stdout] test use_cases::edit::tests::a_bad_recurrence_is_a_parse_error_and_a_good_one_is_kept ... ok
[INFO] [stdout] test use_cases::edit::tests::labels_are_added_removed_and_checked ... ok
[INFO] [stdout] test use_cases::edit::tests::task_fields_on_an_event_are_refused ... ok
[INFO] [stdout] test use_cases::edit::tests::undone::undone_on_an_event_is_refused_as_not_a_task ... ok
[INFO] [stdout] test use_cases::new_object::tests::a_new_task_lands_in_working_with_a_generated_oid_and_nothing_staged ... ok
[INFO] [stdout] test use_cases::new_object::tests::labels_are_checked_against_categories ... ok
[INFO] [stdout] test use_cases::pull::tests::a_pull_commit_is_already_pushed_to_the_remote_it_came_from ... ok
[INFO] [stdout] test use_cases::pull::tests::a_new_upstream_object_is_created_locally_with_a_fresh_oid_and_mapped ... ok
[INFO] [stdout] test use_cases::pull::tests::a_fast_forward_updates_a_clean_local_object ... ok
[INFO] [stdout] test use_cases::pull::tests::cancellations::a_cancellation_for_an_event_with_no_snapshot_is_raised_against_the_working_copy ... ok
[INFO] [stdout] test use_cases::pull::tests::conflicts_and_refusals::uncommitted_local_work_stops_the_pull_before_anything_is_written ... ok
[INFO] [stdout] test use_cases::pull::tests::dam_only_fields_survive_a_pull ... ok
[INFO] [stdout] test use_cases::freshness::tests::a_pull_exactly_as_old_as_the_bound_answers ... ok
[INFO] [stdout] test use_cases::pull::tests::kind_change::a_kind_change_is_noticed_once_however_often_it_is_pulled ... ok
[INFO] [stdout] test use_cases::pull::tests::cancellations::a_cancelled_id_moves_the_event_it_maps_to_cancelled ... ok
[INFO] [stdout] test use_cases::list::tests::no_query_lists_everything_by_path_then_earlier_due_first ... ok
[INFO] [stdout] test use_cases::pull::tests::cancellations::an_uncommitted_local_edit_stops_the_pull_as_any_upstream_change_would ... ok
[INFO] [stdout] test use_cases::pull::tests::cancellations::a_committed_local_edit_and_a_cancellation_conflict_over_what_the_remote_held ... ok
[INFO] [stdout] test use_cases::pull::tests::removals_and_notices::a_cancelled_event_with_attached_tasks_is_reported ... ok
[INFO] [stdout] test use_cases::pull::tests::removals_and_notices::a_cancelled_event_that_conflicts_still_raises_the_notice ... ok
[INFO] [stdout] test use_cases::pull::tests::removals_and_notices::an_unrelated_staged_object_stays_staged_after_a_pull ... ok
[INFO] [stdout] test use_cases::pull::tests::accepted_kinds::a_pull_records_the_kinds_the_remote_accepts ... ok
[INFO] [stdout] test use_cases::push::idempotency::tests::a_different_commit_object_or_origin_yields_a_different_key ... ok
[INFO] [stdout] test use_cases::push::idempotency::tests::a_key_is_uuid_shaped_with_the_last_character_reserved ... ok
[INFO] [stdout] test use_cases::pull::tests::removals_and_notices::one_unconvertible_object_is_skipped_with_a_notice_and_the_rest_still_pull ... ok
[INFO] [stdout] test use_cases::push::idempotency::tests::the_same_change_yields_the_same_key_every_time ... ok
[INFO] [stdout] test use_cases::pull::tests::kind_change::a_kind_change_upstream_keeps_ours_and_raises_a_notice ... ok
[INFO] [stdout] test use_cases::pull::tests::cancellations::an_event_already_cancelled_is_unchanged ... ok
[INFO] [stdout] test use_cases::pull::tests::conflicts_and_refusals::both_sides_changed_is_a_conflict_and_nothing_is_overwritten ... ok
[INFO] [stdout] test use_cases::pull::tests::cancellations::an_id_dam_never_mapped_and_one_mapped_to_a_task_change_nothing ... ok
[INFO] [stdout] test use_cases::pull::tests::conflicts_and_refusals::a_refused_pull_leaves_none_of_its_own_notices_behind ... ok
[INFO] [stdout] test use_cases::push::tests::accepted_kinds::a_push_records_the_kinds_the_remote_accepts ... ok
[INFO] [stdout] test use_cases::push::tests::an_event_is_skipped_by_a_task_only_helper ... ok
[INFO] [stdout] test use_cases::push::tests::a_committed_create_is_sent_and_its_remote_id_is_mapped ... ok
[INFO] [stdout] test use_cases::push::tests::answers::a_failed_mutation_becomes_a_notice_and_a_retry ... ok
[INFO] [stdout] test use_cases::push::tests::a_delete_with_no_remote_mapping_is_skipped ... ok
[INFO] [stdout] test use_cases::new_object::tests::a_new_event_lands_in_working ... ok
[INFO] [stdout] test use_cases::freshness::tests::a_pull_inside_the_bound_answers ... ok
[INFO] [stdout] test use_cases::push::tests::a_retry_is_sent_as_an_update_of_the_committed_state ... ok
[INFO] [stdout] test use_cases::push::tests::answers::a_mutation_the_helper_never_answered_is_a_failure ... ok
[INFO] [stdout] test use_cases::push::tests::a_successful_delete_clears_the_remote_mapping ... ok
[INFO] [stdout] test use_cases::pull::tests::cancellations::a_helper_that_does_not_declare_status_cancels_nothing ... ok
[INFO] [stdout] test use_cases::pull::tests::cancellations::a_cancelled_event_with_an_attached_task_is_reported_and_the_task_kept ... ok
[INFO] [stdout] test use_cases::push::tests::answers::duplicate_and_unsent_results_are_ignored ... ok
[INFO] [stdout] test use_cases::push::tests::keys::a_resend_after_an_unanswered_push_carries_the_first_attempt_s_key ... ok
[INFO] [stdout] test use_cases::pull::tests::removals_and_notices::a_removal_upstream_is_a_notice_not_a_deletion ... ok
[INFO] [stdout] test use_cases::pull::tests::removals_and_notices::a_pull_records_when_it_happened ... ok
[INFO] [stdout] test use_cases::push::tests::last_push::a_push_that_reached_the_remote_records_when_it_did ... ok
[INFO] [stdout] test use_cases::push::tests::last_push::a_push_whose_mutations_the_remote_refused_still_records_when_it_did ... ok
[INFO] [stdout] test use_cases::push::tests::last_push::a_push_with_nothing_to_send_records_the_time_too ... ok
[INFO] [stdout] test use_cases::push::tests::read_only::a_remote_that_declares_no_kinds_is_sent_nothing_and_owed_nothing ... ok
[INFO] [stdout] test use_cases::push::tests::refusals::a_credential_the_config_does_not_supply_is_refused_by_name ... ok
[INFO] [stdout] test use_cases::push::tests::refusals::an_unknown_remote_is_refused ... ok
[INFO] [stdout] test use_cases::push::tests::refusals::unresolved_conflicts_block_push ... ok
[INFO] [stdout] test use_cases::push::tests::keys::two_successive_changes_to_one_object_carry_different_keys ... ok
[INFO] [stdout] test use_cases::push::tests::verbs::a_create_the_remote_already_holds_is_sent_as_an_update ... ok
[INFO] [stdout] test use_cases::relocate::tests::moving_a_parent_carries_its_descendants ... ok
[INFO] [stdout] test use_cases::relocate::tests::a_top_level_object_lands_exactly_at_the_destination ... ok
[INFO] [stdout] test use_cases::relocate::tests::moving_into_yourself_is_refused ... ok
[INFO] [stdout] test use_cases::commit::tests::an_empty_stage_cannot_be_committed ... ok
[INFO] [stdout] test use_cases::push::tests::retries::a_retry_declares_only_the_fields_of_the_change_that_failed ... ok
[INFO] [stdout] test use_cases::remove::tests::an_attached_task_keeps_the_removed_events_oid ... ok
[INFO] [stdout] test use_cases::remove::tests::plan_lists_descendants_dependents_and_attached ... ok
[INFO] [stdout] test use_cases::remove::tests::remove_moves_children_up_and_drops_dependency_edges ... ok
[INFO] [stdout] test use_cases::push::tests::retries::a_retry_keeps_the_failed_field_when_a_later_commit_changes_another ... ok
[INFO] [stdout] test use_cases::remove::tests::removing_a_task_leaves_objects_in_other_folders_alone ... ok
[INFO] [stdout] test use_cases::push::tests::verbs::an_update_of_an_object_the_remote_never_took_is_sent_as_a_create ... ok
[INFO] [stdout] test use_cases::restore::tests::a_refusal_leaves_every_other_named_object_alone ... ok
[INFO] [stdout] test use_cases::restore::tests::a_working_edit_goes_back_to_the_last_commit ... ok
[INFO] [stdout] test use_cases::restore::tests::an_object_with_no_commit_behind_it_is_refused_naming_it ... ok
[INFO] [stdout] test use_cases::resolve::tests::theirs_takes_the_upstream_version ... ok
[INFO] [stdout] test use_cases::stage::tests::add_all_includes_deletes_of_committed_objects_gone_from_working ... ok
[INFO] [stdout] test use_cases::resolve::tests::resolving_with_ours_leaves_an_existing_unpushed_commit_untouched ... ok
[INFO] [stdout] test use_cases::stage::tests::add_of_an_unknown_oid_is_refused ... ok
[INFO] [stdout] test use_cases::resolve::tests::round_trip::ours_is_committed_and_the_conflict_is_not_raised_again ... ok
[INFO] [stdout] test use_cases::restore::tests::a_stale_stage_is_cleared_even_when_the_working_copy_already_matches ... ok
[INFO] [stdout] test use_cases::restore::tests::an_unchanged_object_is_a_no_op_that_says_so ... ok
[INFO] [stdout] test use_cases::restore::tests::a_working_delete_comes_back ... ok
[INFO] [stdout] test use_cases::resolve::tests::ours_keeps_the_local_version ... ok
[INFO] [stdout] test use_cases::resolve::tests::resolving_a_non_conflict_is_refused ... ok
[INFO] [stdout] test use_cases::restore::tests::a_repeated_oid_is_restored_once ... ok
[INFO] [stdout] test use_cases::restore::tests::an_oid_neither_layer_knows_is_no_such_object ... ok
[INFO] [stdout] test use_cases::status::tests::a_remote_owed_nothing_gets_a_row_with_empty_lists ... ok
[INFO] [stdout] test use_cases::status::tests::unpushed_names_each_object_once_in_first_appearance_order ... ok
[INFO] [stdout] test use_cases::subtree::tests::move_subtree_of_a_leaf_touches_only_itself ... ok
[INFO] [stdout] test use_cases::stage::tests::add_stages_a_create_for_a_new_working_object ... ok
[INFO] [stdout] test use_cases::restore::tests::a_staged_change_is_unstaged_and_discarded_together ... ok
[INFO] [stdout] test use_cases::status::tests::an_edit_after_staging_shows_as_unstaged_on_top_of_the_stage ... ok
[INFO] [stdout] test use_cases::status::tests::unpushed_counts_per_remote ... ok
[INFO] [stdout] test use_cases::status::tests::unpushed_names_each_commit_newest_first ... ok
[INFO] [stdout] test use_cases::subtree::tests::moving_an_object_into_a_folder_carries_the_folder_it_owns ... ok
[INFO] [stdout] test use_cases::status::tests::a_mixed_commit_owes_a_remote_only_the_objects_of_kinds_it_accepts ... ok
[INFO] [stdout] test use_cases::stage::tests::add_unstages_an_object_edited_back_to_its_committed_state ... ok
[INFO] [stdout] test use_cases::status::tests::a_fully_staged_change_is_not_also_unstaged ... ok
[INFO] [stdout] test use_cases::status::tests::a_commit_is_owed_only_to_the_remotes_that_accept_one_of_its_kinds ... ok
[INFO] [stdout] test use_cases::subtree::tests::children_are_the_objects_in_the_folder_an_object_owns ... ok
[INFO] [stdout] test use_cases::status::tests::a_working_delete_not_yet_staged_shows_as_an_unstaged_delete ... ok
[INFO] [stdout] test use_cases::stage::tests::add_skips_an_unchanged_object ... ok
[INFO] [stdout] test use_cases::stage::tests::reset_unstages_one_or_all ... ok
[INFO] [stdout] test use_cases::subtree::tests::move_subtree_carries_everything_within_the_old_path ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/dam_domain-d4587964c58c6b39)
[INFO] [stdout] test use_cases::resolve::tests::round_trip::theirs_leaves_only_theirs_owed_and_settles_the_conflict ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 166 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 115 tests
[INFO] [stdout] test category::tests::an_empty_category_and_a_duplicate_name_are_refused ... ok
[INFO] [stdout] test category::tests::category_of_and_is_free ... ok
[INFO] [stdout] test category::tests::all_is_empty_when_nothing_is_declared ... ok
[INFO] [stdout] test change::tests::changed_fields_reports_kind_when_a_task_and_an_event_are_compared ... ok
[INFO] [stdout] test category::tests::all_reports_every_declared_category_in_config_order ... ok
[INFO] [stdout] test change::touched::a_bare_create_names_its_subject_alone ... ok
[INFO] [stdout] test category::tests::several_values_from_a_multiple_category_are_fine ... ok
[INFO] [stdout] test change::tests::changed_fields_names_what_moved ... ok
[INFO] [stdout] test category::tests::category_of_name_finds_by_declared_name ... ok
[INFO] [stdout] test change::tests::coalesce_update_then_update_keeps_the_first_before ... ok
[INFO] [stdout] test change::tests::diff_reports_create_update_delete_and_nothing ... ok
[INFO] [stdout] test category::tests::two_values_from_an_exclusive_category_are_refused ... ok
[INFO] [stdout] test change::touched::an_edited_field_is_the_only_one_named ... ok
[INFO] [stdout] test change::touched::a_delete_names_nothing ... ok
[INFO] [stdout] test field::tests::an_unknown_name_is_none_so_a_field_from_a_newer_protocol_is_ignored_not_refused ... ok
[INFO] [stdout] test completion::tests::open_dependencies_come_before_open_children ... ok
[INFO] [stdout] test change::touched::a_create_names_every_field_it_sets_and_no_default ... ok
[INFO] [stdout] test completion::tests::dispositions_left_unnamed_keep_children_and_dependencies_where_they_are ... ok
[INFO] [stdout] test field::tests::every_field_round_trips_through_its_name ... ok
[INFO] [stdout] test change::tests::coalesce_create_then_delete_is_nothing ... ok
[INFO] [stdout] test change::tests::coalesce_create_then_update_is_a_create_of_the_final_state ... ok
[INFO] [stdout] test change::touched::reopening_a_task_names_done_alone ... ok
[INFO] [stdout] test completion::tests::no_cycle_returns_none ... ok
[INFO] [stdout] test category::tests::a_value_in_two_categories_is_refused_at_definition ... ok
[INFO] [stdout] test completion::tests::depending_on_yourself_is_a_cycle ... ok
[INFO] [stdout] test field::tests::every_name_is_distinct ... ok
[INFO] [stdout] test completion::tests::a_transitive_cycle_is_found ... ok
[INFO] [stdout] test object::event::tests::an_all_day_span_on_a_spring_forward_day_is_twenty_three_hours ... ok
[INFO] [stdout] test completion::tests::a_direct_cycle_is_found ... ok
[INFO] [stdout] test object::folder::tests::a_subject_that_cannot_name_a_folder_owns_none ... ok
[INFO] [stdout] test object::folder::tests::an_object_owns_the_folder_named_by_its_subject_under_its_path ... ok
[INFO] [stdout] test object::tests::a_new_event_is_confirmed_busy_and_default_typed ... ok
[INFO] [stdout] test change::tests::coalesce_update_then_delete_is_a_delete_of_the_original ... ok
[INFO] [stdout] test object::tests::base_mut_edits_shared_fields_on_either_kind ... ok
[INFO] [stdout] test oid::tests::display_is_the_full_string ... ok
[INFO] [stdout] test object::tests::object_reports_its_kind_and_shared_base ... ok
[INFO] [stdout] test object::event::tests::a_timed_span_is_its_own_two_instants_whatever_zone_is_given ... ok
[INFO] [stdout] test object::event::tests::a_confirmed_busy_event_holds_time_and_so_does_a_tentative_one ... ok
[INFO] [stdout] test category::tests::no_categories_means_every_label_is_free ... ok
[INFO] [stdout] test oid::tests::parse_refuses_non_hex ... ok
[INFO] [stdout] test object::tests::a_new_task_sits_at_root_open_and_lowest_priority ... ok
[INFO] [stdout] test object::event::tests::a_cancelled_or_free_event_holds_no_time ... ok
[INFO] [stdout] test object::event::tests::an_event_the_calendars_own_attendee_declined_holds_no_time ... ok
[INFO] [stdout] test path::tests::join_appends_one_segment ... ok
[INFO] [stdout] test category::tests::one_value_from_an_exclusive_category_plus_free_labels_is_fine ... ok
[INFO] [stdout] test path::tests::parse_refuses_a_relative_segment_so_a_dot_dot_b_cannot_pass_as_inside_a ... ok
[INFO] [stdout] test priority::tests::one_through_four_are_valid_and_one_is_highest ... ok
[INFO] [stdout] test priority::tests::zero_and_five_are_refused ... ok
[INFO] [stdout] test object::event::tests::an_all_day_span_runs_midnight_to_midnight_in_the_zone_given ... ok
[INFO] [stdout] test completion::tests::no_open_blockers_means_none ... ok
[INFO] [stdout] test oid::tests::parse_accepts_forty_hex_and_normalizes_case ... ok
[INFO] [stdout] test query::tests::a_date_term_on_the_wrong_kind_never_matches ... ok
[INFO] [stdout] test query::tests::an_unrecognized_key_parses_as_a_category_term_a_caller_can_check ... ok
[INFO] [stdout] test path::tests::parse_normalizes_a_trailing_slash ... ok
[INFO] [stdout] test path::tests::parent_drops_the_last_segment ... ok
[INFO] [stdout] test path::tests::is_within_is_true_for_a_strict_descendant_and_for_self ... ok
[INFO] [stdout] test oid::tests::parse_refuses_wrong_length ... ok
[INFO] [stdout] test oid::tests::short_is_the_first_seven_characters ... ok
[INFO] [stdout] test path::tests::default_is_the_root ... ok
[INFO] [stdout] test query::tests::or_and_not_and_parentheses ... ok
[INFO] [stdout] test query::tests::nesting_past_the_bound_is_refused_instead_of_recursed_into ... ok
[INFO] [stdout] test path::tests::join_refuses_a_relative_segment ... ok
[INFO] [stdout] test query::tests::errors_are_named ... ok
[INFO] [stdout] test query::tests::due_none_and_before_after_and_on ... ok
[INFO] [stdout] test query::tests::nesting_up_to_the_bound_still_parses ... ok
[INFO] [stdout] test query::tests::kind_start_transparency_and_attached ... ok
[INFO] [stdout] test query::tests::path_is_a_prefix_match_and_labels_and_priority_and_subject ... ok
[INFO] [stdout] test path::tests::parse_refuses_an_empty_segment ... ok
[INFO] [stdout] test path::tests::root_is_empty_and_has_no_parent ... ok
[INFO] [stdout] test query::tests::this_week_is_monday_to_sunday_of_today ... ok
[INFO] [stdout] test recurrence::tests::a_hand_built_interval_the_parser_would_refuse_cannot_advance ... ok
[INFO] [stdout] test recurrence::tests::every_two_days ... ok
[INFO] [stdout] test recurrence::tests::a_zero_interval_cannot_advance_rather_than_dividing_by_zero ... ok
[INFO] [stdout] test recurrence::tests::bad_text_is_named ... ok
[INFO] [stdout] test recurrence::tests::every_week_from_a_friday_lands_on_the_next_friday ... ok
[INFO] [stdout] test recurrence::tests::every_two_weeks_on_monday_skips_a_week ... ok
[INFO] [stdout] test recurrence::tests::bang_anchors_on_completion ... ok
[INFO] [stdout] test recurrence::tests::each_units_maximum_is_the_widest_step_the_calendar_holds ... ok
[INFO] [stdout] test recurrence::tests::a_month_day_outside_1_to_31_is_named_and_refused ... ok
[INFO] [stdout] test recurrence::parse::tests::the_too_large_interval_message_names_a_range_and_unit_that_parse ... ok
[INFO] [stdout] test recurrence::tests::monthly_multiple_days_takes_the_earliest_not_the_first_listed ... ok
[INFO] [stdout] test recurrence::tests::monthly_on_a_day_skips_months_without_it ... ok
[INFO] [stdout] test recurrence::parse::tests::the_unknown_day_message_names_forms_the_parser_accepts ... ok
[INFO] [stdout] test priority::tests::default_is_lowest ... ok
[INFO] [stdout] test oid::tests::generate_is_forty_lowercase_hex_characters ... ok
[INFO] [stdout] test recurrence::parse::tests::an_interval_past_its_units_calendar_span_is_refused_when_read_not_when_used ... ok
[INFO] [stdout] test query::tests::due_today_and_overdue ... ok
[INFO] [stdout] test recurrence::tests::monthly_without_a_day_keeps_the_anchor_day ... ok
[INFO] [stdout] test recurrence::tests::roll_forward_past_until_is_none ... ok
[INFO] [stdout] test recurrence::tests::until_stops_it ... ok
[INFO] [stdout] test when::tests::a_malformed_zoned_timestamp_gets_the_friendly_hint ... ok
[INFO] [stdout] test when::tests::an_instant_reports_its_local_date ... ok
[INFO] [stdout] test weekday::tests::a_day_reads_by_short_name_full_name_and_any_case ... ok
[INFO] [stdout] test when::tests::parse_human_reads_relative_days_dates_and_local_times ... ok
[INFO] [stdout] test when::tests::a_day_is_all_day_and_its_date_is_itself ... ok
[INFO] [stdout] test weekday::tests::every_day_writes_back_as_a_name_that_reads_again ... ok
[INFO] [stdout] test when::words::tests::a_span_past_the_calendar_is_none_rather_than_a_panic ... ok
[INFO] [stdout] test when::words::tests::a_weekday_is_its_next_occurrence_after_today ... ok
[INFO] [stdout] test when::words::tests::a_word_outside_the_grammar_is_none_rather_than_a_guess ... ok
[INFO] [stdout] test when::tests::to_text_round_trips_through_parse_human ... ok
[INFO] [stdout] test when::words::tests::in_a_count_of_days_weeks_or_months_moves_the_date_on ... ok
[INFO] [stdout] test recurrence::tests::weekly_on_listed_days_takes_the_next_listed_day ... ok
[INFO] [stdout] test recurrence::tests::the_widest_yearly_interval_steps_from_the_earliest_date_to_the_latest_year ... ok
[INFO] [stdout] test when::words::tests::next_before_a_weekday_names_the_same_day ... ok
[INFO] [stdout] test object::folder::tests::a_slash_in_the_subject_becomes_a_dash ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/dam_protocol-019f1500713222dc)
[INFO] [stdout] test recurrence::tests::to_text_round_trips ... ok
[INFO] [stdout] test when::words::tests::a_month_ahead_of_a_day_that_month_lacks_lands_on_its_last ... ok
[INFO] [stdout] test when::words::tests::today_and_tomorrow_read_in_any_case ... ok
[INFO] [stdout] test when::tests::a_malformed_plain_date_gets_the_friendly_hint ... ok
[INFO] [stdout] test recurrence::tests::yearly ... ok
[INFO] [stdout] test when::tests::parse_human_reads_a_full_zoned_timestamp_as_an_instant ... ok
[INFO] [stdout] test weekday::tests::a_weekday_name_reads_the_same_in_a_recurrence_rule_and_a_date_word ... ok
[INFO] [stdout] test weekday::tests::a_word_that_names_no_day_is_none ... ok
[INFO] [stdout] test when::tests::a_date_is_its_first_instant_in_the_zone_and_a_zoned_time_is_itself ... ok
[INFO] [stdout] test when::tests::a_malformed_local_time_gets_the_friendly_hint ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 115 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test codec::tests::a_bad_line_is_an_invalid_data_error_not_a_panic ... ok
[INFO] [stdout] test codec::tests::a_last_line_with_no_newline_still_decodes_below_the_limit ... ok
[INFO] [stdout] test codec::tests::a_line_exactly_at_the_limit_including_its_newline_decodes ... ok
[INFO] [stdout] test codec::tests::a_line_one_byte_past_the_limit_is_refused_naming_the_limit ... ok
[INFO] [stdout] test capabilities::tests::one_version_past_the_current_one_is_not_supported ... ok
[INFO] [stdout] test capabilities::tests::the_current_version_and_every_older_one_is_supported ... ok
[INFO] [stdout] test codec::tests::write_then_read_one_line_each ... ok
[INFO] [stdout] test codec::tests::blank_lines_are_skipped ... ok
[INFO] [stdout] test codec::tests::each_line_gets_its_own_budget_rather_than_one_shared_across_the_stream ... ok
[INFO] [stdout] test messages::tests::a_pull_carrying_only_cancellations_is_a_pull ... ok
[INFO] [stdout] test messages::tests::a_push_response_with_an_unknown_field_still_deserializes_as_push ... ok
[INFO] [stdout] test messages::tests::a_pull_response_with_an_unknown_field_still_deserializes_as_pull ... ok
[INFO] [stdout] test messages::tests::a_response_naming_no_known_shape_is_refused_rather_than_read_as_an_empty_pull ... ok
[INFO] [stdout] test messages::tests::a_shape_is_named_without_the_text_the_response_carries ... ok
[INFO] [stdout] test messages::tests::an_attendee_writes_self_only_when_true_and_reads_its_absence_as_false ... ok
[INFO] [stdout] test codec::tests::a_line_that_is_not_utf8_is_invalid_data ... ok
[INFO] [stdout] test invocation::tests::credential_variables_are_upper_snake ... ok
[INFO] [stdout] test messages::tests::an_error_response_deserializes ... ok
[INFO] [stdout] test messages::tests::pull_round_trips_the_fixtures ... ok
[INFO] [stdout] test messages::tests::a_refusal_of_an_unknown_shape_counts_its_keys_without_quoting_them ... ok
[INFO] [stdout] test messages::tests::a_response_carrying_error_and_a_shapes_own_keys_reads_as_the_error ... ok
[INFO] [stdout] test messages::tests::capabilities_response_matches_the_fixture ... ok
[INFO] [stdout] test messages::tests::any_one_pull_key_on_its_own_is_enough_to_read_a_pull_response ... ok
[INFO] [stdout] test messages::tests::pull_with_cancellations_round_trips_the_fixture ... ok
[INFO] [stdout] test messages::tests::capabilities_request_matches_the_fixture ... ok
[INFO] [stdout] test messages::tests::push_round_trips_the_fixtures ... ok
[INFO] [stdout] test codec::tests::a_helper_that_never_sends_a_newline_is_refused_instead_of_buffered_without_bound ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/dam_remote_gcal-93ef4f63b7281ac3)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test address::tests::named_calendars_are_read_in_order_once_each ... ok
[INFO] [stdout] test credentials::tests::credentials_are_read_under_the_remotes_own_name ... ok
[INFO] [stdout] test credentials::tests::a_missing_credential_names_its_variable_and_its_config_key ... ok
[INFO] [stdout] test address::tests::an_empty_address_reads_the_primary_calendar ... ok
[INFO] [stdout] test encoding::tests::a_form_body_encodes_names_and_values_so_an_ampersand_or_equals_composes_no_field ... ok
[INFO] [stdout] test endpoints::tests::a_loopback_base_serves_all_three_under_one_port ... ok
[INFO] [stdout] test capabilities::tests::no_kinds_every_google_field_and_the_three_credentials ... ok
[INFO] [stdout] test endpoints::tests::production_names_googles_three_hosts ... ok
[INFO] [stdout] test encoding::tests::an_escape_needs_two_hex_digits_though_from_str_radix_takes_a_leading_plus ... ok
[INFO] [stdout] test map::tests::a_cancelled_item_is_its_remote_id_whatever_else_it_lacks ... ok
[INFO] [stdout] test encoding::tests::unpadded_base64url_matches_the_rfc_4648_section_10_vectors ... ok
[INFO] [stdout] test encoding::tests::percent_decoding_reads_escapes_and_plus_and_keeps_a_broken_escape ... ok
[INFO] [stdout] test endpoints::tests::the_seam_that_carries_credentials_refuses_every_address_but_loopback ... ok
[INFO] [stdout] test map::tests::a_live_event_without_a_start_or_an_end_is_an_error_naming_the_calendar_and_the_event ... ok
[INFO] [stdout] test memory::tests::an_absent_or_unreadable_token_is_an_empty_memory ... ok
[INFO] [stdout] test endpoints::tests::a_base_url_that_is_not_unicode_is_refused_rather_than_read_as_unset ... ok
[INFO] [stdout] test encoding::tests::percent_encoding_passes_the_unreserved_set_and_escapes_every_other_byte ... ok
[INFO] [stdout] test sign_in::command_line::tests::a_client_secret_on_the_command_line_is_refused_by_name ... ok
[INFO] [stdout] test memory::tests::an_unseen_id_still_in_the_window_has_vanished_whichever_calendar_it_came_from ... ok
[INFO] [stdout] test oauth_error::tests::a_known_word_is_named_and_the_rest_of_the_body_that_may_echo_a_credential_is_not ... ok
[INFO] [stdout] test secret::tests::a_secret_never_debug_prints_its_value ... ok
[INFO] [stdout] test sign_in::command_line::tests::the_secret_is_read_from_a_pipe_and_refused_from_a_terminal ... ok
[INFO] [stdout] test serve::tests::a_non_decode_read_error_ends_the_loop_without_spinning_forever ... ok
[INFO] [stdout] test map::tests::an_all_day_event_is_two_dates_and_ends_at_midnight_in_the_calendars_zone ... ok
[INFO] [stdout] test map::tests::a_time_that_does_not_read_is_an_error ... ok
[INFO] [stdout] test map::tests::every_google_word_reads_as_dams ... ok
[INFO] [stdout] test sign_in::redirect::tests::the_authorization_url_asks_for_read_only_events_offline_with_pkce_byte_for_byte ... ok
[INFO] [stderr]      Running unittests src/bin/dam-gcal-sign-in.rs (/opt/rustwide/target/release/deps/dam_gcal_sign_in-ac288f09b71577ad)
[INFO] [stdout] test map::tests::a_timed_event_with_no_zone_of_its_own_takes_the_calendars ... ok
[INFO] [stdout] test map::tests::a_zone_this_machine_does_not_know_keeps_the_instant_in_utc ... ok
[INFO] [stdout] test map::tests::absent_and_unknown_words_read_as_googles_defaults ... ok
[INFO] [stdout] test push::tests::every_mutation_is_refused_with_the_sentence_in_order ... ok
[INFO] [stdout] test sign_in::redirect::tests::a_redirect_for_another_run_is_refused_whatever_else_it_says ... ok
[INFO] [stdout] test sign_in::command_line::tests::the_client_id_is_the_one_flag ... ok
[INFO] [stdout] test sign_in::pkce::tests::a_random_token_is_the_shortest_rfc_7636_verifier_and_two_draws_differ ... ok
[INFO] [stdout] test sign_in::redirect::tests::a_redirect_with_no_code_is_refused ... ok
[INFO] [stdout] test sign_in::pkce::tests::the_challenge_is_the_rfc_7636_appendix_b_example ... ok
[INFO] [stdout] test map::tests::a_calendar_title_is_one_path_segment ... ok
[INFO] [stdout] test sign_in::redirect::tests::a_refusal_in_the_browser_names_googles_word_and_nothing_else ... ok
[INFO] [stdout] test sign_in::redirect::tests::the_code_is_read_once_the_state_agrees ... ok
[INFO] [stdout] test sign_in::command_line::tests::a_stray_argument_that_may_be_a_pasted_secret_is_refused_without_being_quoted ... ok
[INFO] [stdout] test map::tests::a_timed_event_maps_every_field_dam_models ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/dam_remote_gcal-4b4db04fee94b5d8)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api.rs (/opt/rustwide/target/release/deps/api-47396caa5d0abd08)
[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] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test a_token_endpoint_nobody_answers_is_an_exchange_that_did_not_reach_google ... ok
[INFO] [stdout] test a_revoked_refresh_token_says_to_sign_in_again_and_quotes_nothing ... ok
[INFO] [stdout] test a_calendar_id_is_one_percent_encoded_path_segment ... ok
[INFO] [stdout] test the_refresh_grant_sends_the_three_credentials_in_a_form_and_reads_the_access_token ... ok
[INFO] [stdout] test an_answer_without_an_access_token_is_refused_without_quoting_it ... ok
[INFO] [stdout] test a_rate_limit_carries_the_retry_time_google_named ... ok
[INFO] [stdout] test a_calendar_google_does_not_know_names_itself_in_the_error ... ok
[INFO] [stdout] test an_error_never_debug_prints_a_credential ... ok
[INFO] [stdout] test an_empty_access_token_is_refused ... ok
[INFO] [stdout] test every_page_is_read_until_google_names_no_next_one ... ok
[INFO] [stdout] test one_calendar_is_asked_for_single_instances_deleted_included_over_the_window ... ok
[INFO] [stdout] test a_huge_error_body_is_bounded_to_one_short_line ... ok
[INFO] [stdout] test a_calendar_that_pages_forever_is_stopped_at_the_cap ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/protocol.rs (/opt/rustwide/target/release/deps/protocol-3be9169859c8119d)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test a_request_that_does_not_decode_is_answered_and_the_loop_goes_on ... ok
[INFO] [stdout] test capabilities_need_no_credentials_and_a_pull_names_the_missing_variable_only ... ok
[INFO] [stdout] test any_invocation_but_remote_and_address_is_a_usage_error ... ok
[INFO] [stdout] test a_pull_reaches_the_token_endpoint_then_the_calendar_and_answers_dams_document ... ok
[INFO] [stdout] test a_remote_under_another_name_reads_its_own_credentials_and_its_address ... ok
[INFO] [stdout] test a_push_is_refused_per_mutation_without_a_credential_or_a_request ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pull.rs (/opt/rustwide/target/release/deps/pull-5d3872c84f875b6d)
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test the_window_is_a_week_back_and_ninety_days_ahead ... ok
[INFO] [stdout] test every_calendar_is_pulled_and_cancelled_items_come_back_by_id ... ok
[INFO] [stdout] test one_calendar_that_fails_fails_the_pull ... ok
[INFO] [stdout] test one_unreadable_event_fails_the_whole_pull_and_names_it ... ok
[INFO] [stdout] test an_event_that_left_the_window_early_comes_back_cancelled_on_the_next_pull ... ok
[INFO] [stdout] test a_calendar_taken_off_the_address_has_its_events_cancelled_once ... ok
[INFO] [stderr]      Running tests/sign_in_binary.rs (/opt/rustwide/target/release/deps/sign_in_binary-0f42e4f01c34652b)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test an_unknown_flag_is_a_usage_error_before_anything_is_asked ... ok
[INFO] [stdout] test a_consent_refused_in_the_browser_exits_one_and_prints_nothing ... ok
[INFO] [stdout] test a_token_that_cannot_be_printed_is_lost_and_says_to_sign_in_again ... ok
[INFO] [stdout] test the_refresh_token_alone_reaches_standard_output ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sign_in_exchange_refusals.rs (/opt/rustwide/target/release/deps/sign_in_exchange_refusals-8eff77bd8610fd0e)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test an_exchange_answer_that_is_not_json_is_reported_unreadable ... ok
[INFO] [stdout] test a_redirect_from_the_token_endpoint_is_its_answer_so_no_credential_follows_it ... ok
[INFO] [stdout] test a_refused_exchange_names_the_status_and_googles_word_and_quotes_nothing ... ok
[INFO] [stdout] test an_exchange_answering_no_refresh_token_is_refused_by_name ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sign_in_walk.rs (/opt/rustwide/target/release/deps/sign_in_walk-2eccaa831e4a6fe5)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test the_tests_own_s256_is_the_rfc_7636_appendix_b_example ... ok
[INFO] [stdout] test the_client_secret_travels_in_the_exchange_body_and_nowhere_else ... ok
[INFO] [stdout] test each_walk_announces_its_own_state_and_challenge ... ok
[INFO] [stdout] test a_granted_consent_is_exchanged_for_the_refresh_token ... ok
[INFO] [stdout] test a_consent_refused_in_the_browser_sends_no_exchange ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/dam_remote_todoist-ca97d1eab1eba92a)
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test api::error::tests::every_control_character_becomes_a_space_so_a_notice_cannot_rewrite_the_terminal ... ok
[INFO] [stdout] test api::error::tests::a_body_inside_the_ceiling_decodes ... ok
[INFO] [stdout] test capabilities::tests::matches_the_todoist_helper_scope ... ok
[INFO] [stdout] test map::tests::a_slash_in_a_name_becomes_one_dam_segment_not_two ... ok
[INFO] [stdout] test api::tests::only_an_unset_base_url_means_todoist_so_one_that_is_not_unicode_is_refused ... ok
[INFO] [stdout] test api::resources::tests::a_verdict_that_is_neither_ok_nor_an_error_object_is_a_failure ... ok
[INFO] [stdout] test api::tests::an_empty_token_is_no_token ... ok
[INFO] [stdout] test api::tests::the_token_is_read_under_the_remotes_own_name ... ok
[INFO] [stdout] test map::tests::an_item_parent_cycle_returns_none_instead_of_overflowing ... ok
[INFO] [stdout] test map::tests::paths_follow_project_section_and_parent_names ... ok
[INFO] [stdout] test api::tests::new_trims_a_trailing_slash_from_the_base ... ok
[INFO] [stdout] test api::tests::the_base_url_seam_accepts_a_loopback_address_and_nothing_else ... ok
[INFO] [stdout] test api::tests::the_api_never_debug_prints_its_token ... ok
[INFO] [stdout] test map::tests::reverse_lookups_find_ids_by_path ... ok
[INFO] [stdout] test map::tests::a_parent_content_with_a_slash_stays_one_segment_of_the_child_path ... ok
[INFO] [stdout] test map::tests::wire::a_blank_name_becomes_untitled_with_the_remote_id ... ok
[INFO] [stdout] test api::error::tests::the_upstream_body_ceiling_is_the_protocol_line_not_ureqs_narrower_default ... ok
[INFO] [stdout] test map::tests::a_blank_parent_content_names_the_segment_after_its_id ... ok
[INFO] [stdout] test api::error::tests::a_body_past_the_ceiling_is_its_own_refusal_naming_the_ceiling_not_a_transport_failure ... ok
[INFO] [stdout] test map::tests::a_project_parent_cycle_returns_none_instead_of_overflowing ... ok
[INFO] [stdout] test push::shape::tests::deeper_segments_name_a_section_then_parent_tasks_by_content ... ok
[INFO] [stdout] test push::shape::tests::depth_one_is_a_task_unless_something_lives_or_lands_under_it_then_a_section ... ok
[INFO] [stdout] test map::tests::wire::a_remote_id_whose_tail_is_not_a_todoist_id_is_refused ... ok
[INFO] [stdout] test push::carried::tests::names_every_field_the_container_cannot_carry_and_nothing_else ... ok
[INFO] [stdout] test push::carried::tests::without_a_held_object_every_uncarried_field_counts_as_changed ... ok
[INFO] [stdout] test push::commands::tests::a_uuid_numbers_the_command_in_the_character_dam_left_free ... ok
[INFO] [stdout] test map::tests::wire::priorities_map_both_ways ... ok
[INFO] [stdout] test push::shape::tests::a_path_naming_no_todoist_project_is_refused_by_that_name ... ok
[INFO] [stdout] test push::commands::tests::a_key_that_is_not_a_uuid_is_refused_rather_than_sliced ... ok
[INFO] [stdout] test map::tests::wire::wire_objects_carry_kind_fields_and_remote_ids ... ok
[INFO] [stdout] test push::shape::tests::depth_zero_is_a_project ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/dam_remote_todoist-9f6b10a23103266c)
[INFO] [stdout] test serve::tests::a_non_decode_read_error_ends_the_loop_without_spinning_forever ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api.rs (/opt/rustwide/target/release/deps/api-519bab192f26bf21)
[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] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test a_redirected_write_is_not_followed_and_the_other_host_sees_nothing ... ok
[INFO] [stdout] test a_rate_limit_is_its_own_outcome_and_carries_the_retry_time ... ok
[INFO] [stdout] test a_huge_error_body_is_bounded_to_one_short_line_before_it_becomes_a_notice ... ok
[INFO] [stdout] test sync_all_sends_the_token_and_decodes_the_three_resources ... ok
[INFO] [stdout] test a_write_sends_its_commands_as_a_form_field_and_reads_each_verdict ... ok
[INFO] [stdout] test an_http_failure_and_a_transport_failure_never_show_the_token ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/protocol.rs (/opt/rustwide/target/release/deps/protocol-3959585fbdcea027)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test a_malformed_line_answers_an_error_and_the_loop_keeps_going ... ok
[INFO] [stdout] test capabilities_are_answered_without_a_token_and_pull_needs_one ... ok
[INFO] [stdout] test a_remote_under_another_name_reads_its_own_token_and_not_todoists ... ok
[INFO] [stdout] test any_invocation_but_remote_and_address_is_a_usage_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pull.rs (/opt/rustwide/target/release/deps/pull-9f08af1adcac73a4)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test a_rate_limit_on_the_opening_sync_keeps_its_class_and_retry_time ... ok
[INFO] [stdout] test pull_returns_every_live_object_and_names_the_removed_ones ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/push.rs (/opt/rustwide/target/release/deps/push-0e64021e95d2811e)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test a_rate_limit_stops_the_push_and_names_the_retry_time ... ok
[INFO] [stdout] test a_depth_one_create_becomes_a_section_when_its_child_arrives_later_in_the_same_push ... ok
[INFO] [stdout] test a_path_and_subject_change_moves_first_then_updates_the_content ... ok
[INFO] [stdout] test clearing_done_becomes_the_uncomplete_command ... ok
[INFO] [stdout] test a_path_change_moves_the_task_through_the_move_command ... ok
[INFO] [stdout] test a_hostile_remote_id_is_refused_and_never_reaches_a_command ... ok
[INFO] [stdout] test creates_updates_and_deletes_become_the_right_commands ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/push_idempotency.rs (/opt/rustwide/target/release/deps/push_idempotency-880ef4baff562955)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test a_failure_reading_the_tree_stops_the_push_before_any_mutation ... ok
[INFO] [stdout] test a_refused_command_fails_only_its_own_mutation ... ok
[INFO] [stdout] test a_mutation_is_pushed_only_when_every_one_of_its_commands_is_accepted ... ok
[INFO] [stdout] test the_commands_of_one_mutation_have_distinct_uuids ... ok
[INFO] [stdout] test a_resent_mutation_repeats_its_uuids_and_creates_nothing_twice ... ok
[INFO] [stdout] test a_failure_part_way_through_belongs_to_its_own_mutation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/push_refusals.rs (/opt/rustwide/target/release/deps/push_refusals-402f052fffde848c)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test a_rename_with_a_path_change_sends_the_rename_and_is_refused_for_the_path_only ... ok
[INFO] [stdout] test a_project_path_change_and_a_section_done_change_are_refused_and_send_nothing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/push_retries.rs (/opt/rustwide/target/release/deps/push_retries-e37baadffe6e73be)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test an_uncarried_field_counts_as_changed_only_when_it_differs_from_the_pulled_value ... ok
[INFO] [stdout] test a_retry_declaring_every_field_with_only_the_name_differing_is_ok ... ok
[INFO] [stdout] test a_path_change_among_every_declared_field_is_refused_for_the_path_only_until_reverted ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/dam-34c098e1be4fe68d)
[INFO] [stdout] 
[INFO] [stdout] running 101 tests
[INFO] [stdout] test args::dispositions::tests::a_blank_group_name_is_refused_since_it_would_name_a_whitespace_group_task ... ok
[INFO] [stdout] test args::tests::a_disposition_without_force_is_refused ... ok
[INFO] [stdout] test args::dispositions::tests::a_group_name_is_taken_without_the_space_around_it ... ok
[INFO] [stdout] test args::tests::a_disposition_beside_an_explicit_interactive_is_refused ... ok
[INFO] [stdout] test args::tests::a_disposition_outside_the_set_is_a_usage_error_naming_the_accepted_words_and_help ... ok
[INFO] [stdout] test args::tests::each_disposition_word_parses_to_its_variant ... ok
[INFO] [stdout] test args::tests::add_all_and_oids_are_alternatives ... ok
[INFO] [stdout] test args::tests::edit_takes_undone_beside_the_other_clearing_flags ... ok
[INFO] [stdout] test args::tests::every_command_and_flag_keeps_its_help_text ... ok
[INFO] [stdout] test args::tests::json_and_toon_are_global_and_exclusive ... ok
[INFO] [stdout] test args::tests::new_with_flags_parses ... ok
[INFO] [stdout] test args::tests::no_pull_is_global_and_defaults_to_pulling ... ok
[INFO] [stdout] test commands::catalogue::tests::a_category_line_names_the_values_and_whether_it_holds_one ... ok
[INFO] [stdout] test commands::catalogue::tests::a_filter_line_is_its_name_and_its_query ... ok
[INFO] [stdout] test args::tests::restore_needs_at_least_one_oid ... ok
[INFO] [stdout] test args::tests::resolve_needs_exactly_one_side ... ok
[INFO] [stdout] test commands::catalogue::tests::nothing_declared_is_an_empty_list_rather_than_a_failure ... ok
[INFO] [stdout] test commands::agenda::tests::the_local_zone_places_the_day_the_window_and_the_printed_times ... ok
[INFO] [stdout] test commands::agenda::tests::the_agenda_document_keeps_its_contract ... ok
[INFO] [stdout] test commands::agenda::tests::an_all_day_event_reads_as_dates ... ok
[INFO] [stdout] test commands::agenda::tests::the_human_line_says_busy_or_free_with_local_times ... ok
[INFO] [stdout] test commands::done::tests::a_blocked_task_is_refused_without_force ... ok
[INFO] [stdout] test commands::done::tests::a_disposition_flag_asks_nothing_even_when_config_says_interactive ... ok
[INFO] [stdout] test commands::agenda::tests::a_window_that_closes_before_it_opens_is_a_usage_error ... ok
[INFO] [stdout] test commands::agenda::tests::a_declined_meeting_is_listed_as_not_busy ... ok
[INFO] [stdout] test commands::agenda::tests::with_no_flags_the_window_is_now_to_a_day_later ... ok
[INFO] [stdout] test commands::edit::tests::a_machine_format_refuses_to_open_an_editor ... ok
[INFO] [stdout] test commands::commit::tests::commit_records_the_stage_and_log_lists_it_newest_first ... ok
[INFO] [stdout] test commands::edit::tests::a_save_that_never_parses_stops_after_it_comes_back_unchanged ... ok
[INFO] [stdout] test commands::done::tests::force_marks_it_done_and_prints_done ... ok
[INFO] [stdout] test commands::done::tests::the_flag_that_is_absent_keeps_what_is_there ... ok
[INFO] [stdout] test commands::done::tests::config_interactive_applies_to_a_plain_force ... ok
[INFO] [stdout] test commands::done::tests::dispositions_complete_a_blocked_parent_without_a_terminal ... ok
[INFO] [stdout] test commands::done::tests::a_machine_format_refuses_to_ask_instead_of_blocking ... ok
[INFO] [stdout] test commands::done::tests::interactive_asks_and_moves_children_up ... ok
[INFO] [stdout] test commands::agenda::tests::the_query_narrows_the_events ... ok
[INFO] [stdout] test commands::edit::tests::an_unchanged_editor_save_is_a_cancel ... ok
[INFO] [stdout] test commands::ls::tests::ls_filters_by_query_and_by_saved_filter ... ok
[INFO] [stdout] test commands::edit::tests::the_editor_round_trip_applies_the_saved_text ... ok
[INFO] [stdout] test commands::parsing::tests::a_deadline_already_past_is_read_rather_than_refused ... ok
[INFO] [stdout] test commands::new::tests::a_task_lands_in_the_working_layer_with_its_flags ... ok
[INFO] [stdout] test commands::mv::tests::mv_relocates ... ok
[INFO] [stdout] test commands::new::tests::a_bad_date_or_priority_is_a_usage_error ... ok
[INFO] [stdout] test commands::ls::tests::an_undeclared_category_key_is_refused_and_names_the_key ... ok
[INFO] [stdout] test commands::edit::tests::flags_change_fields ... ok
[INFO] [stdout] test commands::parsing::tests::an_unreadable_word_is_a_usage_refusal_naming_the_forms ... ok
[INFO] [stdout] test commands::edit::tests::undone_on_an_open_task_is_refused_by_dams_own_rule ... ok
[INFO] [stdout] test commands::parsing::tests::a_deadline_is_a_whole_day_so_a_time_given_to_it_is_dropped ... ok
[INFO] [stdout] test commands::new::tests::an_event_needs_start_and_end ... ok
[INFO] [stdout] test commands::edit::tests::undone_reopens_a_completed_task_as_one_update_naming_done ... ok
[INFO] [stdout] test commands::parsing::tests::every_date_flag_reads_the_same_words ... ok
[INFO] [stdout] test commands::remote::listing::tests::remote_list_reports_the_last_pull_and_push_as_rfc_3339_a_phrase_or_null ... ok
[INFO] [stdout] test commands::remote::listing::tests::a_clock_gone_backwards_reads_as_just_now_rather_than_the_future ... ok
[INFO] [stdout] test commands::restore::tests::a_removed_object_takes_its_full_oid_and_the_prefix_refusal_says_so ... ok
[INFO] [stdout] test commands::remote::tests::no_pull_answers_from_the_store_and_never_launches_a_helper ... ok
[INFO] [stdout] test commands::status::rows::tests::a_completed_task_row_carries_when_it_was_completed_so_a_done_list_needs_no_log_read ... ok
[INFO] [stdout] test commands::remote::tests::remote_add_writes_the_config_and_the_next_run_lists_it ... ok
[INFO] [stdout] test commands::status::rows::tests::a_create_names_every_field_it_sets ... ok
[INFO] [stdout] test commands::status::rows::tests::a_delete_describes_the_object_it_removed ... ok
[INFO] [stdout] test commands::remote::tests::a_remote_without_stale_is_never_auto_pulled ... ok
[INFO] [stdout] test commands::rm::tests::removing_a_parent_moves_its_child_up_and_says_so ... ok
[INFO] [stdout] test commands::status::rows::tests::a_delete_names_no_field ... ok
[INFO] [stdout] test commands::status::rows::tests::an_edit_names_the_field_it_moved ... ok
[INFO] [stdout] test commands::status::rows::tests::an_open_task_row_carries_a_null_completion_time ... ok
[INFO] [stdout] test commands::remote::tests::an_unreachable_stale_remote_records_a_notice_and_does_not_advance_last_pull ... ok
[INFO] [stdout] test commands::status::rows::tests::the_default_row_is_the_after_state_without_the_object ... ok
[INFO] [stdout] test commands::remote::tests::remote_add_refuses_a_duplicate_as_a_rule ... ok
[INFO] [stdout] test commands::restore::tests::an_object_with_no_commit_behind_it_is_refused_by_dams_own_rule ... ok
[INFO] [stdout] test commands::remote::tests::a_stale_remote_is_pulled_before_a_read_and_a_fresh_one_is_not ... ok
[INFO] [stdout] test commands::status::rows::tests::the_full_row_is_the_same_row_plus_the_objects ... ok
[INFO] [stdout] test commands::status::rows::tests::a_reopened_task_names_done ... ok
[INFO] [stdout] test commands::status::rows::tests::an_event_row_carries_its_start_and_end_in_place_of_the_task_fields ... ok
[INFO] [stdout] test commands::restore::tests::a_repeated_oid_lands_in_one_bucket_only ... ok
[INFO] [stdout] test commands::stage::tests::add_stages_named_objects_and_all_stages_everything ... ok
[INFO] [stdout] test commands::restore::tests::the_json_document_lists_the_restored_oids ... ok
[INFO] [stdout] test error::tests::a_config_file_that_cannot_be_read_is_a_store_failure_and_a_bad_one_a_parse_failure ... ok
[INFO] [stdout] test error::tests::a_blocked_completion_names_the_task_and_then_its_blockers ... ok
[INFO] [stdout] test commands::show::tests::an_ambiguous_commit_prefix_names_every_match ... ok
[INFO] [stdout] test error::tests::a_failure_naming_no_object_carries_an_empty_list ... ok
[INFO] [stdout] test error::tests::a_refusal_names_the_rule_it_broke_and_another_failure_names_none ... ok
[INFO] [stdout] test commands::restore::tests::an_unchanged_object_is_reported_as_one_and_not_as_restored ... ok
[INFO] [stdout] test commands::remote::tests::remote_add_refuses_a_name_outside_the_bare_key_set_and_leaves_the_config_as_it_was ... ok
[INFO] [stdout] test error::tests::an_ambiguous_prefix_is_a_usage_failure_listing_what_it_matched ... ok
[INFO] [stdout] test error::tests::the_message_is_the_sentence_the_human_form_prints ... ok
[INFO] [stdout] test commands::status::tests::a_kind_change_notice_reads_the_other_way_round_too ... ok
[INFO] [stdout] test output::tests::json_renders_the_data_and_human_renders_the_text ... ok
[INFO] [stdout] test commands::show::tests::show_finds_an_object_or_a_commit_by_prefix ... ok
[INFO] [stdout] test output::tests::object_line_has_short_oid_priority_due_subject_labels_and_path ... ok
[INFO] [stdout] test commands::status::tests::status_does_not_warn_when_no_credential_is_a_value_in_the_config_file ... ok
[INFO] [stdout] test output::tests::toon_renders_a_list_as_a_table ... ok
[INFO] [stdout] test commands::status::tests::a_kind_change_notice_names_both_kinds ... ok
[INFO] [stdout] test commands::stage::tests::reset_unstages_one_or_all ... ok
[INFO] [stdout] test commands::status::tests::diff_shows_working_or_staged ... ok
[INFO] [stdout] test commands::status::tests::status_warns_once_when_a_credential_is_a_value_in_the_config_file ... ok
[INFO] [stdout] test commands::status::tests::status_reports_conflicts_and_unpushed_commits ... ok
[INFO] [stdout] test commands::status::tests::status_separates_staged_unstaged_and_notices ... ok
[INFO] [stdout] test commands::sync::tests::push_sends_unpushed_commits_and_reports_counts ... ok
[INFO] [stdout] test oids::tests::a_full_oid_resolves_without_a_scan_so_one_only_history_holds_is_reached ... ok
[INFO] [stdout] test oids::tests::short_ambiguous_and_unknown_prefixes_are_refused ... ok
[INFO] [stdout] test commands::sync::tests::pull_reports_what_arrived_and_resolve_settles_a_conflict ... ok
[INFO] [stderr]      Running tests/agenda.rs (/opt/rustwide/target/release/deps/agenda-94e8ed56701a8777)
[INFO] [stdout] test oids::tests::a_full_oid_and_a_unique_prefix_resolve ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test max_age_takes_a_configured_remote_and_a_duration_it_can_read ... ok
[INFO] [stdout] test dam_agenda_json_answers_every_event_in_the_window_as_intervals ... ok
[INFO] [stdout] test max_age_refuses_a_remote_never_pulled_and_answers_once_one_lands ... ok
[INFO] [stdout] test agenda_no_pull_runs_no_credential_command_and_no_helper ... ok
[INFO] [stderr]      Running tests/client_catalogue.rs (/opt/rustwide/target/release/deps/client_catalogue-84c8846de26e06b3)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test the_catalogue_renders_as_a_toon_table_per_list ... ok
[INFO] [stdout] test an_empty_catalogue_is_an_empty_array ... ok
[INFO] [stdout] test the_catalogue_answers_although_the_store_will_not_open ... ok
[INFO] [stderr]      Running tests/client_change_documents.rs (/opt/rustwide/target/release/deps/client_change_documents-87b0e3d05f7f913f)
[INFO] [stdout] test category_list_and_filter_list_print_what_config_declares ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test status_embeds_no_object_until_asked_for_one ... ok
[INFO] [stdout] test an_unpushed_row_names_its_commits_in_log_order ... ok
[INFO] [stdout] test an_unpushed_row_names_each_object_its_commits_touch_once ... ok
[INFO] [stdout] test a_change_document_names_the_fields_it_touches ... ok
[INFO] [stderr]      Running tests/client_contract.rs (/opt/rustwide/target/release/deps/client_contract-c164d00c3b5b60ba)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test a_human_run_keeps_its_plain_line_and_writes_no_document ... ok
[INFO] [stdout] test an_editor_is_refused_under_a_machine_format_and_its_death_is_its_own_failure ... ok
[INFO] [stdout] test a_refusal_under_json_is_a_document_naming_its_kind_message_and_oids ... ok
[INFO] [stdout] test a_machine_format_writes_nothing_to_stderr_but_the_document ... ok
[INFO] [stdout] test every_failure_class_names_itself_under_json ... ok
[INFO] [stdout] test toon_carries_the_same_error_document ... ok
[INFO] [stderr]      Running tests/client_reads.rs (/opt/rustwide/target/release/deps/client_reads-8fdec5531d594c84)
[INFO] [stdout] test every_refusal_exits_four_whatever_the_rule ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test no_pull_is_refused_on_a_verb_that_never_pulls ... ok
[INFO] [stdout] test a_helper_cannot_put_a_completion_time_on_an_open_task ... ok
[INFO] [stdout] test no_pull_answers_a_read_from_the_store_alone ... ok
[INFO] [stdout] test a_completion_time_appears_in_the_object_and_the_change_and_is_cleared_by_undone ... ok
[INFO] [stdout] test completing_a_task_twice_leaves_nothing_to_report ... ok
[INFO] [stdout] test remote_list_reports_when_each_remote_was_last_pulled_and_pushed ... FAILED
[INFO] [stdout] test every_date_flag_accepts_the_words_and_refuses_anything_else ... ok
[INFO] [stderr] error: test failed, to rerun pass `-p damnit --test client_reads`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- remote_list_reports_when_each_remote_was_last_pulled_and_pushed stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'remote_list_reports_when_each_remote_was_last_pulled_and_pushed' (4393) panicked at crates/dam-cli/tests/client_reads.rs:55:5:
[INFO] [stdout] {
[INFO] [stdout]   "error": {
[INFO] [stdout]     "kind": "helper",
[INFO] [stdout]     "rule": null,
[INFO] [stdout]     "message": "talking to the helper: the helper closed its output; the helper said: /tmp/.tmpSahDXN/bin/dam-remote-fake: 8: jq: not found",
[INFO] [stdout]     "oids": []
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x57c96a6dfec1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x57c96a6f5e8a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x57c96a6e45dc - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x57c96a6b9766 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x57c96a6d6b79 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x57c96a6715d0 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x57c96a6d6d32 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x57c96a6b9812 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x57c96a6b22e9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x57c96a6ba4cd - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x57c96a6f663c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x57c96a63f85f - <client_reads[41ee23c96eaf7e7d]::remote_list_reports_when_each_remote_was_last_pulled_and_pushed::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x57c96a6648bb - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   13:     0x57c96a671f25 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   14:     0x57c96a66b7e4 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x57c96a675082 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x57c96a6df179 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x7c1e06caedfa - <unknown>
[INFO] [stdout]   18:     0x7c1e06d423d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     remote_list_reports_when_each_remote_was_last_pulled_and_pushed
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5", kill_on_drop: false }`
[INFO] [stdout] e4c3ada8c7ad928cd4925d9cb7f2c17791f6935abfb713dcf6a59182904b03c5
