[INFO] cloning repository https://github.com/Hitesh-s0lanki/klyro [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Hitesh-s0lanki/klyro" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHitesh-s0lanki%2Fklyro", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHitesh-s0lanki%2Fklyro'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 73244a39de38e41dff4378e965535642196f189a [INFO] testing Hitesh-s0lanki/klyro against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHitesh-s0lanki%2Fklyro" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Hitesh-s0lanki/klyro [INFO] finished tweaking git repo https://github.com/Hitesh-s0lanki/klyro [INFO] tweaked toml for git repo https://github.com/Hitesh-s0lanki/klyro written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Hitesh-s0lanki/klyro on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Hitesh-s0lanki/klyro 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-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47 [INFO] running `Command { std: "docker" "start" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47", 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" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47" "/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" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47", 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" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling klyro v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 10.34s [INFO] running `Command { std: "docker" "inspect" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47", 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" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling klyro v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 26.32s [INFO] running `Command { std: "docker" "inspect" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47", 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" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.02s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/build/klyro/5589ca0770d40e2e/out/klyro-5589ca0770d40e2e) [INFO] [stdout] [INFO] [stdout] running 167 tests [INFO] [stdout] test commands::keyspec::tests::a_numkeys_count_bounds_the_key_list ... ok [INFO] [stdout] test config::tests::load_file_reads_pairs_and_ignores_comments ... ok [INFO] [stdout] test config::tests::load_file_reports_a_missing_file ... ok [INFO] [stdout] test config::tests::every_listed_parameter_is_readable ... ok [INFO] [stdout] test commands::keyspec::tests::a_truncated_command_reports_only_what_is_there ... ok [INFO] [stdout] test config::tests::bind_and_port_are_immutable_at_runtime ... ok [INFO] [stdout] test commands::keyspec::tests::every_deny_oom_command_is_a_write ... ok [INFO] [stdout] test commands::keyspec::tests::a_flush_reports_the_whole_keyspace ... ok [INFO] [stdout] test commands::keyspec::tests::a_trailing_timeout_is_not_a_key ... ok [INFO] [stdout] test commands::keyspec::tests::the_common_shape_is_one_key_at_the_front ... ok [INFO] [stdout] test commands::keyspec::tests::variadic_commands_report_every_key ... ok [INFO] [stdout] test commands::keyspec::tests::only_the_commands_that_can_grow_the_keyspace_deny_oom ... ok [INFO] [stdout] test config::tests::set_round_trips_through_get ... ok [INFO] [stdout] test evict::tests::lru_takes_the_least_recently_used ... ok [INFO] [stdout] test evict::tests::every_policy_round_trips_through_its_name ... ok [INFO] [stdout] test evict::tests::noeviction_never_names_a_victim ... ok [INFO] [stdout] test evict::tests::lfu_breaks_a_tie_on_the_counter_by_age ... ok [INFO] [stdout] test evict::tests::lfu_takes_the_least_frequently_used_before_the_oldest ... ok [INFO] [stdout] test config::tests::zero_and_junk_are_rejected ... ok [INFO] [stdout] test evict::tests::only_the_volatile_policies_restrict_the_pool ... ok [INFO] [stdout] test pubsub::tests::a_departing_client_leaves_nothing_behind ... ok [INFO] [stdout] test persist::tests::a_version_1_expireat_line_still_applies ... ok [INFO] [stdout] test config::tests::load_file_reports_every_problem ... ok [INFO] [stdout] test pubsub::tests::channels_are_listed_only_while_someone_listens ... ok [INFO] [stdout] test commands::keyspec::tests::mset_skips_the_values_between_its_keys ... ok [INFO] [stdout] test pubsub::tests::one_client_subscribed_both_ways_is_delivered_to_twice ... ok [INFO] [stdout] test commands::keyspec::tests::a_read_command_writes_nothing ... ok [INFO] [stdout] test resp::tests::a_bare_newline_terminates_a_line ... ok [INFO] [stdout] test pubsub::tests::a_message_on_a_quiet_channel_goes_nowhere ... ok [INFO] [stdout] test pubsub::tests::a_message_reaches_channel_and_pattern_subscribers ... ok [INFO] [stdout] test resp::tests::an_incomplete_request_consumes_nothing ... ok [INFO] [stdout] test resp::tests::an_error_never_breaks_its_frame ... ok [INFO] [stdout] test evict::tests::an_empty_sample_yields_no_victim ... ok [INFO] [stdout] test evict::tests::volatile_ttl_takes_the_one_expiring_soonest ... ok [INFO] [stdout] test resp::tests::parses_a_binary_payload ... ok [INFO] [stdout] test persist::tests::a_file_that_is_not_a_dump_is_ignored ... ok [INFO] [stdout] test resp::tests::inline_rejects_unbalanced_quotes ... ok [INFO] [stdout] test persist::tests::reads_a_version_1_dump ... ok [INFO] [stdout] test resp::tests::parses_an_inline_command ... ok [INFO] [stdout] test resp::tests::rejects_a_bulk_string_over_the_limit ... ok [INFO] [stdout] test resp::tests::rejects_malformed_frames ... ok [INFO] [stdout] test resp::tests::resp3_types_fall_back_to_resp2_spellings ... ok [INFO] [stdout] test stats::tests::reset_clears_activity_but_keeps_state ... ok [INFO] [stdout] test resp::tests::bulk_strings_carry_arbitrary_bytes ... ok [INFO] [stdout] test resp::tests::an_empty_array_is_a_no_op ... ok [INFO] [stdout] test resp::tests::a_push_is_marked_only_in_resp3 ... ok [INFO] [stdout] test resp::tests::an_inline_command_needs_its_newline ... ok [INFO] [stdout] test resp::tests::inline_escapes_are_understood_inside_double_quotes ... ok [INFO] [stdout] test resp::tests::encodes_every_reply_type ... ok [INFO] [stdout] test store::tests::sampling_draws_from_the_pool_the_policy_asked_for ... ok [INFO] [stdout] test resp::tests::inline_quotes_keep_spaces_together ... ok [INFO] [stdout] test store::tests::evict_removes_a_key_without_counting_a_lookup ... ok [INFO] [stdout] test store::tests::set_clears_previous_expiry ... ok [INFO] [stdout] test store::tests::the_key_index_survives_inserts_overwrites_and_deletes ... ok [INFO] [stdout] test store::tests::delete_if_empty_removes_only_empty_collections ... ok [INFO] [stdout] test store::tests::set_and_get_string ... ok [INFO] [stdout] test store::tests::the_expiry_sweep_leaves_the_indexes_consistent ... ok [INFO] [stdout] test resp::tests::scored_members_flatten_only_in_resp2 ... ok [INFO] [stdout] test store::tests::missing_key_ttl_is_minus_two ... ok [INFO] [stdout] test store::tests::a_read_makes_a_key_look_newer_than_one_that_was_not_read ... ok [INFO] [stdout] test store::tests::update_string_preserves_expiry ... ok [INFO] [stdout] test store::tests::the_volatile_index_tracks_expiry_being_set_and_cleared ... ok [INFO] [stdout] test store::tests::rename_copy_and_flush_leave_the_indexes_consistent ... ok [INFO] [stdout] test types::list::tests::range_handles_negative_indices ... ok [INFO] [stdout] test types::memory::filter::tests::an_empty_filter_accepts_any_live_record ... ok [INFO] [stdout] test types::list::tests::trim_with_an_empty_range_clears_the_list ... ok [INFO] [stdout] test store::tests::scan_covers_everything_without_duplicates ... ok [INFO] [stdout] test types::list::tests::range_on_empty_list_is_empty ... ok [INFO] [stdout] test persist::tests::round_trips_values_holding_newlines_and_nul_bytes ... ok [INFO] [stdout] test persist::tests::round_trips_all_types_and_ttl ... ok [INFO] [stdout] test types::memory::filter::tests::a_missing_field_fails_everything_except_ne ... ok [INFO] [stdout] test types::memory::filter::tests::an_unknown_reserved_field_is_refused ... ok [INFO] [stdout] test types::list::tests::insert_before_and_after_a_pivot ... ok [INFO] [stdout] test types::memory::filter::tests::clauses_are_anded ... ok [INFO] [stdout] test types::list::tests::resolve_index_translates_negatives_and_rejects_out_of_range ... ok [INFO] [stdout] test store::tests::set_always_overwrites_regardless_of_type ... ok [INFO] [stdout] test types::list::tests::remove_honors_count_direction ... ok [INFO] [stdout] test types::list::tests::trim_keeps_only_the_requested_window ... ok [INFO] [stdout] test store::tests::wrong_type_accessor_returns_none ... ok [INFO] [stdout] test types::memory::fuse::tests::importance_and_recency_break_a_tie_the_other_components_leave ... ok [INFO] [stdout] test types::memory::filter::tests::created_at_compares_as_unix_millis ... ok [INFO] [stdout] test types::memory::fuse::tests::a_future_timestamp_scores_as_brand_new ... ok [INFO] [stdout] test types::memory::filter::tests::equality_on_a_metadata_field ... ok [INFO] [stdout] test types::memory::fuse::tests::normalize_spreads_scores_over_the_unit_range ... ok [INFO] [stdout] test types::memory::fuse::tests::components_are_reported_unnormalized ... ok [INFO] [stdout] test types::memory::filter::tests::in_takes_a_comma_separated_list ... ok [INFO] [stdout] test types::memory::fuse::tests::normalize_treats_an_all_equal_component_as_full_agreement ... ok [INFO] [stdout] test types::memory::record::tests::meta_replaces_and_reports_novelty ... ok [INFO] [stdout] test types::memory::fuse::tests::a_candidate_found_by_one_index_only_still_ranks ... ok [INFO] [stdout] test types::memory::fuse::tests::ranks_are_one_based_and_ties_share_a_rank ... ok [INFO] [stdout] test types::memory::filter::tests::reserved_fields_read_the_record_itself ... ok [INFO] [stdout] test types::memory::fuse::tests::a_candidate_both_indexes_found_outranks_one_either_found_alone ... ok [INFO] [stdout] test types::memory::fuse::tests::fusing_two_empty_lists_gives_nothing ... ok [INFO] [stdout] test resp::tests::parses_an_array_request ... ok [INFO] [stdout] test types::memory::fuse::tests::recency_halves_at_each_half_life ... ok [INFO] [stdout] test types::memory::filter::tests::numbers_compare_numerically_not_lexically ... ok [INFO] [stdout] test types::memory::fuse::tests::rrf_ranks_by_position_and_ignores_the_score_spread ... ok [INFO] [stdout] test types::memory::tests::deleting_clears_both_indexes ... ok [INFO] [stdout] test types::memory::tests::ids_are_assigned_when_the_client_gives_none ... ok [INFO] [stdout] test types::memory::record::tests::expiry_is_checked_against_a_caller_supplied_now ... ok [INFO] [stdout] test types::memory::fuse::tests::weights_decide_which_component_leads ... ok [INFO] [stdout] test types::memory::record::tests::meta_stays_sorted_by_field ... ok [INFO] [stdout] test types::memory::tests::a_refused_add_leaves_nothing_behind ... ok [INFO] [stdout] test types::memory::tests::add_indexes_text_and_stores_the_vector ... ok [INFO] [stdout] test types::memory::record::tests::removing_an_absent_field_reports_false ... ok [INFO] [stdout] test types::memory::tests::nx_and_xx_gate_on_existence ... ok [INFO] [stdout] test types::memory::tests::record_ttl_reports_the_way_pttl_does ... ok [INFO] [stdout] test types::memory::tests::scan_walks_every_record_once ... ok [INFO] [stdout] test types::memory::tests::cloning_rebuilds_the_indexes_and_compacts_freed_slots ... ok [INFO] [stdout] test types::memory::tests::max_records_stops_growth_but_still_allows_updates ... ok [INFO] [stdout] test types::memory::text::tests::the_filter_runs_before_truncation ... ok [INFO] [stdout] test types::memory::tests::search_mode_refuses_vectors_and_vector_mode_refuses_keyword_queries ... ok [INFO] [stdout] test types::memory::text::tests::tokenizer_drops_stopwords_and_single_characters ... ok [INFO] [stdout] test types::memory::text::tests::removing_a_document_removes_its_postings ... ok [INFO] [stdout] test types::memory::text::tests::tokenizer_lowercases_and_splits_on_punctuation ... ok [INFO] [stdout] test types::memory::text::tests::tokenizer_keeps_non_ascii_words_whole ... ok [INFO] [stdout] test types::memory::tests::updating_a_record_reindexes_its_text ... ok [INFO] [stdout] test types::memory::text::tests::a_document_with_no_indexable_terms_still_counts ... ok [INFO] [stdout] test types::memory::tests::vector_mode_requires_a_vector_on_a_new_record ... ok [INFO] [stdout] test types::memory::vector::tests::a_blob_that_is_not_float32_is_rejected ... ok [INFO] [stdout] test types::memory::text::tests::reindexing_replaces_rather_than_duplicates ... ok [INFO] [stdout] test types::memory::text::tests::a_term_in_every_document_scores_near_zero ... ok [INFO] [stdout] test types::memory::text::tests::removal_leaves_no_empty_posting_lists_behind ... ok [INFO] [stdout] test types::memory::vector::tests::a_zero_dimension_index_stores_nothing ... ok [INFO] [stdout] test types::memory::vector::tests::blobs_round_trip_through_float32 ... ok [INFO] [stdout] test types::memory::text::tests::searching_an_empty_index_returns_nothing ... ok [INFO] [stdout] test types::memory::text::tests::search_finds_only_documents_containing_the_term ... ok [INFO] [stdout] test types::memory::text::tests::tokenizer_honours_the_term_cap ... ok [INFO] [stdout] test types::memory::text::tests::shorter_documents_outrank_longer_ones_on_the_same_term ... ok [INFO] [stdout] test types::memory::text::tests::tokenizer_keeps_identifiers_intact ... ok [INFO] [stdout] test types::memory::vector::tests::cosine_normalizes_on_the_way_in ... ok [INFO] [stdout] test types::memory::tests::expired_records_disappear_from_reads_before_the_sweep ... ok [INFO] [stdout] test types::memory::vector::tests::l2_ranks_nearer_vectors_higher ... ok [INFO] [stdout] test types::memory::vector::tests::wrong_dimension_and_zero_vectors_are_refused ... ok [INFO] [stdout] test types::memory::vector::tests::cosine_of_identical_directions_is_one ... ok [INFO] [stdout] test types::zset::tests::range_by_score_respects_exclusive_bounds ... ok [INFO] [stdout] test types::memory::vector::tests::deleted_slots_are_reused_rather_than_grown_past ... ok [INFO] [stdout] test types::memory::vector::tests::removing_a_slot_twice_does_not_double_free ... ok [INFO] [stdout] test types::zset::tests::add_is_new_then_repositions ... ok [INFO] [stdout] test types::zset::tests::score_bounds_parse_exclusive_and_infinite_forms ... ok [INFO] [stdout] test util::bytes::tests::integers_reject_surrounding_space ... ok [INFO] [stdout] test util::bytes::tests::score_formatting_round_trips ... ok [INFO] [stdout] test util::bytes::tests::scores_print_the_way_redis_prints_them ... ok [INFO] [stdout] test util::bytes::tests::upper_and_case_insensitive_compare ... ok [INFO] [stdout] test util::bytes::tests::floats_accept_infinity_but_not_nan ... ok [INFO] [stdout] test types::zset::tests::ranks_count_from_both_ends ... ok [INFO] [stdout] test util::glob::tests::exact_match_no_wildcards ... ok [INFO] [stdout] test types::zset::tests::remove_range_by_rank_and_score ... ok [INFO] [stdout] test types::zset::tests::rev_range_is_descending_and_indexes_from_the_top ... ok [INFO] [stdout] test types::zset::tests::rem_and_size ... ok [INFO] [stdout] test util::glob::tests::question_mark_matches_one_char ... ok [INFO] [stdout] test types::zset::tests::members_may_hold_arbitrary_bytes ... ok [INFO] [stdout] test types::zset::tests::incr_by_treats_a_missing_member_as_zero ... ok [INFO] [stdout] test util::glob::tests::character_class_and_negation ... ok [INFO] [stdout] test types::zset::tests::pop_takes_from_the_requested_end ... ok [INFO] [stdout] test types::zset::tests::range_is_ascending_by_score ... ok [INFO] [stdout] test util::glob::tests::star_matches_any_run ... ok [INFO] [stdout] test watch::tests::touching_an_unwatched_key_records_nothing ... ok [INFO] [stdout] test watch::tests::an_untouched_key_keeps_its_version ... ok [INFO] [stdout] test util::rand::tests::below_zero_is_zero ... ok [INFO] [stdout] test util::memory::tests::allocating_moves_the_counter ... ok [INFO] [stdout] test util::memory::tests::human_bytes_picks_a_unit ... ok [INFO] [stdout] test util::rand::tests::unit_interval_stays_in_range_and_spreads ... ok [INFO] [stdout] test util::rand::tests::below_stays_in_range_and_varies ... ok [INFO] [stdout] test watch::tests::a_flush_moves_every_version_on ... ok [INFO] [stdout] test watch::tests::a_write_moves_the_version_on ... ok [INFO] [stdout] test watch::tests::the_last_watcher_out_forgets_the_key ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 167 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/admin.rs (/opt/rustwide/target/release/build/klyro/e66fa2cb3b594404/out/admin-e66fa2cb3b594404) [INFO] [stdout] [INFO] [stdout] running 35 tests [INFO] [stdout] test client_id_is_unique_per_connection ... ok [INFO] [stdout] test config_get_accepts_several_patterns ... ok [INFO] [stdout] test a_bad_config_file_stops_startup_and_says_why ... ok [INFO] [stdout] test config_usage_errors ... ok [INFO] [stdout] test dbfilename_redirects_the_next_save ... ok [INFO] [stdout] test config_get_lists_everything_and_supports_globs ... ok [INFO] [stdout] test client_setinfo_is_accepted_from_client_libraries ... ok [INFO] [stdout] test config_set_refuses_immutable_unknown_and_invalid ... ok [INFO] [stdout] test config_resetstat_clears_the_counters ... ok [INFO] [stdout] test client_setname_and_getname_round_trip ... ok [INFO] [stdout] test config_set_changes_a_parameter ... ok [INFO] [stdout] test info_counts_transactions_that_ran ... ok [INFO] [stdout] test a_config_file_ignores_comments_and_blank_lines ... ok [INFO] [stdout] test a_missing_config_file_stops_startup ... ok [INFO] [stdout] test client_info_describes_this_connection ... ok [INFO] [stdout] test config_names_and_subcommands_are_case_insensitive ... ok [INFO] [stdout] test info_reports_the_configured_port_and_a_running_uptime ... ok [INFO] [stdout] test hello_negotiates_resp3_and_switches_the_encoding ... ok [INFO] [stdout] test a_config_file_supplies_the_settings ... ok [INFO] [stdout] test hello_refuses_a_protocol_it_does_not_speak ... ok [INFO] [stdout] test info_counts_one_hit_or_miss_per_read ... ok [INFO] [stdout] test info_answers_an_unknown_section_with_an_empty_string ... ok [INFO] [stdout] test hello_reports_the_server_and_protocol ... ok [INFO] [stdout] test info_counts_commands ... ok [INFO] [stdout] test info_counts_connections ... ok [INFO] [stdout] test info_keyspace_breaks_down_by_type ... ok [INFO] [stdout] test info_persistence_tracks_saves ... ok [INFO] [stdout] test info_prints_every_section ... ok [INFO] [stdout] test info_takes_a_single_section ... ok [INFO] [stdout] test scan_default_count_is_configurable ... ok [INFO] [stdout] test positional_port_and_dump_arguments_still_work ... ok [INFO] [stdout] test writes_do_not_move_the_hit_ratio ... ok [INFO] [stdout] test zadd_max_pairs_is_configurable ... ok [INFO] [stdout] test max_string_bytes_is_enforced_at_the_configured_size ... ok [INFO] [stdout] test info_reports_blocked_watching_and_subscribed_clients ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stderr] Running tests/blocking.rs (/opt/rustwide/target/release/build/klyro/473ea94798725999/out/blocking-473ea94798725999) [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test a_negative_or_unparsable_timeout_is_refused ... ok [INFO] [stdout] test a_wrong_type_is_reported_rather_than_waited_on ... ok [INFO] [stdout] test blpop_answers_at_once_when_the_list_has_a_value ... ok [INFO] [stdout] test keys_are_tried_in_the_order_they_were_given ... ok [INFO] [stdout] test lmpop_takes_a_batch_from_the_first_non_empty_key ... ok [INFO] [stdout] test a_blocking_command_inside_a_transaction_answers_instead_of_waiting ... ok [INFO] [stdout] test a_multi_key_pop_needs_a_sane_numkeys ... ok [INFO] [stdout] test zmpop_pairs_each_member_with_its_score ... ok [INFO] [stdout] test blmove_waits_and_then_moves ... ok [INFO] [stdout] test bzpopmin_and_bzpopmax_wait_on_a_sorted_set ... ok [INFO] [stdout] test a_waiting_client_takes_the_first_key_that_gets_a_value ... ok [INFO] [stdout] test a_parked_client_that_disconnects_leaves_nothing_behind ... ok [INFO] [stdout] test a_blocked_client_does_not_hold_up_the_server ... ok [INFO] [stdout] test commands_pipelined_behind_a_blocking_one_run_once_it_is_answered ... ok [INFO] [stdout] test brpoplpush_is_blmove_right_to_left ... ok [INFO] [stdout] test blpop_waits_for_a_push_from_another_client ... ok [INFO] [stdout] test blmove_times_out_with_a_null_rather_than_a_null_array ... ok [INFO] [stdout] test waiting_does_not_inflate_the_command_count ... ok [INFO] [stdout] test blpop_gives_up_at_its_timeout ... ok [INFO] [stdout] test a_move_can_wake_a_client_waiting_on_its_destination ... ok [INFO] [stdout] test a_string_written_to_a_waited_on_key_does_not_wake_the_waiter ... ok [INFO] [stdout] test blmpop_and_bzmpop_wait_for_their_keys ... ok [INFO] [stderr] Running tests/eviction.rs (/opt/rustwide/target/release/build/klyro/c515943d2bc4f642/out/eviction-c515943d2bc4f642) [INFO] [stdout] test the_longest_waiting_client_is_served_first ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.49s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test a_full_server_still_answers_reads_and_deletes ... ok [INFO] [stdout] test a_volatile_policy_with_nothing_to_take_refuses_the_write ... ok [INFO] [stdout] test clearing_the_limit_lets_the_writes_through_again ... ok [INFO] [stdout] test noeviction_refuses_a_write_that_would_grow_the_keyspace ... ok [INFO] [stdout] test maxmemory_accepts_the_size_suffixes ... ok [INFO] [stdout] test allkeys_lru_evicts_instead_of_refusing ... ok [INFO] [stdout] test an_eviction_aborts_a_transaction_watching_the_key ... ok [INFO] [stdout] test no_limit_is_the_default ... ok [INFO] [stdout] test every_policy_is_settable_and_reported_back ... ok [INFO] [stdout] test a_config_file_can_set_the_limit_and_the_policy ... ok [INFO] [stdout] test a_volatile_policy_leaves_keys_without_a_ttl_alone ... ok [INFO] [stdout] test allkeys_lru_keeps_the_key_that_is_being_read ... ok [INFO] [stdout] test resetstat_clears_the_eviction_count ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running tests/expiry.rs (/opt/rustwide/target/release/build/klyro/353879f11411a455/out/expiry-353879f11411a455) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test pexpireat_takes_absolute_milliseconds ... ok [INFO] [stdout] test expire_and_ttl ... ok [INFO] [stdout] test an_expired_key_reads_as_missing ... ok [INFO] [stdout] test a_ttl_survives_the_key_being_read_and_updated_in_place ... ok [INFO] [stdout] test ttl_reports_missing_and_persistent_keys ... ok [INFO] [stdout] test expire_variants_report_missing_keys ... ok [INFO] [stdout] test persist_removes_a_ttl_once ... ok [INFO] [stdout] test pexpire_sets_a_millisecond_ttl ... ok [INFO] [stdout] test expireat_takes_an_absolute_unix_timestamp ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/generic.rs (/opt/rustwide/target/release/build/klyro/282a77b580ecb1b1/out/generic-282a77b580ecb1b1) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test del_counts_what_it_removed ... ok [INFO] [stdout] test a_command_against_the_wrong_type_is_refused ... ok [INFO] [stdout] test unknown_command ... ok [INFO] [stdout] test set_overwrites_a_key_of_any_type ... ok [INFO] [stdout] test emptying_a_collection_deletes_its_key ... ok [INFO] [stdout] test dbsize_and_keys ... ok [INFO] [stdout] test unlink_is_an_alias_for_del ... ok [INFO] [stdout] test save_writes_the_dump_file ... ok [INFO] [stdout] test type_reports_every_kind ... ok [INFO] [stdout] test quit_closes_the_connection ... ok [INFO] [stdout] test shutdown_stops_the_process ... ok [INFO] [stdout] test ping ... ok [INFO] [stdout] test reads_of_a_missing_key_are_empty_not_errors ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stderr] Running tests/hashes.rs (/opt/rustwide/target/release/build/klyro/07e3cad91da18238/out/hashes-07e3cad91da18238) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test fields_and_values_may_contain_spaces ... ok [INFO] [stdout] test hincrby_counts_within_a_hash ... ok [INFO] [stdout] test hash_commands_reject_wrong_types ... ok [INFO] [stdout] test hexists_and_hstrlen ... ok [INFO] [stdout] test hkeys_hvals_and_hgetall ... ok [INFO] [stdout] test hsetnx_writes_only_a_missing_field ... ok [INFO] [stdout] test hincrbyfloat_accumulates_fractions ... ok [INFO] [stdout] test hmset_is_hset_with_the_older_reply ... ok [INFO] [stdout] test hsetnx_on_a_missing_key_leaves_nothing_behind_when_it_declines ... ok [INFO] [stdout] test hget_and_hmget ... ok [INFO] [stdout] test hset_is_variadic_and_counts_new_fields ... ok [INFO] [stdout] test hdel_counts_what_it_removed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/keyspace.rs (/opt/rustwide/target/release/build/klyro/11a1e941e4739d67/out/keyspace-11a1e941e4739d67) [INFO] [stdout] running 11 tests [INFO] [stdout] test flushdb_and_flushall_empty_the_keyspace ... ok [INFO] [stdout] test exists_sees_every_type ... ok [INFO] [stdout] test echo_returns_its_argument ... ok [INFO] [stdout] test rename_reports_a_missing_source ... ok [INFO] [stdout] test rename_overwrites_the_destination_but_renamenx_refuses ... ok [INFO] [stdout] test randomkey_returns_a_stored_key_or_nil ... ok [INFO] [stdout] test dbsize_ignores_expired_keys ... ok [INFO] [stdout] test exists_counts_every_key_it_is_given ... ok [INFO] [stdout] test copy_duplicates_a_value_independently ... ok [INFO] [stdout] test copy_refuses_an_existing_destination_without_replace ... ok [INFO] [stderr] Running tests/lists.rs (/opt/rustwide/target/release/build/klyro/a6932ce49f0ec305/out/lists-a6932ce49f0ec305) [INFO] [stdout] test rename_moves_the_value_and_its_ttl ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test lindex_reads_by_position ... ok [INFO] [stdout] test pushx_only_extends_an_existing_list ... ok [INFO] [stdout] test lset_replaces_in_place ... ok [INFO] [stdout] test push_pop_and_len ... ok [INFO] [stdout] test lrange_handles_negative_and_out_of_range_indices ... ok [INFO] [stdout] test list_commands_reject_wrong_types ... ok [INFO] [stdout] test rpoplpush_moves_between_lists ... ok [INFO] [stdout] test lmove_chooses_both_ends ... ok [INFO] [stdout] test push_requires_at_least_one_value ... ok [INFO] [stdout] test push_applies_values_left_to_right ... ok [INFO] [stdout] test emptying_the_source_of_a_move_deletes_it ... ok [INFO] [stdout] test pop_accepts_a_count ... ok [INFO] [stdout] test linsert_places_a_value_around_a_pivot ... ok [INFO] [stdout] test rotating_a_single_element_list_onto_itself_keeps_the_key ... ok [INFO] [stdout] test lrem_emptying_the_list_deletes_the_key ... ok [INFO] [stdout] test ltrim_with_an_empty_range_deletes_the_key ... ok [INFO] [stdout] test ltrim_keeps_only_the_requested_window ... ok [INFO] [stdout] test rpoplpush_can_rotate_a_list_onto_itself ... ok [INFO] [stdout] test lrem_honours_the_count_direction ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/memory.rs (/opt/rustwide/target/release/build/klyro/b84409bd691d481d/out/memory-b84409bd691d481d) [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test every_command_reports_wrongtype_against_another_type ... ok [INFO] [stdout] test a_record_expires_on_its_own_deadline ... ok [INFO] [stdout] test a_mode_refuses_the_queries_it_cannot_answer ... ok [INFO] [stdout] test a_malformed_vector_is_refused_without_storing_anything ... ok [INFO] [stdout] test create_defaults_to_hybrid_with_the_specified_weights ... ok [INFO] [stdout] test nx_and_xx_gate_on_whether_the_record_exists ... ok [INFO] [stdout] test a_resp3_client_gets_real_maps_back ... ok [INFO] [stdout] test record_text_is_bounded_by_the_configured_ceiling ... ok [INFO] [stdout] test scan_pages_through_every_record_once ... ok [INFO] [stdout] test scan_applies_metadata_filters ... ok [INFO] [stdout] test del_counts_only_the_records_that_were_there ... ok [INFO] [stdout] test get_returns_the_record_and_nil_for_a_missing_one ... ok [INFO] [stdout] test create_refuses_to_replace_an_existing_index ... ok [INFO] [stdout] test text_and_metadata_may_be_arbitrary_bytes ... ok [INFO] [stdout] test a_dim_on_a_keyword_only_index_is_a_mistake_worth_reporting ... ok [INFO] [stdout] test every_command_reports_a_missing_index_the_same_way ... ok [INFO] [stdout] test add_returns_the_id_and_assigns_one_when_asked ... ok [INFO] [stdout] test a_vector_index_needs_a_dimension ... ok [INFO] [stdout] test create_rejects_a_dimension_past_the_configured_ceiling ... ok [INFO] [stdout] test info_reports_a_memorydb_section ... ok [INFO] [stdout] test mget_answers_in_the_order_asked ... ok [INFO] [stdout] test adding_the_same_id_updates_in_place ... ok [INFO] [stdout] test generic_commands_treat_a_memory_index_like_any_other_key ... ok [INFO] [stdout] test setmeta_counts_new_fields_and_delmeta_counts_removed_ones ... ok [INFO] [stdout] test topk_is_bounded_by_the_configured_ceiling ... ok [INFO] [stdout] test withvec_returns_the_stored_vector_as_float32_bytes ... ok [INFO] [stdout] test weights_and_halflife_are_tunable_but_the_shape_is_not ... ok [INFO] [stdout] test missing_and_unknown_arguments_are_reported_by_name ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running tests/memory_hybrid.rs (/opt/rustwide/target/release/build/klyro/466266b21d555f2f/out/memory_hybrid-466266b21d555f2f) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test a_query_needs_something_to_search_with ... ok [INFO] [stdout] test a_record_only_one_index_found_still_ranks ... ok [INFO] [stdout] test a_vector_only_query_is_a_semantic_search ... ok [INFO] [stdout] test index_weights_change_the_default_ranking ... ok [INFO] [stdout] test a_text_only_query_is_a_keyword_search ... ok [INFO] [stdout] test giving_both_fuses_the_two_rankings ... ok [INFO] [stdout] test a_mode_still_refuses_the_half_of_a_query_it_cannot_answer ... ok [INFO] [stdout] test per_query_weights_override_the_index_defaults ... ok [INFO] [stdout] test filters_narrow_a_fused_query ... ok [INFO] [stdout] test importance_and_recency_settle_what_the_other_signals_tie ... ok [INFO] [stdout] test rrf_fuses_by_rank_instead_of_by_score ... ok [INFO] [stderr] Running tests/memory_persistence.rs (/opt/rustwide/target/release/build/klyro/cd698b8f1b0d4344/out/memory_persistence-cd698b8f1b0d4344) [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test a_truncated_dump_loses_only_what_follows_it ... ok [INFO] [stdout] test a_hand_edited_dump_cannot_smuggle_in_an_out_of_range_importance ... ok [INFO] [stdout] test an_assigned_id_is_never_reissued_after_a_reload ... ok [INFO] [stdout] test a_version_2_dump_still_loads ... ok [INFO] [stdout] test binary_text_and_metadata_survive_the_round_trip ... ok [INFO] [stdout] test an_empty_index_survives_with_its_configuration ... ok [INFO] [stdout] test a_keyword_only_index_reloads_without_vectors ... ok [INFO] [stdout] test configuration_and_records_survive_a_save_and_reload ... ok [INFO] [stdout] test weights_set_at_runtime_survive_a_restart ... ok [INFO] [stdout] test a_record_ttl_is_an_absolute_deadline_across_a_restart ... ok [INFO] [stderr] Running tests/memory_search.rs (/opt/rustwide/target/release/build/klyro/8fcc9ee9fe5f1584/out/memory_search-8fcc9ee9fe5f1584) [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.15s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test topk_caps_the_answer_without_changing_the_ranking ... ok [INFO] [stdout] test deleting_a_record_removes_it_from_the_keyword_index ... ok [INFO] [stdout] test filters_reach_the_record_itself_through_an_at_prefix ... ok [INFO] [stdout] test return_flags_choose_what_a_hit_carries ... ok [INFO] [stdout] test a_multi_word_query_unions_its_terms_and_ranks_by_overlap ... ok [INFO] [stdout] test identifiers_survive_tokenization_whole ... ok [INFO] [stdout] test searching_an_empty_index_returns_an_empty_array ... ok [INFO] [stdout] test a_term_in_every_record_carries_almost_no_signal ... ok [INFO] [stdout] test search_finds_only_records_holding_the_term ... ok [INFO] [stdout] test numeric_metadata_compares_as_numbers_not_as_text ... ok [INFO] [stdout] test filters_narrow_a_result_set_by_metadata ... ok [INFO] [stdout] test search_is_case_insensitive_and_ignores_punctuation ... ok [INFO] [stdout] test stopwords_and_single_characters_match_nothing ... ok [INFO] [stderr] Running tests/memory_vector.rs (/opt/rustwide/target/release/build/klyro/01ed281faf5cb5b4/out/memory_vector-01ed281faf5cb5b4) [INFO] [stdout] test an_expired_record_leaves_the_results_immediately ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.32s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test filters_apply_to_a_vector_search_too ... ok [INFO] [stdout] test a_query_vector_of_the_wrong_width_is_refused ... ok [INFO] [stdout] test a_scan_past_the_ceiling_is_refused_rather_than_truncated ... ok [INFO] [stdout] test a_keyword_only_index_refuses_a_vector_search ... ok [INFO] [stdout] test cosine_ranks_by_direction_not_by_magnitude ... ok [INFO] [stdout] test fvec_and_vec_describe_the_same_vector ... ok [INFO] [stdout] test inner_product_rewards_magnitude ... ok [INFO] [stdout] test l2_ranks_by_distance ... ok [INFO] [stdout] test an_expired_record_is_gone_from_vector_results ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.14s [INFO] [stdout] [INFO] [stderr] Running tests/persistence.rs (/opt/rustwide/target/release/build/klyro/ded79d43bbb3f126/out/persistence-ded79d43bbb3f126) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test editing_a_collection_marks_the_store_unsaved ... ok [INFO] [stdout] test reading_a_collection_does_not_mark_the_store_unsaved ... ok [INFO] [stdout] test save_writes_immediately_without_stopping_the_server ... ok [INFO] [stdout] test a_file_that_is_not_a_dump_is_ignored ... ok [INFO] [stdout] test a_version_1_dump_still_loads ... ok [INFO] [stdout] test binary_values_survive_a_save_and_reload ... ok [INFO] [stdout] test every_type_survives_a_save_and_reload ... ok [INFO] [stdout] test a_ttl_survives_a_restart_as_an_absolute_deadline ... ok [INFO] [stdout] test a_collection_edit_survives_a_restart ... ok [INFO] [stdout] test an_expired_key_does_not_come_back ... ok [INFO] [stdout] test collection_edits_are_autosaved_before_an_abrupt_restart ... ok [INFO] [stderr] Running tests/protocol.rs (/opt/rustwide/target/release/build/klyro/0957d4bec7d6845d/out/protocol-0957d4bec7d6845d) [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test errors_come_back_as_error_replies ... ok [INFO] [stdout] test inline_quotes_carry_a_value_with_spaces ... ok [INFO] [stdout] test a_malformed_frame_reports_a_protocol_error_and_closes ... ok [INFO] [stdout] test pipelined_commands_answer_in_order ... ok [INFO] [stdout] test keys_may_also_contain_arbitrary_bytes ... ok [INFO] [stdout] test collection_members_may_contain_spaces ... ok [INFO] [stdout] test an_oversized_bulk_string_is_a_protocol_error ... ok [INFO] [stdout] test values_may_contain_spaces_newlines_and_nul_bytes ... ok [INFO] [stdout] test an_empty_bulk_string_is_not_nil ... ok [INFO] [stdout] test a_bare_newline_is_ignored_rather_than_erroring ... ok [INFO] [stdout] test each_command_answers_with_its_redis_reply_type ... ok [INFO] [stdout] test inline_commands_still_work_for_a_human_at_a_socket ... ok [INFO] [stdout] test a_request_split_across_writes_is_reassembled ... ok [INFO] [stderr] Running tests/pubsub.rs (/opt/rustwide/target/release/build/klyro/51df7a134d193fa0/out/pubsub-51df7a134d193fa0) [INFO] [stdout] test a_large_reply_is_delivered_whole_rather_than_truncated ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test a_subscriber_that_disconnects_is_forgotten ... ok [INFO] [stdout] test a_resp2_subscriber_may_only_run_the_subscribe_commands ... ok [INFO] [stdout] test subscribing_is_refused_inside_a_transaction ... ok [INFO] [stdout] test a_published_message_reaches_its_subscribers ... ok [INFO] [stdout] test a_client_subscribed_both_ways_receives_a_message_twice ... ok [INFO] [stdout] test a_pattern_subscriber_is_told_which_pattern_matched ... ok [INFO] [stdout] test unsubscribing_from_everything_needs_no_arguments ... ok [INFO] [stdout] test publishing_to_yourself_arrives_before_the_count ... ok [INFO] [stdout] test pubsub_reports_channels_subscribers_and_patterns ... ok [INFO] [stdout] test a_resp3_subscriber_can_still_run_ordinary_commands ... ok [INFO] [stdout] test unsubscribing_leaves_subscriber_mode ... ok [INFO] [stdout] test unsubscribing_from_nothing_is_still_answered ... ok [INFO] [stdout] test publishing_where_nobody_listens_reaches_nobody ... ok [INFO] [stdout] test subscribing_is_confirmed_once_per_channel ... ok [INFO] [stdout] test a_message_does_not_reach_another_channel ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s [INFO] [stdout] [INFO] [stderr] Running tests/scan.rs (/opt/rustwide/target/release/build/klyro/f69a57f564b97bf3/out/scan-f69a57f564b97bf3) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test scan_on_an_empty_keyspace ... ok [INFO] [stdout] test scan_rejects_a_bad_cursor_or_option ... ok [INFO] [stdout] test keys_prefix_and_suffix_patterns ... ok [INFO] [stdout] test scan_with_a_small_count_needs_several_calls_but_covers_everything ... ok [INFO] [stdout] test keys_exact_match_and_no_match ... ok [INFO] [stdout] test keys_character_class_and_negation ... ok [INFO] [stderr] Running tests/sets.rs (/opt/rustwide/target/release/build/klyro/97a638c9e014a7e4/out/sets-97a638c9e014a7e4) [INFO] [stdout] test keys_star_matches_everything ... ok [INFO] [stdout] test keys_question_mark_matches_one_character ... ok [INFO] [stdout] test scan_match_filters_the_batch ... ok [INFO] [stdout] test scan_covers_everything_in_one_call_with_a_generous_count ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test sadd_counts_only_new_members ... ok [INFO] [stdout] test a_store_destination_may_also_be_a_source ... ok [INFO] [stdout] test smove_emptying_the_source_deletes_it ... ok [INFO] [stdout] test srem_counts_what_it_removed ... ok [INFO] [stdout] test algebra_accepts_more_than_two_sets ... ok [INFO] [stdout] test smove_transfers_one_member ... ok [INFO] [stdout] test spop_with_a_count_empties_the_key ... ok [INFO] [stdout] test srandmember_leaves_the_set_alone ... ok [INFO] [stdout] test spop_on_a_missing_key ... ok [INFO] [stdout] test algebra_treats_a_missing_key_as_empty ... ok [INFO] [stdout] test spop_removes_what_it_returns ... ok [INFO] [stdout] test membership_and_members ... ok [INFO] [stdout] test storing_an_empty_result_removes_the_destination ... ok [INFO] [stdout] test store_variants_write_the_result ... ok [INFO] [stdout] test set_commands_reject_wrong_types ... ok [INFO] [stdout] test srandmember_with_a_negative_count_may_repeat ... ok [INFO] [stdout] test sinter_sunion_and_sdiff ... ok [INFO] [stdout] test members_may_contain_spaces ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/sortedsets.rs (/opt/rustwide/target/release/build/klyro/732c8c5105e3cf88/out/sortedsets-732c8c5105e3cf88) [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test removing_every_member_deletes_the_key ... ok [INFO] [stdout] test zadd_rejects_a_dangling_pair_and_a_bad_score ... ok [INFO] [stdout] test zincrby_adjusts_a_score_and_reorders ... ok [INFO] [stdout] test zrangebyscore_honours_exclusive_bounds ... ok [INFO] [stdout] test zrem_counts_what_it_removed ... ok [INFO] [stdout] test zpopmin_and_zpopmax_take_from_each_end ... ok [INFO] [stdout] test zadd_repositions_without_counting ... ok [INFO] [stdout] test zrange_is_ascending_and_zrevrange_descending ... ok [INFO] [stdout] test zrank_and_zrevrank_count_from_each_end ... ok [INFO] [stdout] test zrangebyscore_selects_a_score_window ... ok [INFO] [stdout] test zcount_counts_the_same_window ... ok [INFO] [stdout] test zset_commands_reject_wrong_types ... ok [INFO] [stdout] test withscores_interleaves_members_and_scores ... ok [INFO] [stdout] test zremrange_by_rank_and_by_score ... ok [INFO] [stdout] test zrevrangebyscore_takes_its_bounds_high_first ... ok [INFO] [stdout] test zscore_and_zmscore ... ok [INFO] [stdout] test scores_print_without_a_trailing_decimal_point ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/strings.rs (/opt/rustwide/target/release/build/klyro/88ceae3d12cfe340/out/strings-88ceae3d12cfe340) [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test incrbyfloat_accumulates_fractions ... ok [INFO] [stdout] test getset_getdel_and_getex ... ok [INFO] [stdout] test set_nx_only_writes_when_the_key_is_absent ... ok [INFO] [stdout] test getrange_handles_negative_and_out_of_range_indices ... ok [INFO] [stdout] test set_rejects_contradictory_and_invalid_options ... ok [INFO] [stdout] test append_and_strlen ... ok [INFO] [stdout] test set_and_get ... ok [INFO] [stdout] test counters_preserve_an_existing_ttl ... ok [INFO] [stdout] test incr_rejects_a_non_integer_and_overflow ... ok [INFO] [stdout] test set_takes_px_exat_and_pxat ... ok [INFO] [stdout] test msetnx_is_all_or_nothing ... ok [INFO] [stdout] test set_keepttl_preserves_an_existing_expiry ... ok [INFO] [stdout] test set_get_returns_the_previous_value ... ok [INFO] [stdout] test set_clears_a_previous_expiry_unless_told_otherwise ... ok [INFO] [stdout] test setnx_setex_and_psetex ... ok [INFO] [stdout] test string_commands_reject_wrong_types ... ok [INFO] [stdout] test set_xx_only_writes_when_the_key_is_present ... ok [INFO] [stdout] test set_nx_with_ex_is_atomic_lock_acquisition ... ok [INFO] [stdout] test mget_and_mset ... ok [INFO] [stdout] test incr_and_decr ... ok [INFO] [stdout] test setrange_writes_in_place_and_pads_with_nul_bytes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s [INFO] [stdout] [INFO] [stderr] Running tests/transactions.rs (/opt/rustwide/target/release/build/klyro/5104c05d48c23d11/out/transactions-5104c05d48c23d11) [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test commands_are_queued_and_run_only_by_exec ... ok [INFO] [stdout] test exec_and_discard_without_multi_are_errors ... ok [INFO] [stdout] test a_flush_aborts_every_watching_transaction ... ok [INFO] [stdout] test multi_cannot_be_nested ... ok [INFO] [stdout] test a_transaction_that_queued_nothing_replies_with_an_empty_array ... ok [INFO] [stdout] test a_watching_client_that_leaves_frees_its_watch ... ok [INFO] [stdout] test a_command_that_cannot_be_queued_aborts_the_whole_transaction ... ok [INFO] [stdout] test watch_aborts_a_transaction_when_another_client_writes ... ok [INFO] [stdout] test unwatch_drops_the_guard ... ok [INFO] [stdout] test reset_returns_the_connection_to_a_clean_state ... ok [INFO] [stdout] test watch_inside_multi_is_refused ... ok [INFO] [stdout] test discard_throws_the_queue_away ... ok [INFO] [stdout] test a_runtime_error_leaves_the_rest_of_the_queue_running ... ok [INFO] [stdout] test a_read_by_another_client_does_not_abort_a_transaction ... ok [INFO] [stdout] test exec_leaves_no_watches_behind ... ok [INFO] [stdout] test watch_lets_a_transaction_through_when_nothing_changed ... ok [INFO] [stdout] test memory_writes_invalidate_watch_and_reads_preserve_it_in_both_protocols ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47", kill_on_drop: false }` [INFO] [stdout] fc460ebddc6dda80b5feb1ebf1a7741d3f934b479f3b1784c4d9bd4fa6897a47