[INFO] fetching crate sicada 0.1.0...
[INFO] testing sicada-0.1.0 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate sicada 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate sicada 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate sicada 0.1.0
[INFO] tweaked toml for crates.io crate sicada 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate sicada 0.1.0 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 crates.io crate sicada 0.1.0 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f
[INFO] running `Command { std: "docker" "start" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f", 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" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f" "/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" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f", 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" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling hybrid-array v0.4.11
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling memmap2 v0.9.11
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling md-5 v0.11.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling sicada v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.65s
[INFO] running `Command { std: "docker" "inspect" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f", 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" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling sicada v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 25.23s
[INFO] running `Command { std: "docker" "inspect" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f", 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" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sicada-555e69338891c9e3)
[INFO] [stdout] 
[INFO] [stdout] running 878 tests
[INFO] [stdout] test add_on::tests::the_null_add_on_writes_nothing ... ok
[INFO] [stdout] test add_on::tests::a_pair_round_trips_with_both_halves ... ok
[INFO] [stdout] test algorithms::accumulator::tests::the_default_accumulator_is_the_semirings_own_sum ... ok
[INFO] [stdout] test add_on::tests::pairs_nest ... ok
[INFO] [stdout] test add_on::tests::the_magic_number_matches_openfst ... ok
[INFO] [stdout] test algorithms::arc_map::tests::adding_caps_every_weight ... ok
[INFO] [stdout] test add_on::tests::an_absent_half_costs_one_byte ... ok
[INFO] [stdout] test algorithms::accumulator::tests::a_period_larger_than_the_limit_is_refused ... ok
[INFO] [stdout] test add_on::tests::a_pair_with_neither_half_is_two_bytes ... ok
[INFO] [stdout] test algorithms::arc_map::tests::an_fst_with_no_start_state_is_left_alone ... ok
[INFO] [stdout] test algorithms::arc_map::tests::reversing_weights_maps_between_arc_types ... ok
[INFO] [stdout] test algorithms::arc_map::tests::mapping_into_another_fst_leaves_the_input_alone ... ok
[INFO] [stdout] test algorithms::arc_map::tests::multiplying_reaches_the_final_weights_too ... ok
[INFO] [stdout] test algorithms::arc_map::tests::the_epsilon_mappers_blank_one_side_and_drop_its_table ... ok
[INFO] [stdout] test algorithms::arc_map::tests::quantizing_rounds_every_weight ... ok
[INFO] [stdout] test algorithms::arc_map::tests::the_identity_mapper_changes_nothing ... ok
[INFO] [stdout] test algorithms::arc_map::tests::removing_weights_leaves_an_unweighted_fst ... ok
[INFO] [stdout] test algorithms::arc_map::tests::label_properties_are_given_up_when_labels_change ... ok
[INFO] [stdout] test algorithms::arcsort::tests::arcs_that_compare_equal_keep_their_order ... ok
[INFO] [stdout] test algorithms::arcsort::tests::sorting_by_output_label_breaks_ties_on_the_input_label ... ok
[INFO] [stdout] test algorithms::arcsort::tests::sorting_by_input_label_breaks_ties_on_the_output_label ... ok
[INFO] [stdout] test algorithms::cc_visitors::real_fst_tests::access_and_coaccess_are_reported_per_state ... ok
[INFO] [stdout] test algorithms::cc_visitors::real_fst_tests::an_acyclic_fst_gives_one_component_per_state ... ok
[INFO] [stdout] test algorithms::arcsort::tests::the_claimed_properties_are_the_ones_the_result_has ... ok
[INFO] [stdout] test algorithms::arcsort::tests::there_is_nothing_to_do_for_a_state_with_one_arc ... ok
[INFO] [stdout] test algorithms::cc_visitors::real_fst_tests::a_cycle_is_one_component_and_a_chain_is_not ... ok
[INFO] [stdout] test algorithms::cc_visitors::real_fst_tests::a_dead_end_is_not_coaccessible ... ok
[INFO] [stdout] test algorithms::arc_map::tests::the_superfinal_mapper_leaves_exactly_one_final_state ... ok
[INFO] [stdout] test algorithms::cc_visitors::tests::test_cc_visitor_components ... ok
[INFO] [stdout] test algorithms::closure::tests::star_accepts_the_empty_string_and_any_number_of_repetitions ... ok
[INFO] [stdout] test algorithms::closure::tests::star_gives_every_sequence_of_what_was_accepted ... ok
[INFO] [stdout] test algorithms::closure::tests::the_closure_of_nothing ... ok
[INFO] [stdout] test algorithms::closure::tests::a_final_state_with_no_start_state_gets_no_arc_back ... ok
[INFO] [stdout] test algorithms::cc_visitors::tests::test_scc_visitor_tarjan ... ok
[INFO] [stdout] test algorithms::compose::tests::a_second_argument_with_input_epsilons_is_refused ... ok
[INFO] [stdout] test algorithms::compose::tests::an_epsilon_on_the_meeting_side_is_followed_alone ... ok
[INFO] [stdout] test algorithms::compose::tests::composition_is_associative ... ok
[INFO] [stdout] test algorithms::compose::tests::nothing_comes_out_when_the_labels_do_not_meet ... ok
[INFO] [stdout] test algorithms::compose::tests::composition_runs_one_output_into_the_others_input ... ok
[INFO] [stdout] test algorithms::closure::tests::plus_needs_at_least_one_repetition ... ok
[INFO] [stdout] test algorithms::arcsort::tests::sorting_does_not_change_what_the_fst_accepts ... ok
[INFO] [stdout] test algorithms::compose::tests::epsilons_on_both_sides_do_not_double_a_path ... ok
[INFO] [stdout] test algorithms::cc_visitors::real_fst_tests::components_match_mutual_reachability ... ok
[INFO] [stdout] test algorithms::accumulator::tests::the_lower_bound_is_where_the_cumulative_sum_reaches_the_weight ... ok
[INFO] [stdout] test algorithms::accumulator::tests::the_cache_fills_in_only_what_is_asked_for ... ok
[INFO] [stdout] test algorithms::accumulator::tests::only_states_with_enough_arcs_are_precomputed ... ok
[INFO] [stdout] test algorithms::compose::tests::composing_with_nothing_gives_nothing ... ok
[INFO] [stdout] test algorithms::compose_filter::tests::every_filter_starts_where_its_table_begins ... ok
[INFO] [stdout] test algorithms::compose_filter::tests::multi_eps_keeps_only_label_invariant_properties ... ok
[INFO] [stdout] test algorithms::compose_filter::tests::multi_eps_leaves_labels_alone_when_it_is_told_not_to_keep_them ... ok
[INFO] [stdout] test algorithms::accumulator::tests::the_log_accumulator_sums_in_the_log_semiring ... ok
[INFO] [stdout] test algorithms::connect::tests::an_unreachable_last_state_is_removed ... ok
[INFO] [stdout] test algorithms::connect::tests::condensing_collapses_each_component_to_one_acyclic_state ... ok
[INFO] [stdout] test algorithms::compose::tests::the_pairs_that_lead_nowhere_are_not_in_the_answer ... ok
[INFO] [stdout] test algorithms::compose::tests::composing_with_the_identity_changes_nothing ... ok
[INFO] [stdout] test algorithms::concat::tests::prepending_and_appending_agree ... ok
[INFO] [stdout] test algorithms::compose_filter::tests::multi_eps_copies_the_matched_label_across ... ok
[INFO] [stdout] test algorithms::compose_filter::tests::set_state_is_idempotent ... ok
[INFO] [stdout] test algorithms::connect::tests::condensing_nothing_produces_nothing ... ok
[INFO] [stdout] test algorithms::determinize::tests::an_empty_input_reports_no_distances ... ok
[INFO] [stdout] test algorithms::determinize::tests::a_transducer_is_determinized_on_its_input_side ... ok
[INFO] [stdout] test algorithms::determinize::tests::an_undeterminizable_fst_is_refused_when_a_limit_is_given ... ok
[INFO] [stdout] test algorithms::determinize::tests::an_unimplemented_reading_is_refused ... ok
[INFO] [stdout] test algorithms::compose_filter::tests::the_decision_tables_match_openfst ... ok
[INFO] [stdout] test algorithms::concat::tests::concatenating_with_nothing_accepts_nothing ... ok
[INFO] [stdout] test algorithms::concat::tests::concatenation_joins_the_two_languages ... ok
[INFO] [stdout] test algorithms::accumulator::tests::the_lower_bound_agrees_whether_or_not_the_state_is_remembered ... ok
[INFO] [stdout] test algorithms::determinize::tests::an_already_deterministic_fst_is_unchanged_in_what_it_accepts ... ok
[INFO] [stdout] test algorithms::dfs_visit::tests::an_fst_with_no_start_state_is_visited_trivially ... ok
[INFO] [stdout] test algorithms::dfs_visit::tests::arcs_are_classified_by_the_colour_of_where_they_lead ... ok
[INFO] [stdout] test algorithms::connect::tests::test_connect ... ok
[INFO] [stdout] test algorithms::dfs_visit::tests::filtered_arcs_are_not_followed_or_reported ... ok
[INFO] [stdout] test algorithms::connect::tests::connect_keeps_exactly_the_states_on_a_successful_path ... ok
[INFO] [stdout] test algorithms::determinize::tests::an_empty_fst_determinizes_to_an_empty_one ... ok
[INFO] [stdout] test algorithms::dfs_visit::tests::refusing_the_root_finishes_it_and_stops ... ok
[INFO] [stdout] test algorithms::dfs_visit::tests::unreachable_states_become_further_roots ... ok
[INFO] [stdout] test algorithms::determinize::tests::the_label_divisor_commits_only_what_both_agree_on ... ok
[INFO] [stdout] test algorithms::determinize::tests::the_weight_a_subset_cannot_commit_travels_with_it ... ok
[INFO] [stdout] test algorithms::determinize::tests::two_arcs_with_the_same_label_become_one ... ok
[INFO] [stdout] test algorithms::difference::tests::only_the_strings_themselves_are_removed ... ok
[INFO] [stdout] test algorithms::dfs_visit::tests::aborting_still_finishes_every_state_on_the_stack ... ok
[INFO] [stdout] test algorithms::dfs_visit::tests::access_only_stops_after_the_first_tree ... ok
[INFO] [stdout] test algorithms::dfs_visit::tests::each_state_is_finished_once_and_after_its_descendants ... ok
[INFO] [stdout] test algorithms::determinize::tests::determinizing_keeps_the_language_and_makes_it_deterministic ... ok
[INFO] [stdout] test algorithms::difference::tests::taking_a_language_from_itself_leaves_nothing ... ok
[INFO] [stdout] test algorithms::difference::tests::taking_away_nothing_leaves_everything ... ok
[INFO] [stdout] test algorithms::difference::tests::a_second_argument_that_cannot_be_complemented_is_refused ... ok
[INFO] [stdout] test algorithms::disambiguate::tests::two_ways_of_finishing_are_an_ambiguity ... ok
[INFO] [stdout] test algorithms::difference::tests::the_difference_is_what_the_first_has_and_the_second_does_not ... ok
[INFO] [stdout] test algorithms::disambiguate::tests::an_unambiguous_fst_is_left_saying_the_same_thing ... ok
[INFO] [stdout] test algorithms::disambiguate::tests::an_empty_fst_disambiguates_to_nothing ... ok
[INFO] [stdout] test algorithms::disambiguate::tests::two_paths_spelling_the_same_thing_become_one ... ok
[INFO] [stdout] test algorithms::encode::tests::a_final_state_at_weight_one_keeps_its_final_weight ... ok
[INFO] [stdout] test algorithms::concat::tests::the_concatenation_is_every_pairing_of_the_two ... ok
[INFO] [stdout] test algorithms::encode::tests::a_decoder_shares_the_table_it_was_made_from ... ok
[INFO] [stdout] test algorithms::encode::tests::a_stream_that_is_not_an_encode_table_is_refused ... ok
[INFO] [stdout] test algorithms::encode::tests::a_table_claiming_more_triples_than_it_has_is_refused ... ok
[INFO] [stdout] test algorithms::encode::tests::a_final_weight_becomes_an_arc_and_comes_back ... ok
[INFO] [stdout] test algorithms::encode::tests::a_table_round_trips_through_bytes ... ok
[INFO] [stdout] test algorithms::determinize::tests::determinizing_a_transducer_keeps_the_transduction ... ok
[INFO] [stdout] test algorithms::determinize::tests::the_distances_it_reports_are_the_result_s_own ... ok
[INFO] [stdout] test algorithms::encode::tests::arcs_share_a_label_exactly_when_what_is_encoded_matches ... ok
[INFO] [stdout] test algorithms::encode::tests::decoding_refuses_an_arc_that_was_never_encoded_that_way ... ok
[INFO] [stdout] test algorithms::encode::tests::decoding_a_label_the_table_does_not_have_is_refused ... ok
[INFO] [stdout] test algorithms::encode::tests::encoding_labels_makes_an_acceptor ... ok
[INFO] [stdout] test algorithms::encode::tests::symbol_tables_are_kept_aside_and_put_back ... ok
[INFO] [stdout] test algorithms::encode::tests::the_deprecated_header_is_still_readable ... ok
[INFO] [stdout] test algorithms::encode::tests::the_table_matches_the_bytes_openfst_writes ... ok
[INFO] [stdout] test algorithms::epsnormalize::tests::a_non_functional_transducer_is_refused_by_name ... ok
[INFO] [stdout] test algorithms::epsnormalize::tests::an_already_normalized_fst_is_unchanged_in_what_it_says ... ok
[INFO] [stdout] test algorithms::epsnormalize::tests::an_empty_fst_normalizes_to_nothing ... ok
[INFO] [stdout] test algorithms::epsnormalize::tests::an_input_epsilon_is_pushed_past_what_follows_it ... ok
[INFO] [stdout] test algorithms::equal::tests::a_different_final_weight_is_not_equal ... ok
[INFO] [stdout] test algorithms::encode::tests::encoding_weights_makes_it_unweighted ... ok
[INFO] [stdout] test algorithms::epsnormalize::tests::the_output_side_can_be_normalized ... ok
[INFO] [stdout] test algorithms::disambiguate::tests::the_total_weight_is_unchanged ... ok
[INFO] [stdout] test algorithms::equal::tests::a_different_weight_is_not_equal ... ok
[INFO] [stdout] test algorithms::equal::tests::a_different_state_count_is_not_equal ... ok
[INFO] [stdout] test algorithms::equal::tests::a_missing_start_state_is_not_equal_to_a_present_one ... ok
[INFO] [stdout] test algorithms::disambiguate::tests::disambiguating_keeps_the_weights_and_leaves_no_ambiguity ... ok
[INFO] [stdout] test algorithms::epsnormalize::tests::normalizing_keeps_the_transduction_and_normalizes ... ok
[INFO] [stdout] test algorithms::equal::tests::a_weight_within_the_tolerance_is_equal ... ok
[INFO] [stdout] test algorithms::equal::tests::arc_order_matters ... ok
[INFO] [stdout] test algorithms::equal::tests::the_equality_flags_match_openfst ... ok
[INFO] [stdout] test algorithms::equal::tests::two_empty_fsts_are_equal ... ok
[INFO] [stdout] test algorithms::equivalent::tests::a_difference_deep_in_the_fst_is_found ... ok
[INFO] [stdout] test algorithms::equal::tests::an_fst_equals_itself ... ok
[INFO] [stdout] test algorithms::equivalent::tests::where_the_weight_sits_along_a_path_does_not_matter ... ok
[INFO] [stdout] test algorithms::accumulator::tests::the_fast_accumulator_agrees_with_walking_for_every_range ... ok
[INFO] [stdout] test algorithms::equivalent::tests::an_fst_is_equivalent_to_itself ... ok
[INFO] [stdout] test algorithms::encode::tests::the_claimed_properties_are_the_ones_the_result_has ... ok
[INFO] [stdout] test algorithms::compose::tests::the_result_is_what_running_one_into_the_other_gives ... ok
[INFO] [stdout] test algorithms::equivalent::tests::one_extra_string_makes_them_different ... ok
[INFO] [stdout] test algorithms::encode::tests::encoding_and_decoding_gives_back_the_same_paths ... ok
[INFO] [stdout] test algorithms::equivalent::tests::the_numbering_of_the_states_does_not_matter ... ok
[INFO] [stdout] test algorithms::equivalent::tests::the_same_strings_at_different_weights_are_not_equivalent ... ok
[INFO] [stdout] test algorithms::factor_weight::tests::a_gallic_weight_keeps_its_weight_on_the_first_piece ... ok
[INFO] [stdout] test algorithms::factor_weight::tests::a_splittable_final_weight_becomes_arcs ... ok
[INFO] [stdout] test algorithms::factor_weight::tests::a_string_weight_is_split_one_label_to_an_arc ... ok
[INFO] [stdout] test algorithms::factor_weight::tests::a_single_label_weight_is_left_where_it_is ... ok
[INFO] [stdout] test algorithms::equivalent::tests::an_fst_the_algorithm_cannot_read_is_refused ... ok
[INFO] [stdout] test algorithms::factor_weight::tests::an_fst_with_no_start_state_factors_to_nothing ... ok
[INFO] [stdout] test algorithms::factor_weight::tests::the_identity_factor_leaves_the_paths_alone ... ok
[INFO] [stdout] test algorithms::intersect::tests::an_intersection_with_nothing_in_common_is_empty ... ok
[INFO] [stdout] test algorithms::factor_weight::tests::the_mode_selects_which_weights_are_split ... ok
[INFO] [stdout] test algorithms::intersect::tests::the_intersection_is_what_both_accept ... ok
[INFO] [stdout] test algorithms::intersect::tests::a_transducer_is_refused ... ok
[INFO] [stdout] test algorithms::intersect::tests::the_weights_of_both_are_kept ... ok
[INFO] [stdout] test algorithms::intersect::tests::intersecting_with_itself_gives_the_same_language ... ok
[INFO] [stdout] test algorithms::invert::tests::inverting_into_another_fst_leaves_the_input_alone ... ok
[INFO] [stdout] test algorithms::invert::tests::inverting_swaps_the_two_sides ... ok
[INFO] [stdout] test algorithms::invert::tests::inverting_twice_gives_back_the_original ... ok
[INFO] [stdout] test algorithms::invert::tests::the_symbol_tables_swap_too ... ok
[INFO] [stdout] test algorithms::isomorphic::tests::a_different_shape_is_not_isomorphic ... ok
[INFO] [stdout] test algorithms::isomorphic::tests::different_labels_are_not_isomorphic ... ok
[INFO] [stdout] test algorithms::isomorphic::tests::nondeterministic_input_is_reported_as_undecidable ... ok
[INFO] [stdout] test algorithms::isomorphic::tests::state_numbering_does_not_matter ... ok
[INFO] [stdout] test algorithms::isomorphic::tests::two_empty_fsts_are_isomorphic ... ok
[INFO] [stdout] test algorithms::isomorphic::tests::weights_still_have_to_match ... ok
[INFO] [stdout] test algorithms::label_reachable::tests::a_label_the_fst_never_carries_is_reachable_from_nowhere ... ok
[INFO] [stdout] test algorithms::label_reachable::tests::a_state_reaches_the_labels_that_can_be_read_next ... ok
[INFO] [stdout] test algorithms::label_reachable::tests::an_unsorted_fst_is_refused ... ok
[INFO] [stdout] test algorithms::isomorphic::tests::arc_order_does_not_matter ... ok
[INFO] [stdout] test algorithms::label_reachable::tests::looking_ahead_finds_the_arcs_that_can_be_matched ... ok
[INFO] [stdout] test algorithms::label_reachable::tests::the_output_side_can_be_indexed_instead ... ok
[INFO] [stdout] test algorithms::lookahead_filter::tests::a_pair_with_no_future_is_refused ... ok
[INFO] [stdout] test algorithms::lookahead_filter::tests::a_filter_that_cannot_look_ahead_is_refused ... ok
[INFO] [stdout] test algorithms::isomorphic::tests::an_empty_fst_is_not_isomorphic_to_a_non_empty_one ... ok
[INFO] [stdout] test algorithms::difference::tests::the_difference_is_the_set_difference ... ok
[INFO] [stdout] test algorithms::lookahead_filter::tests::a_pair_with_no_future_is_refused_before_any_arithmetic ... ok
[INFO] [stdout] test algorithms::lookahead_filter::tests::an_arc_that_pays_something_else_is_refused ... ok
[INFO] [stdout] test algorithms::lookahead_filter::tests::the_output_side_is_the_one_that_looks_ahead ... ok
[INFO] [stdout] test algorithms::lookahead_matcher::tests::looking_ahead_against_another_state_finds_what_can_match ... ok
[INFO] [stdout] test algorithms::lookahead_matcher::tests::one_way_forward_is_reported_as_a_prefix ... ok
[INFO] [stdout] test algorithms::lookahead_matcher::tests::the_flags_have_to_name_one_side ... ok
[INFO] [stdout] test algorithms::lookahead_filter::tests::an_arc_the_matcher_ignores_is_not_looked_at ... ok
[INFO] [stdout] test algorithms::lookahead_filter::tests::the_one_label_ahead_is_written_early_and_then_paid ... ok
[INFO] [stdout] test algorithms::lookahead_matcher::tests::the_label_matcher_answers_from_the_index ... ok
[INFO] [stdout] test algorithms::lookahead_matcher::tests::the_arc_matcher_agrees_without_an_index ... ok
[INFO] [stdout] test algorithms::lookahead_matcher::tests::the_trivial_matcher_says_yes_to_everything ... ok
[INFO] [stdout] test algorithms::lookahead_matcher::tests::what_was_found_weighs_what_it_weighs ... ok
[INFO] [stdout] test algorithms::minimize::tests::an_already_minimal_fst_is_not_made_smaller ... ok
[INFO] [stdout] test algorithms::minimize::tests::a_weighted_acceptor_is_minimized_after_pushing ... ok
[INFO] [stdout] test algorithms::minimize::tests::a_final_state_is_never_merged_with_a_non_final_one ... ok
[INFO] [stdout] test algorithms::lookahead_filter::tests::the_weight_ahead_is_pushed_and_then_divided_back_out ... ok
[INFO] [stdout] test algorithms::minimize::tests::a_cyclic_fst_is_minimized ... ok
[INFO] [stdout] test algorithms::minimize::tests::a_transducer_is_minimized_through_the_gallic_semiring ... ok
[INFO] [stdout] test algorithms::minimize::tests::a_non_deterministic_fst_needs_permission ... ok
[INFO] [stdout] test algorithms::minimize::tests::states_that_cannot_be_told_apart_become_one ... ok
[INFO] [stdout] test algorithms::project::tests::projecting_an_acceptor_is_a_no_op ... ok
[INFO] [stdout] test algorithms::intersect::tests::the_intersection_is_the_intersection_of_the_string_sets ... ok
[INFO] [stdout] test algorithms::prune::tests::an_fst_with_no_accepting_path_prunes_away ... ok
[INFO] [stdout] test algorithms::project::tests::projecting_into_another_fst_leaves_the_input_alone ... ok
[INFO] [stdout] test algorithms::prune::tests::the_state_map_says_where_each_state_went ... ok
[INFO] [stdout] test algorithms::prune::tests::the_state_threshold_caps_the_result ... ok
[INFO] [stdout] test algorithms::project::tests::projecting_keeps_one_side_on_both ... ok
[INFO] [stdout] test algorithms::project::tests::the_kept_sides_table_describes_both ... ok
[INFO] [stdout] test algorithms::project::tests::the_result_is_an_acceptor ... ok
[INFO] [stdout] test algorithms::prune::tests::a_path_further_than_the_threshold_goes ... ok
[INFO] [stdout] test algorithms::prune::tests::a_supplied_distance_is_used ... ok
[INFO] [stdout] test algorithms::push::tests::pushing_nothing_copies_the_fst ... ok
[INFO] [stdout] test algorithms::prune::tests::an_empty_fst_is_left_empty ... ok
[INFO] [stdout] test algorithms::push::tests::pushing_does_not_change_the_paths ... ok
[INFO] [stdout] test algorithms::push::tests::removing_the_total_weight_makes_the_best_path_free ... ok
[INFO] [stdout] test algorithms::push::tests::the_total_weight_is_the_same_from_either_end ... ok
[INFO] [stdout] test algorithms::push::tests::pushing_to_the_initial_state_leaves_one_behind_every_state ... ok
[INFO] [stdout] test algorithms::push::tests::pushing_labels_moves_the_output_side_forward ... ok
[INFO] [stdout] test algorithms::prune::tests::pruning_in_place_keeps_what_pruning_into_a_copy_keeps ... ok
[INFO] [stdout] test algorithms::randequivalent::tests::a_difference_in_the_weights_is_found ... ok
[INFO] [stdout] test algorithms::randequivalent::tests::a_string_only_one_of_them_has_is_found ... ok
[INFO] [stdout] test algorithms::randequivalent::tests::symbol_tables_that_disagree_are_refused ... ok
[INFO] [stdout] test algorithms::push::tests::pushing_never_changes_what_a_path_costs_in_total ... ok
[INFO] [stdout] test algorithms::push::tests::pushing_labels_and_weights_keeps_the_transduction ... ok
[INFO] [stdout] test algorithms::randequivalent::tests::no_draws_means_no_evidence ... ok
[INFO] [stdout] test algorithms::equivalent::tests::determinizing_produces_an_equivalent_fst ... ok
[INFO] [stdout] test algorithms::randgen::tests::a_zero_weight_arc_is_never_drawn ... ok
[INFO] [stdout] test algorithms::randgen::tests::every_drawn_path_is_a_path_of_the_input ... ok
[INFO] [stdout] test algorithms::randgen::tests::the_length_limit_stops_the_walk ... ok
[INFO] [stdout] test algorithms::randgen::tests::the_seed_decides_what_is_drawn ... ok
[INFO] [stdout] test algorithms::randgen::tests::a_weighted_draw_records_how_often_each_path_was_taken ... ok
[INFO] [stdout] test algorithms::randgen::tests::drawing_enough_paths_reaches_every_branch ... ok
[INFO] [stdout] test algorithms::randgen::tests::one_draw_gives_one_path ... ok
[INFO] [stdout] test algorithms::label_reachable::tests::the_intervals_agree_with_walking_on_any_fst ... ok
[INFO] [stdout] test algorithms::randequivalent::tests::an_fst_agrees_with_itself ... ok
[INFO] [stdout] test algorithms::randequivalent::tests::the_same_language_written_differently_agrees ... ok
[INFO] [stdout] test algorithms::randgen::tests::there_is_nothing_to_draw_from_nothing ... ok
[INFO] [stdout] test algorithms::rational::tests::a_closure_recipe_repeats_what_was_built ... ok
[INFO] [stdout] test algorithms::prune::tests::no_path_within_the_threshold_is_lost ... ok
[INFO] [stdout] test algorithms::rational::tests::a_union_recipe_expands_to_the_union ... ok
[INFO] [stdout] test algorithms::rational::tests::a_concat_recipe_expands_to_the_concatenation ... ok
[INFO] [stdout] test algorithms::rational::tests::an_empty_recipe_expands_to_nothing ... ok
[INFO] [stdout] test algorithms::rational::tests::an_operand_is_stored_once ... ok
[INFO] [stdout] test algorithms::prune::tests::an_arc_survives_exactly_when_the_best_path_through_it_does ... ok
[INFO] [stdout] test algorithms::minimize::tests::minimizing_is_idempotent ... ok
[INFO] [stdout] test algorithms::relabel::tests::a_mapping_to_no_label_is_refused_before_anything_changes ... ok
[INFO] [stdout] test algorithms::replace::tests::a_network_of_one_fst_is_a_copy_of_it ... ok
[INFO] [stdout] test algorithms::rational::tests::prepending_puts_the_operand_first ... ok
[INFO] [stdout] test algorithms::replace::tests::a_non_terminal_becomes_the_fst_it_names ... ok
[INFO] [stdout] test algorithms::relabel::tests::labels_with_a_mapping_are_renamed_and_the_rest_are_left_alone ... ok
[INFO] [stdout] test algorithms::replace::tests::a_recursive_rule_is_refused ... ok
[INFO] [stdout] test algorithms::relabel::tests::relabelling_leaves_the_structure_alone ... ok
[INFO] [stdout] test algorithms::replace::tests::a_call_into_an_empty_fst_is_dropped ... ok
[INFO] [stdout] test algorithms::relabel::tests::an_unknown_symbol_that_is_itself_missing_is_refused ... ok
[INFO] [stdout] test algorithms::replace::tests::a_cycle_the_root_never_calls_does_not_matter ... ok
[INFO] [stdout] test algorithms::replace::tests::every_state_of_the_result_is_reachable ... ok
[INFO] [stdout] test algorithms::relabel::tests::label_properties_are_given_up ... ok
[INFO] [stdout] test algorithms::replace::tests::the_claimed_properties_are_the_ones_the_result_has ... ok
[INFO] [stdout] test algorithms::replace::tests::expanding_agrees_with_substituting_by_hand ... ok
[INFO] [stdout] test algorithms::replace::tests::an_empty_root_gives_an_empty_result ... ok
[INFO] [stdout] test algorithms::replace::tests::stacks_with_the_same_contents_are_the_same_state ... ok
[INFO] [stdout] test algorithms::relabel::tests::a_symbol_the_new_table_lacks_is_refused_or_mapped_to_the_unknown_one ... ok
[INFO] [stdout] test algorithms::replace::tests::calls_nest ... ok
[INFO] [stdout] test algorithms::replace::tests::the_weights_of_the_call_and_the_return_are_both_kept ... ok
[INFO] [stdout] test algorithms::replace::tests::the_label_types_decide_what_the_call_and_return_arcs_carry ... ok
[INFO] [stdout] test algorithms::replace_util::tests::a_rule_over_the_size_limit_is_left_alone ... ok
[INFO] [stdout] test algorithms::replace_util::tests::a_non_terminal_on_a_cycle_is_neither_linear ... ok
[INFO] [stdout] test algorithms::replace_util::tests::a_right_linear_component_is_recognized ... ok
[INFO] [stdout] test algorithms::replace_util::tests::a_root_naming_no_fst_is_refused ... ok
[INFO] [stdout] test algorithms::replace_util::tests::an_acyclic_network_has_only_trivial_components ... ok
[INFO] [stdout] test algorithms::replace_util::tests::component_properties_are_recorded_against_the_component ... ok
[INFO] [stdout] test algorithms::replace_util::tests::connecting_drops_what_no_path_can_use ... ok
[INFO] [stdout] test algorithms::replace_util::tests::a_left_linear_component_is_recognized ... ok
[INFO] [stdout] test algorithms::relabel::tests::symbol_tables_decide_the_new_numbering ... ok
[INFO] [stdout] test algorithms::replace_util::tests::expanding_labels_that_call_each_other_is_refused ... ok
[INFO] [stdout] test algorithms::replace_util::tests::expanding_a_label_folds_it_into_its_caller ... ok
[INFO] [stdout] test algorithms::replace_util::tests::recursion_in_the_calls_is_reported ... ok
[INFO] [stdout] test algorithms::replace_util::tests::the_root_is_never_expanded ... ok
[INFO] [stdout] test algorithms::replace_util::tests::trivial_rules_are_folded_away ... ok
[INFO] [stdout] test algorithms::replace_util::tests::rules_called_once_are_folded_away ... ok
[INFO] [stdout] test algorithms::reverse::tests::test_reverse_without_superinitial ... ok
[INFO] [stdout] test algorithms::reverse::tests::test_reverse_with_superinitial ... ok
[INFO] [stdout] test algorithms::replace::tests::a_root_that_names_no_fst_is_refused ... ok
[INFO] [stdout] test algorithms::reweight::tests::a_state_with_no_potential_is_untouched_when_reweighting_to_initial ... ok
[INFO] [stdout] test algorithms::replace_util::tests::expansion_goes_bottom_up ... ok
[INFO] [stdout] test algorithms::replace::tests::a_call_returns_to_where_it_came_from ... ok
[INFO] [stdout] test algorithms::minimize::tests::minimizing_keeps_the_language_and_does_not_grow_the_fst ... ok
[INFO] [stdout] test algorithms::reweight::tests::a_state_with_no_potential_stops_being_final_when_reweighting_to_final ... ok
[INFO] [stdout] test algorithms::reweight::tests::an_empty_fst_is_left_alone ... ok
[INFO] [stdout] test algorithms::replace_util::tests::expanding_some_rules_does_not_change_the_language ... ok
[INFO] [stdout] test algorithms::reweight::tests::test_reweight_to_final ... ok
[INFO] [stdout] test algorithms::rmepsilon::tests::an_epsilon_arc_folds_into_what_follows_it ... ok
[INFO] [stdout] test algorithms::rmfinalepsilon::tests::an_epsilon_only_final_state_is_folded_into_the_state_before_it ... ok
[INFO] [stdout] test algorithms::rmepsilon::tests::an_epsilon_into_a_final_state_makes_the_source_final ... ok
[INFO] [stdout] test algorithms::rmepsilon::tests::an_fst_without_epsilons_is_unchanged ... ok
[INFO] [stdout] test algorithms::rmepsilon::tests::two_routes_to_the_same_arc_become_one ... ok
[INFO] [stdout] test algorithms::rmfinalepsilon::tests::an_fst_with_nothing_to_remove_is_left_alone ... ok
[INFO] [stdout] test algorithms::reweight::tests::test_reweight_to_initial ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::a_retained_run_agrees_with_a_fresh_one_wherever_it_reached ... ok
[INFO] [stdout] test algorithms::rmepsilon::tests::a_cycle_of_epsilons_settles ... ok
[INFO] [stdout] test algorithms::reverse::tests::reversing_transduces_the_reversed_strings ... ok
[INFO] [stdout] test algorithms::rmepsilon::tests::removing_epsilons_can_prune_as_it_goes ... ok
[INFO] [stdout] test algorithms::rmfinalepsilon::tests::a_final_state_with_a_useful_future_is_kept ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::an_fst_with_no_start_state_has_no_distances ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::a_cycle_settles ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::an_arc_filter_limits_which_arcs_are_followed ... ok
[INFO] [stdout] test algorithms::rmepsilon::tests::without_connecting_the_unreachable_states_stay ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::the_log_semiring_sums_over_every_path ... ok
[INFO] [stdout] test algorithms::rmfinalepsilon::tests::a_final_state_reached_by_a_labelled_arc_is_kept ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::the_reverse_distance_is_the_way_out_to_a_final_state ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::the_source_can_be_any_state ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::stopping_at_the_first_final_state_needs_the_path_property ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::the_total_is_the_lightest_accepting_path ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::a_weight_threshold_drops_what_is_too_heavy ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::asking_for_no_paths_gives_none ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::one_distinct_path_is_the_shortest_path ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::the_n_shortest_paths_are_the_n_lightest ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::the_same_string_twice_comes_back_once ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::the_shortest_path_goes_the_cheaper_way_round ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::a_single_path_honours_the_pruning_thresholds ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::the_shortest_path_is_the_lightest_one ... ok
[INFO] [stdout] test algorithms::state_map::tests::an_fst_with_no_start_state_is_left_alone ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::an_fst_with_no_accepting_path_has_none ... ok
[INFO] [stdout] test algorithms::state_map::tests::mapping_into_another_fst_leaves_the_input_alone ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::distinct_input_strings_takes_an_acceptor ... ok
[INFO] [stdout] test algorithms::state_map::tests::summing_combines_arcs_that_do_the_same_thing ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::the_total_agrees_with_enumerating_accepting_paths ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::the_distance_is_the_lightest_way_to_each_state ... ok
[INFO] [stdout] test algorithms::state_map::tests::summing_preserves_what_the_fst_accepts ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::the_distance_agrees_with_enumerating_every_path ... ok
[INFO] [stdout] test algorithms::state_map::tests::uniquing_keeps_arcs_that_differ_in_weight ... ok
[INFO] [stdout] test algorithms::state_map::tests::the_identity_mapper_reproduces_the_fst ... ok
[INFO] [stdout] test algorithms::state_reachable::tests::a_branching_fst_reaches_the_final_states_down_each_branch ... ok
[INFO] [stdout] test algorithms::state_reachable::tests::a_chain_reaches_the_final_states_after_it ... ok
[INFO] [stdout] test algorithms::state_map::tests::uniquing_gives_the_same_answer_however_the_arcs_arrive ... ok
[INFO] [stdout] test algorithms::state_reachable::tests::a_cyclic_fst_is_answered_through_its_components ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::the_shortest_path_weighs_what_the_shortest_distance_says ... ok
[INFO] [stdout] test algorithms::reweight::tests::reweighting_leaves_every_path_weighing_what_it_did ... ok
[INFO] [stdout] test algorithms::state_reachable::tests::a_shared_final_state_is_reachable_from_both_sides ... ok
[INFO] [stdout] test algorithms::state_reachable::tests::a_state_that_is_not_final_is_never_reported_reachable ... ok
[INFO] [stdout] test algorithms::state_reachable::tests::an_fst_with_no_final_states_reaches_nothing ... ok
[INFO] [stdout] test algorithms::state_sort::tests::test_state_sort_error ... ok
[INFO] [stdout] test algorithms::state_sort::tests::an_fst_with_no_start_state_is_left_alone ... ok
[INFO] [stdout] test algorithms::state_sort::tests::an_order_that_is_not_a_permutation_is_refused ... ok
[INFO] [stdout] test algorithms::state_reachable::tests::a_final_state_inside_a_cycle_is_refused ... ok
[INFO] [stdout] test algorithms::state_sort::tests::test_state_sort ... ok
[INFO] [stdout] test algorithms::synchronize::tests::an_already_synchronized_fst_keeps_its_paths ... ok
[INFO] [stdout] test algorithms::synchronize::tests::an_fst_with_no_start_state_synchronizes_to_nothing ... ok
[INFO] [stdout] test algorithms::synchronize::tests::the_delay_never_comes_back_down ... ok
[INFO] [stdout] test algorithms::test_properties::tests::a_mask_that_needs_no_search_does_not_settle_search_properties ... ok
[INFO] [stdout] test algorithms::synchronize::tests::synchronizing_pairs_the_labels_up ... ok
[INFO] [stdout] test algorithms::state_sort::tests::the_identity_permutation_changes_nothing ... ok
[INFO] [stdout] test algorithms::rmfinalepsilon::tests::removing_final_epsilons_preserves_the_language ... ok
[INFO] [stdout] test algorithms::shortest_distance::tests::the_queue_discipline_never_changes_the_answer ... ok
[INFO] [stdout] test algorithms::synchronize::tests::a_zero_delay_cycle_terminates ... ok
[INFO] [stdout] test algorithms::test_properties::tests::an_fst_with_no_start_state_is_scanned_without_reading_past_the_components ... ok
[INFO] [stdout] test algorithms::test_properties::tests::checking_settles_the_test_mask_only_when_the_check_mask_forces_a_scan ... ok
[INFO] [stdout] test algorithms::test_properties::tests::discovering_leaves_settled_bits_alone ... ok
[INFO] [stdout] test algorithms::test_properties::tests::discovering_takes_nothing_outside_the_mask ... ok
[INFO] [stdout] test algorithms::synchronize::tests::synchronizing_preserves_what_the_transducer_maps ... ok
[INFO] [stdout] test algorithms::test_properties::tests::stored_properties_are_used_when_they_cover_the_mask ... ok
[INFO] [stdout] test algorithms::test_properties::tests::testing_settles_unknown_properties_and_keeps_them ... ok
[INFO] [stdout] test algorithms::state_sort::tests::renumbering_moves_every_state_intact ... ok
[INFO] [stdout] test algorithms::test_properties::tests::setting_replaces_what_discovering_would_have_kept ... ok
[INFO] [stdout] test algorithms::test_properties::tests::everything_asked_for_comes_back_known ... ok
[INFO] [stdout] test algorithms::test_properties::tests::verifying_reports_a_cache_that_contradicts_the_fst ... ok
[INFO] [stdout] test algorithms::topsort::tests::a_cyclic_fst_is_left_alone ... ok
[INFO] [stdout] test algorithms::topsort::tests::a_self_loop_is_a_cycle ... ok
[INFO] [stdout] test algorithms::topsort::tests::an_fst_with_no_start_state_is_left_alone_and_nothing_is_claimed ... ok
[INFO] [stdout] test algorithms::topsort::tests::no_order_is_reported_for_a_cyclic_fst ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::the_n_distinct_paths_are_the_n_lightest_strings ... ok
[INFO] [stdout] test algorithms::union::tests::the_union_accepts_what_either_accepts ... ok
[INFO] [stdout] test algorithms::union::tests::a_union_with_nothing_is_the_original ... ok
[INFO] [stdout] test algorithms::verify::tests::a_missing_start_state_is_a_fault_only_once_there_are_states ... ok
[INFO] [stdout] test algorithms::union::tests::unioning_several_at_once_is_unioning_each ... ok
[INFO] [stdout] test algorithms::union::tests::symbol_tables_that_disagree_are_refused ... ok
[INFO] [stdout] test algorithms::verify::tests::a_start_state_outside_the_fst_is_a_fault ... ok
[INFO] [stdout] test algorithms::verify::tests::a_weight_outside_the_semiring_is_a_fault ... ok
[INFO] [stdout] test algorithms::verify::tests::a_well_formed_fst_passes ... ok
[INFO] [stdout] test algorithms::topsort::tests::sorting_preserves_the_states_and_their_arcs ... ok
[INFO] [stdout] test algorithms::union::tests::a_union_into_nothing_is_the_other ... ok
[INFO] [stdout] test algorithms::verify::tests::a_label_missing_from_its_symbol_table_is_a_fault ... ok
[INFO] [stdout] test algorithms::union::tests::a_cycle_through_the_start_state_forces_a_new_one ... ok
[INFO] [stdout] test algorithms::topsort::tests::every_arc_goes_forwards_afterwards ... ok
[INFO] [stdout] test algorithms::verify::tests::an_fst_carrying_the_error_bit_is_a_fault ... ok
[INFO] [stdout] test algorithms::verify::tests::negative_labels_are_refused_unless_allowed ... ok
[INFO] [stdout] test algorithms::rmepsilon::tests::removing_epsilons_leaves_none_and_keeps_the_language ... ok
[INFO] [stdout] test algorithms::verify::tests::an_arc_leading_to_a_negative_state_is_a_fault ... ok
[INFO] [stdout] test algorithms::verify::tests::an_arc_leading_outside_the_fst_is_a_fault ... ok
[INFO] [stdout] test algorithms::verify::tests::property_bits_that_contradict_the_contents_are_a_fault ... ok
[INFO] [stdout] test algorithms::visit::tests::a_partial_visit_stops_at_its_limit ... ok
[INFO] [stdout] test algorithms::visit::tests::a_partial_copy_stops_at_its_limit ... ok
[INFO] [stdout] test algorithms::visit::tests::aborting_finishes_every_state_still_queued ... ok
[INFO] [stdout] test algorithms::visit::tests::every_state_is_initialized_once_and_finished_once ... ok
[INFO] [stdout] test algorithms::union::tests::the_union_is_the_union_of_the_two_languages ... ok
[INFO] [stdout] test algorithms::visit::tests::test_visit_copy_dfs ... ok
[INFO] [stdout] test algorithms::visit::tests::test_visit_copy_bfs ... ok
[INFO] [stdout] test algorithms::shortest_path::tests::the_n_shortest_paths_are_the_n_lightest_of_all_of_them ... ok
[INFO] [stdout] test arc::tests::a_reversed_wrapper_arc_keeps_its_type_name ... ok
[INFO] [stdout] test arc::tests::a_wrapper_arc_carries_its_fields_too ... ok
[INFO] [stdout] test algorithms::test_properties::tests::a_scan_agrees_with_the_definitions_it_implements ... ok
[INFO] [stdout] test algorithms::test_properties::tests::the_incrementally_maintained_cache_agrees_with_a_scan ... ok
[INFO] [stdout] test arc::tests::an_arc_carries_its_four_fields ... ok
[INFO] [stdout] test arc::tests::arc_type_names_match_openfst ... ok
[INFO] [stdout] test arc::tests::the_standard_arc_is_four_words ... ok
[INFO] [stdout] test arc::tests::the_wrapper_arcs_decorate_the_base_name ... ok
[INFO] [stdout] test arc::tests::the_special_labels_are_what_openfst_uses ... ok
[INFO] [stdout] test arc_filter::tests::a_label_filter_can_match_either_side_and_invert ... ok
[INFO] [stdout] test algorithms::visit::tests::copying_through_a_visit_reproduces_the_fst ... ok
[INFO] [stdout] test arc_filter::tests::a_multi_label_filter_can_invert_and_match_the_output_side ... ok
[INFO] [stdout] test arc_filter::tests::an_empty_multi_label_filter_matches_nothing ... ok
[INFO] [stdout] test arc_filter::tests::a_multi_label_filter_matches_any_of_its_labels ... ok
[INFO] [stdout] test arc::tests::the_tropical_arc_is_called_standard ... ok
[INFO] [stdout] test arc_filter::tests::any_accepts_everything ... ok
[INFO] [stdout] test arc_filter::tests::the_epsilon_filters_do_not_assume_an_i32_label ... ok
[INFO] [stdout] test arc_filter::tests::the_epsilon_filters_look_at_the_side_they_name ... ok
[INFO] [stdout] test algorithms::rational::tests::the_recipe_expands_to_what_the_eager_operations_give ... ok
[INFO] [stdout] test cache::tests::without_collection_a_state_is_expanded_once ... ok
[INFO] [stdout] test data_structures::bi_table::tests::clearing_restarts_the_id_space ... ok
[INFO] [stdout] test data_structures::bi_table::tests::compact_hash_bi_table_follows_the_contract ... ok
[INFO] [stdout] test cache::tests::test_byte_based_gc_eviction ... ok
[INFO] [stdout] test data_structures::bi_table::tests::erasing_keeps_the_remaining_ids_stable ... ok
[INFO] [stdout] test data_structures::bi_table::tests::test_compact_hash_bi_table ... ok
[INFO] [stdout] test data_structures::bi_table::tests::test_erasable_bi_table ... ok
[INFO] [stdout] test data_structures::bi_table::tests::vector_bi_table_follows_the_contract ... ok
[INFO] [stdout] test data_structures::compact_set::tests::clearing_resets_everything ... ok
[INFO] [stdout] test data_structures::bit_set::tests::test_growable_bitset ... ok
[INFO] [stdout] test cache::tests::arcs_already_handed_out_survive_an_eviction ... ok
[INFO] [stdout] test data_structures::bit_set::tests::intersect_reports_only_an_actual_change_across_different_domains ... ok
[INFO] [stdout] test data_structures::bit_set::tests::test_dense_bitset ... ok
[INFO] [stdout] test data_structures::bi_table::tests::erasable_bi_table_follows_the_contract ... ok
[INFO] [stdout] test data_structures::bi_table::tests::compact_hash_bi_table_separates_colliding_entries ... ok
[INFO] [stdout] test data_structures::bi_table::tests::vector_bi_table_does_not_grow_on_a_failed_lookup ... ok
[INFO] [stdout] test data_structures::bi_table::tests::vector_hash_bi_table_shares_one_id_space_across_both_halves ... ok
[INFO] [stdout] test data_structures::bi_table::tests::hash_bi_table_follows_the_contract ... ok
[INFO] [stdout] test data_structures::compact_set::tests::erasing_an_absent_key_leaves_the_set_alone ... ok
[INFO] [stdout] test data_structures::compact_set::tests::erasing_an_endpoint_tightens_the_bound ... ok
[INFO] [stdout] test data_structures::compact_set::tests::erasing_the_last_key_resets_the_bounds ... ok
[INFO] [stdout] test data_structures::compact_set::tests::erasing_zero_does_not_underflow_the_upper_bound ... ok
[INFO] [stdout] test cache::tests::a_cache_that_evicts_answers_the_same_as_one_that_does_not ... ok
[INFO] [stdout] test data_structures::compact_set::tests::inserting_a_key_twice_changes_nothing ... ok
[INFO] [stdout] test data_structures::compact_set::tests::membership_and_bounds_track_the_contents ... ok
[INFO] [stdout] test data_structures::compact_set::tests::signed_keys_work_and_exclude_the_sentinel ... ok
[INFO] [stdout] test data_structures::compact_set::tests::the_dense_fast_path_agrees_with_a_real_lookup ... ok
[INFO] [stdout] test data_structures::indexed_heap::tests::clear_releases_keys_and_keeps_capacity ... ok
[INFO] [stdout] test data_structures::indexed_heap::tests::every_value_is_dropped_exactly_once ... ok
[INFO] [stdout] test data_structures::indexed_heap::tests::get_returns_none_for_a_popped_key ... ok
[INFO] [stdout] test data_structures::indexed_heap::tests::keys_are_recycled_rather_than_growing_without_bound ... ok
[INFO] [stdout] test data_structures::indexed_heap::tests::update_moves_an_element_both_ways ... ok
[INFO] [stdout] test algorithms::equivalent::tests::equivalence_is_decided_by_the_strings_and_nothing_else ... ok
[INFO] [stdout] test data_structures::compact_set::tests::iteration_is_sorted_regardless_of_insertion_order ... ok
[INFO] [stdout] test data_structures::indexed_heap::tests::update_of_the_root_does_not_underflow ... ok
[INFO] [stdout] test data_structures::indexed_heap::tests::works_as_a_max_heap ... ok
[INFO] [stdout] test data_structures::indexed_heap::tests::pops_in_priority_order ... ok
[INFO] [stdout] test data_structures::interval_set::tests::an_empty_set_behaves ... ok
[INFO] [stdout] test data_structures::interval_set::tests::normalize_is_idempotent ... ok
[INFO] [stdout] test data_structures::interval_set::tests::normalize_merges_overlapping_and_adjacent_intervals ... ok
[INFO] [stdout] test data_structures::interval_set::tests::test_intersect ... ok
[INFO] [stdout] test data_structures::interval_set::tests::test_member ... ok
[INFO] [stdout] test data_structures::interval_set::tests::test_normalize ... ok
[INFO] [stdout] test data_structures::partition::tests::finalize_split_moves_out_the_smaller_subset ... ok
[INFO] [stdout] test data_structures::partition::tests::several_classes_split_in_one_round ... ok
[INFO] [stdout] test data_structures::partition::tests::split_on_is_idempotent_within_a_round ... ok
[INFO] [stdout] test data_structures::partition::tests::iterating_a_class_is_repeatable ... ok
[INFO] [stdout] test data_structures::state_table::tests::a_generic_table_is_a_bijection ... ok
[INFO] [stdout] test data_structures::state_table::tests::a_tuples_filter_state_number_is_the_filter_states_own ... ok
[INFO] [stdout] test data_structures::partition::tests::splitting_every_member_creates_no_new_class ... ok
[INFO] [stdout] test data_structures::state_table::tests::a_product_table_is_a_bijection ... ok
[INFO] [stdout] test data_structures::partition::tests::test_partition_move ... ok
[INFO] [stdout] test data_structures::partition::tests::successive_rounds_start_with_an_empty_yes_subset ... ok
[INFO] [stdout] test data_structures::state_table::tests::an_erasable_table_is_a_bijection ... ok
[INFO] [stdout] test data_structures::state_table::tests::erasing_lets_a_table_forget_a_state ... ok
[INFO] [stdout] test data_structures::partition::tests::test_partition_basic ... ok
[INFO] [stdout] test data_structures::partition::tests::random_refinement_keeps_the_partition_consistent ... ok
[INFO] [stdout] test data_structures::state_table::tests::test_erasable_compose_state_table ... ok
[INFO] [stdout] test data_structures::partition::tests::initialize_resets_a_partition_with_a_pending_split ... ok
[INFO] [stdout] test data_structures::state_table::tests::test_product_compose_state_table ... ok
[INFO] [stdout] test data_structures::union_find::tests::make_set_grows_the_forest_on_demand ... ok
[INFO] [stdout] test data_structures::state_table::tests::the_compose_fingerprint_separates_every_tuple_of_the_product ... ok
[INFO] [stdout] test data_structures::union_find::tests::make_set_resets_the_rank ... ok
[INFO] [stdout] test data_structures::union_find::tests::many_unions_keep_the_forest_shallow ... ok
[INFO] [stdout] test data_structures::union_find::tests::find_set_flattens_the_path_it_walks ... ok
[INFO] [stdout] test data_structures::state_table::tests::the_one_sided_tables_are_bijections_over_the_side_they_key_on ... ok
[INFO] [stdout] test data_structures::state_table::tests::test_generic_compose_state_table ... ok
[INFO] [stdout] test data_structures::union_find::tests::make_all_set_resets_the_rank ... ok
[INFO] [stdout] test data_structures::union_find::tests::test_union_find_basic ... ok
[INFO] [stdout] test data_structures::union_find::tests::union_with_an_uninitialized_element_is_a_no_op ... ok
[INFO] [stdout] test expander_cache::tests::a_builder_counts_epsilons_on_each_side ... ok
[INFO] [stdout] test data_structures::union_find::tests::union_by_rank_keeps_the_deeper_tree_on_top ... ok
[INFO] [stdout] test data_structures::union_find::tests::test_dynamic_make_set ... ok
[INFO] [stdout] test data_structures::state_table::tests::test_string_det_compose_state_table_error ... ok
[INFO] [stdout] test expander_cache::tests::a_clone_shares_nothing::vector ... ok
[INFO] [stdout] test expander_cache::tests::a_re_entrant_expander_keeps_both_states::arc_arena ... ok
[INFO] [stdout] test expander_cache::tests::a_clone_shares_nothing::hash ... ok
[INFO] [stdout] test expander_cache::tests::a_re_entrant_expander_keeps_both_states::hash ... ok
[INFO] [stdout] test expander_cache::tests::a_state_is_expanded_once::arc_arena ... ok
[INFO] [stdout] test expander_cache::tests::a_re_entrant_expander_keeps_both_states::vector ... ok
[INFO] [stdout] test expander_cache::tests::a_state_is_expanded_once::hash ... ok
[INFO] [stdout] test expander_cache::tests::a_state_is_expanded_once::vector ... ok
[INFO] [stdout] test expander_cache::tests::find_does_not_expand::arc_arena ... ok
[INFO] [stdout] test expander_cache::tests::find_does_not_expand::hash ... ok
[INFO] [stdout] test expander_cache::tests::find_does_not_expand::vector ... ok
[INFO] [stdout] test expander_cache::tests::sparse_state_ids_are_cached_where_they_belong::arc_arena ... ok
[INFO] [stdout] test expander_cache::tests::sparse_state_ids_are_cached_where_they_belong::hash ... ok
[INFO] [stdout] test data_structures::union_find::tests::union_of_elements_already_together_changes_nothing ... ok
[INFO] [stdout] test data_structures::state_table::tests::the_one_sided_fingerprints_read_the_side_they_name ... ok
[INFO] [stdout] test expander_cache::tests::views_survive_later_expansions::arc_arena ... ok
[INFO] [stdout] test expander_cache::tests::the_arena_store_packs_states_into_shared_blocks ... ok
[INFO] [stdout] test expander_cache::tests::a_clone_shares_nothing::arc_arena ... ok
[INFO] [stdout] test data_structures::union_find::tests::find_set_reports_uninitialized_and_out_of_range_elements ... ok
[INFO] [stdout] test expander_cache::tests::sparse_state_ids_are_cached_where_they_belong::vector ... ok
[INFO] [stdout] test fst::arc_range_tests::contiguous_arcs_are_a_slice ... ok
[INFO] [stdout] test fst::tests::a_header_supplied_by_the_caller_is_not_read_from_the_stream ... ok
[INFO] [stdout] test fst::tests::a_mismatched_type_version_or_arc_is_refused ... ok
[INFO] [stdout] test fst::tests::alignment_is_recorded_in_the_flags ... ok
[INFO] [stdout] test fst::tests::an_fst_that_does_not_know_its_size_is_counted ... ok
[INFO] [stdout] test fst::tests::a_header_and_its_symbols_round_trip ... ok
[INFO] [stdout] test fst::tests::expanded_fsts_agree_with_themselves_about_their_size ... ok
[INFO] [stdout] test expander_cache::tests::views_survive_later_expansions::hash ... ok
[INFO] [stdout] test fst::tests::read_modes_round_trip_through_their_names ... ok
[INFO] [stdout] test expander_cache::tests::views_survive_later_expansions::vector ... ok
[INFO] [stdout] test fst::arc_range_tests::arcs_are_iterable_and_searchable_without_a_wrapper ... ok
[INFO] [stdout] test fst::tests::options_and_headers_print_the_way_openfst_prints_them ... ok
[INFO] [stdout] test fst_header::tests::a_header_round_trips ... ok
[INFO] [stdout] test fst::tests::unwanted_symbols_are_still_read_past ... ok
[INFO] [stdout] test fst_header::tests::peeking_restores_the_position_on_a_mismatch ... ok
[INFO] [stdout] test fst::tests::supplied_symbols_replace_the_files_own ... ok
[INFO] [stdout] test fst_header::tests::a_truncated_header_is_an_error ... ok
[INFO] [stdout] test fst_header::tests::the_magic_number_is_what_openfst_uses ... ok
[INFO] [stdout] test fst_header::tests::a_header_serializes_to_the_bytes_openfst_writes ... ok
[INFO] [stdout] test fst::tests::writing_can_be_told_to_skip_the_header_or_a_table ... ok
[INFO] [stdout] test fst_type::tests::fst_type_names_round_trip ... ok
[INFO] [stdout] test fst_type::tests::an_unknown_fst_type_is_rejected ... ok
[INFO] [stdout] test fst_type::tests::size_suffixes_follow_the_upstream_spelling ... ok
[INFO] [stdout] test fst_type::tests::arc_type_names_round_trip_and_unknown_ones_are_kept ... ok
[INFO] [stdout] test fst_type::tests::fst_type_names_are_distinct ... ok
[INFO] [stdout] test fsts::any_fst::tests::a_header_naming_a_type_sicada_cannot_read_is_refused ... ok
[INFO] [stdout] test fst_header::tests::a_wrong_magic_number_is_rejected ... ok
[INFO] [stdout] test fsts::any_fst::tests::a_mapped_format_reads_from_a_file ... ok
[INFO] [stdout] test fsts::any_fst::tests::an_edit_fst_keeps_the_symbol_tables_of_what_it_wraps ... ok
[INFO] [stdout] test fsts::any_fst::tests::an_edit_fst_round_trips_with_whatever_it_wraps ... ok
[INFO] [stdout] test fsts::any_fst::tests::the_names_a_header_can_carry_and_the_types_that_can_be_read_agree ... ok
[INFO] [stdout] test fst_header::tests::the_flag_values_match_openfst ... ok
[INFO] [stdout] test fsts::any_fst::tests::every_format_is_recognized_from_its_header ... ok
[INFO] [stdout] test fsts::any_fst::tests::an_edit_fst_can_wrap_another_one ... ok
[INFO] [stdout] test fsts::compact_fst::tests::a_file_that_lies_about_its_shape_is_refused ... ok
[INFO] [stdout] test fsts::compact_fst::tests::a_compact_fst_round_trips ... ok
[INFO] [stdout] test fsts::compact_fst::tests::an_fst_the_compactor_cannot_represent_is_refused ... ok
[INFO] [stdout] test fsts::compact_fst::tests::symbol_tables_survive_the_round_trip ... ok
[INFO] [stdout] test fsts::compact_fst::tests::test_compact_acceptor ... ok
[INFO] [stdout] test fsts::any_fst::tests::writing_what_was_read_gives_the_same_bytes ... ok
[INFO] [stdout] test fsts::compact_fst::tests::test_compact_string ... ok
[INFO] [stdout] test fsts::complement_fst::tests::an_input_with_no_start_state_complements_to_everything ... ok
[INFO] [stdout] test fsts::any_fst::tests::an_edit_fst_writes_the_same_bytes_every_time ... ok
[INFO] [stdout] test fsts::compact_fst::tests::test_compact_string_64 ... ok
[INFO] [stdout] test fsts::any_fst::tests::an_fst_of_the_wrong_arc_type_is_refused ... ok
[INFO] [stdout] test fsts::complement_fst::tests::the_new_state_is_final_and_loops_to_itself ... ok
[INFO] [stdout] test fsts::complement_fst::tests::an_input_that_is_not_a_deterministic_unweighted_acceptor_is_refused ... ok
[INFO] [stdout] test fsts::const_fst::tests::an_arc_leading_outside_the_fst_is_caught_when_verifying ... ok
[INFO] [stdout] test fsts::const_fst::tests::a_const_fst_round_trips_through_a_file ... ok
[INFO] [stdout] test fsts::const_fst::tests::a_const_fst_round_trips_through_a_stream ... ok
[INFO] [stdout] test fsts::const_fst::tests::test_const_fst_64 ... ok
[INFO] [stdout] test fsts::compact_fst::tests::an_aligned_compact_fst_round_trips ... ok
[INFO] [stdout] test fsts::const_fst::tests::an_aligned_file_round_trips_and_is_padded ... ok
[INFO] [stdout] test fsts::const_fst::tests::the_on_disk_structures_are_laid_out_as_openfst_lays_them_out ... ok
[INFO] [stdout] test fsts::const_fst::tests::test_const_fst_empty ... ok
[INFO] [stdout] test fsts::const_fst::tests::the_state_and_arc_blocks_are_the_bytes_openfst_writes ... ok
[INFO] [stdout] test fsts::const_fst::tests::version_one_is_read_as_aligned_even_without_the_flag ... ok
[INFO] [stdout] test fsts::edit_fst::tests::an_unedited_fst_reads_exactly_as_the_one_it_wraps ... ok
[INFO] [stdout] test fsts::complement_fst::tests::the_complement_accepts_exactly_what_the_input_rejects ... ok
[INFO] [stdout] test fsts::edit_fst::tests::new_states_are_numbered_after_the_wrapped_ones ... ok
[INFO] [stdout] test fsts::const_fst::tests::test_const_fst_basic ... ok
[INFO] [stdout] test fsts::edit_fst::tests::editing_one_state_copies_only_that_state ... ok
[INFO] [stdout] test fsts::const_fst::tests::symbol_tables_survive_the_round_trip ... ok
[INFO] [stdout] test fsts::complement_fst::tests::the_claimed_properties_are_consistent ... ok
[INFO] [stdout] test fsts::expander_fst::tests::a_state_is_expanded_once_however_often_it_is_visited ... ok
[INFO] [stdout] test fsts::expander_fst::tests::a_state_iterator_expands_each_state_once ... ok
[INFO] [stdout] test fsts::edit_fst::tests::setting_a_final_weight_does_not_copy_the_arcs ... ok
[INFO] [stdout] test fsts::expander_fst::tests::a_state_reports_what_the_expander_wrote ... ok
[INFO] [stdout] test fsts::matcher_fst::tests::a_file_of_another_type_is_refused ... ok
[INFO] [stdout] test fsts::matcher_fst::tests::it_is_the_fst_it_wraps ... ok
[INFO] [stdout] test fsts::edit_fst::tests::a_final_weight_set_first_survives_a_later_arc_edit ... ok
[INFO] [stdout] test fsts::edit_fst::tests::rewriting_arcs_goes_through_the_copy ... ok
[INFO] [stdout] test fsts::expander_fst::tests::iterators_over_earlier_states_survive_later_expansions ... ok
[INFO] [stdout] test fsts::matcher_fst::tests::the_output_index_indexes_output_labels ... ok
[INFO] [stdout] test fsts::expander_fst::tests::nothing_is_claimed_until_the_fst_is_scanned ... ok
[INFO] [stdout] test fsts::const_fst::tests::a_file_that_lies_about_its_shape_is_refused ... ok
[INFO] [stdout] test fsts::edit_fst::tests::deleting_arcs_leaves_the_wrapped_fst_alone ... ok
[INFO] [stdout] test fsts::edit_fst::tests::the_start_state_can_be_moved ... ok
[INFO] [stdout] test fsts::expander_fst::tests::a_state_iterator_follows_an_expander_that_grows ... ok
[INFO] [stdout] test fsts::merge_fst::tests::a_state_map_that_does_not_cover_the_secondary_is_refused ... ok
[INFO] [stdout] test fsts::merge_fst::tests::an_unmapped_state_reads_through ... ok
[INFO] [stdout] test fsts::matcher_fst::tests::the_index_round_trips_through_a_stream ... ok
[INFO] [stdout] test fsts::matcher_fst::tests::the_saved_index_answers_the_lookahead ... ok
[INFO] [stdout] test fsts::merge_fst::tests::a_merged_state_has_both_sets_of_arcs ... ok
[INFO] [stdout] test fsts::merge_fst::tests::final_weights_combine_as_alternatives_at_a_merged_state ... ok
[INFO] [stdout] test fsts::matcher_fst::tests::the_side_that_was_not_indexed_is_not_there ... ok
[INFO] [stdout] test fsts::vector_fst::tests::a_file_that_lies_about_its_shape_is_refused ... ok
[INFO] [stdout] test fsts::merge_fst::tests::the_secondary_can_make_a_primary_state_final ... ok
[INFO] [stdout] test fsts::merge_fst::tests::merging_an_empty_secondary_changes_nothing ... ok
[INFO] [stdout] test fsts::matcher_fst::tests::the_arc_lookahead_fst_saves_nothing ... ok
[INFO] [stdout] test fsts::vector_fst::tests::mutating_arcs_keeps_the_property_bits_honest ... ok
[INFO] [stdout] test fsts::vector_fst::tests::mutating_arcs_stops_claiming_what_it_can_no_longer_vouch_for ... ok
[INFO] [stdout] test fsts::vector_fst::tests::symbol_tables_survive_the_round_trip ... ok
[INFO] [stdout] test fsts::vector_fst::tests::the_body_is_the_bytes_openfst_writes ... ok
[INFO] [stdout] test fsts::vector_fst::tests::an_fst_with_no_start_state_round_trips ... ok
[INFO] [stdout] test fsts::vector_fst::tests::there_is_no_mutable_symbol_table_when_there_is_no_table ... ok
[INFO] [stdout] test fsts::vector_fst::tests::changing_a_shared_symbol_table_does_not_reach_the_other_holder ... ok
[INFO] [stdout] test fsts::vector_fst::tests::an_empty_fst_round_trips ... ok
[INFO] [stdout] test matcher::tests::a_sigma_matcher_answers_for_every_label ... ok
[INFO] [stdout] test matcher::tests::an_explicit_matcher_hides_invented_matches ... ok
[INFO] [stdout] test matcher::tests::a_multi_eps_matcher_loops_on_the_labels_it_was_given ... ok
[INFO] [stdout] test matcher::tests::a_rho_matcher_answers_for_labels_the_state_lacks ... ok
[INFO] [stdout] test matcher::tests::a_rho_matcher_rewrites_the_side_it_was_told_to ... ok
[INFO] [stdout] test fsts::vector_fst::tests::a_vector_fst_round_trips ... ok
[INFO] [stdout] test fsts::vector_fst::tests::an_absurd_arc_count_does_not_take_the_process_down ... ok
[INFO] [stdout] test fsts::vector_fst::tests::an_arc_leading_outside_the_fst_is_caught_when_verifying ... ok
[INFO] [stdout] test fsts::vector_fst::tests::an_arc_to_the_sentinel_state_is_always_refused ... ok
[INFO] [stdout] test fsts::vector_fst::tests::setting_the_start_state_to_the_sentinel_clears_it ... ok
[INFO] [stdout] test matcher::tests::epsilon_cannot_be_added_as_a_multi_eps_label ... ok
[INFO] [stdout] test matcher::tests::asking_for_the_implicit_label_itself_is_refused ... ok
[INFO] [stdout] test matcher::tests::epsilon_cannot_be_the_implicit_label ... ok
[INFO] [stdout] test matcher::tests::an_implicit_label_demands_priority ... ok
[INFO] [stdout] test cache::tests::test_panic_safety_flags_do_not_leak ... ok
[INFO] [stdout] test matcher::tests::test_phi_matcher_basic_fallback ... ok
[INFO] [stdout] test matcher::tests::test_phi_matcher_recursive_fallback ... ok
[INFO] [stdout] test matcher::tests::test_sorted_matcher_exact_match ... ok
[INFO] [stdout] test matcher::tests::test_sorted_matcher_no_match ... ok
[INFO] [stdout] test matcher::tests::test_sorted_matcher_lower_bound ... ok
[INFO] [stdout] test memory::arc_arena::tests::clear_on_an_ungrown_arena_keeps_the_first_block ... ok
[INFO] [stdout] test memory::arc_arena::tests::committed_runs_are_contiguous_and_in_order ... ok
[INFO] [stdout] test matcher::tests::test_hash_matcher ... ok
[INFO] [stdout] test memory::arc_arena::tests::drop_arcs_reuses_the_space ... ok
[INFO] [stdout] test cache::tests::test_recursive_expansion_prevention - should panic ... ok
[INFO] [stdout] test memory::arc_arena::tests::earlier_runs_stay_valid_after_the_arena_grows ... ok
[INFO] [stdout] test memory::arc_arena::tests::empty_runs_are_representable ... ok
[INFO] [stdout] test matcher::tests::test_sorted_matcher_epsilon_loop ... ok
[INFO] [stdout] test memory::arc_arena::tests::a_run_longer_than_a_block_stays_contiguous ... ok
[INFO] [stdout] test data_structures::indexed_heap::tests::update_of_a_popped_key_panics - should panic ... ok
[INFO] [stdout] test memory::arc_arena::tests::reserve_arcs_does_not_grow_when_the_block_already_fits ... ok
[INFO] [stdout] test memory::arc_arena::tests::clear_caps_retained_capacity ... ok
[INFO] [stdout] test memory::arc_arena::tests::clear_retains_capacity_for_the_next_round ... ok
[INFO] [stdout] test memory::arc_arena::tests::reserve_arcs_mid_sequence_keeps_the_run_contiguous ... ok
[INFO] [stdout] test memory::arc_arena::tests::elements_are_dropped_exactly_once ... ok
[INFO] [stdout] test memory::tests::capacity_survives_a_full_churn ... ok
[INFO] [stdout] test memory::tests::freed_slots_are_reused ... ok
[INFO] [stdout] test properties::tests::add_arc_tracks_weightedness ... ok
[INFO] [stdout] test properties::tests::add_arc_classifies_epsilons ... ok
[INFO] [stdout] test properties::tests::add_arc_detects_a_back_edge_and_the_topological_consequences ... ok
[INFO] [stdout] test properties::tests::incompatible_properties_are_described_by_name ... ok
[INFO] [stdout] test properties::tests::set_final_tracks_weightedness ... ok
[INFO] [stdout] test queue::tests::a_filter_queue_refuses_what_the_filter_rejects ... ok
[INFO] [stdout] test properties::tests::add_state_and_delete_masks_only_narrow ... ok
[INFO] [stdout] test properties::tests::every_property_bit_has_a_name ... ok
[INFO] [stdout] test properties::tests::property_bits_match_openfst ... ok
[INFO] [stdout] test properties::tests::set_start_implies_initial_acyclic_for_an_acyclic_fst ... ok
[INFO] [stdout] test queue::tests::a_prune_queue_refuses_what_is_far_behind_its_class ... ok
[INFO] [stdout] test queue::tests::clearing_empties_every_discipline ... ok
[INFO] [stdout] test queue::tests::a_trivial_a_star_estimate_is_dijkstra ... ok
[INFO] [stdout] test queue::tests::a_trivial_queue_holds_one_state ... ok
[INFO] [stdout] test queue::tests::an_a_star_estimate_reorders_the_queue ... ok
[INFO] [stdout] test properties::tests::known_properties_widens_one_sided_trinary_bits ... ok
[INFO] [stdout] test properties::tests::delete_all_states_keeps_only_errors_and_static_properties ... ok
[INFO] [stdout] test properties::tests::compat_properties_only_compares_what_both_sides_know ... ok
[INFO] [stdout] test data_structures::interval_set::tests::the_set_algebra_matches_a_brute_force_model ... ok
[INFO] [stdout] test queue::tests::components_are_numbered_in_topological_order ... ok
[INFO] [stdout] test properties::tests::add_arc_detects_a_transducer ... ok
[INFO] [stdout] test queue::tests::components_that_are_all_trivial_give_the_topological_order ... ok
[INFO] [stdout] test properties::tests::add_arc_detects_unsorted_labels ... ok
[INFO] [stdout] test properties::tests::property_propagation_matches_openfst ... ok
[INFO] [stdout] test queue::tests::each_component_gets_the_discipline_its_arcs_call_for ... ok
[INFO] [stdout] test properties::tests::trinary_properties_are_adjacent_bit_pairs ... ok
[INFO] [stdout] test queue::tests::fifo_and_lifo_are_the_two_obvious_orders ... ok
[INFO] [stdout] test queue::tests::state_order_hands_states_back_by_id ... ok
[INFO] [stdout] test queue::tests::shortest_first_hands_back_the_lightest ... ok
[INFO] [stdout] test queue::tests::state_order_holds_each_state_once ... ok
[INFO] [stdout] test queue::tests::shortest_first_moves_a_state_whose_weight_improves ... ok
[INFO] [stdout] test string::tests::a_string_becomes_one_path ... ok
[INFO] [stdout] test queue::tests::the_automatic_choice_follows_the_shape_of_the_fst ... ok
[INFO] [stdout] test queue::tests::the_meta_queue_finishes_a_component_before_moving_on ... ok
[INFO] [stdout] test string::tests::an_fst_that_is_not_a_string_is_refused ... ok
[INFO] [stdout] test queue::tests::the_pruning_queue_drops_a_path_that_has_taken_too_many_arcs ... ok
[INFO] [stdout] test string::tests::compiling_then_printing_gives_the_string_back ... ok
[INFO] [stdout] test queue::tests::top_order_follows_the_arcs_rather_than_the_numbering ... ok
[INFO] [stdout] test string::tests::only_the_last_separator_character_is_written ... ok
[INFO] [stdout] test queue::tests::updating_a_state_that_is_not_queued_adds_it ... ok
[INFO] [stdout] test string::tests::a_token_type_names_itself_the_way_upstream_does ... ok
[INFO] [stdout] test queue::tests::there_is_no_topological_order_for_a_cyclic_fst ... ok
[INFO] [stdout] test string::tests::epsilons_are_left_out_unless_they_are_wanted ... ok
[INFO] [stdout] test string::tests::a_weight_goes_on_the_final_state ... ok
[INFO] [stdout] test string::tests::an_unknown_symbol_is_refused_unless_one_was_chosen_for_it ... ok
[INFO] [stdout] test string::tests::symbols_fall_back_to_integers_without_a_table ... ok
[INFO] [stdout] test string::tests::the_empty_string_is_a_single_final_state ... ok
[INFO] [stdout] test queue::tests::without_key_tracking_a_state_cannot_be_moved ... ok
[INFO] [stdout] test string::tests::the_output_side_is_what_is_printed ... ok
[INFO] [stdout] test utils::io::tests::a_truncated_read_fails_rather_than_returning_short_data ... ok
[INFO] [stdout] test utils::io::tests::a_string_is_prefixed_by_a_32_bit_length ... ok
[INFO] [stdout] test utils::io::tests::a_vector_is_prefixed_by_a_64_bit_length ... ok
[INFO] [stdout] test queue::tests::the_pruning_queue_keeps_everything_without_a_threshold ... ok
[INFO] [stdout] test string::tests::a_label_too_large_for_a_byte_is_refused ... ok
[INFO] [stdout] test utils::io::tests::alignment_pads_with_zeroes ... ok
[INFO] [stdout] test utils::io::tests::an_absurd_declared_length_does_not_allocate_up_front ... ok
[INFO] [stdout] test string::tests::symbols_split_on_the_separator_and_on_newlines ... ok
[INFO] [stdout] test utils::io::tests::aligning_input_leaves_the_reader_positioned_and_readable ... ok
[INFO] [stdout] test utils::io::tests::label_pairs_reject_malformed_lines ... ok
[INFO] [stdout] test utils::io::tests::aligning_input_past_the_end_of_the_data_fails ... ok
[INFO] [stdout] test utils::io::tests::parse_int64_consumes_the_whole_string ... ok
[INFO] [stdout] test string::tests::a_cyclic_path_is_an_error_rather_than_a_hang ... ok
[INFO] [stdout] test utils::io::tests::primitives_serialize_to_the_bytes_openfst_writes ... ok
[INFO] [stdout] test utils::io::tests::label_pairs_parse_and_skip_blanks_and_comments ... ok
[INFO] [stdout] test utils::labels::tests::byte_string_output_rejects_what_upstream_would_silently_mangle ... ok
[INFO] [stdout] test utils::labels::tests::byte_strings_map_one_label_per_byte ... ok
[INFO] [stdout] test utils::labels::tests::parses_sequences_standard_utf8_rejects ... ok
[INFO] [stdout] test string::tests::the_token_type_decides_how_many_arcs_there_are ... ok
[INFO] [stdout] test utils::io::tests::a_buffer_is_brought_into_step_with_the_stream ... ok
[INFO] [stdout] test utils::labels::tests::rejects_labels_that_do_not_fit ... ok
[INFO] [stdout] test utils::io::tests::label_pairs_round_trip ... ok
[INFO] [stdout] test utils::io::tests::strings_and_vectors_round_trip ... ok
[INFO] [stdout] test utils::labels::tests::round_trips_every_sequence_length ... ok
[INFO] [stdout] test utils::labels::tests::epsilon_labels_are_skipped ... ok
[INFO] [stdout] test utils::mapped_file::tests::allocate_type_uses_the_types_alignment ... ok
[INFO] [stdout] test utils::mapped_file::tests::allocations_are_aligned_and_writable ... ok
[INFO] [stdout] test utils::io::tests::a_negative_declared_length_reads_as_empty ... ok
[INFO] [stdout] test utils::mapped_file::tests::allocations_start_zeroed ... ok
[INFO] [stdout] test utils::io::tests::a_string_too_long_for_the_prefix_is_rejected ... ok
[INFO] [stdout] test utils::labels::tests::parses_standard_utf8 ... ok
[INFO] [stdout] test utils::mapped_file::tests::empty_regions_are_writable_and_zero_length ... ok
[INFO] [stdout] test utils::io::tests::scalars_round_trip ... ok
[INFO] [stdout] test utils::labels::tests::rejects_malformed_sequences ... ok
[INFO] [stdout] test utils::mapped_file::tests::maps_from_an_offset_that_is_not_page_aligned ... ok
[INFO] [stdout] test utils::mapped_file::tests::reading_is_used_when_mapping_is_not_requested ... ok
[INFO] [stdout] test utils::labels::tests::utf8_output_rejects_negative_and_oversized_labels ... ok
[INFO] [stdout] test utils::labels::tests::serializes_back_to_the_same_bytes ... ok
[INFO] [stdout] test utils::mapped_file::tests::borrowed_regions_are_passed_through ... ok
[INFO] [stdout] test utils::mapped_file::tests::maps_a_file_region ... ok
[INFO] [stdout] test utils::mapped_file::tests::reading_past_the_end_of_the_file_fails ... ok
[INFO] [stdout] test utils::string_parse::tests::a_different_separator_and_bracket_pair_work ... ok
[INFO] [stdout] test utils::mapped_file::tests::falls_back_to_reading_at_an_unaligned_offset ... ok
[INFO] [stdout] test utils::mapped_file::tests::rejects_a_non_power_of_two_alignment ... ok
[INFO] [stdout] test utils::labels::tests::round_trips_random_label_sequences ... ok
[INFO] [stdout] test utils::io::tests::alignment_moves_to_the_next_boundary_and_no_further ... ok
[INFO] [stdout] test utils::string_parse::tests::an_empty_element_is_preserved_rather_than_dropped ... ok
[INFO] [stdout] test utils::string_parse::tests::unbalanced_parentheses_are_reported_with_their_position ... ok
[INFO] [stdout] test utils::string_parse::tests::a_separator_inside_parentheses_does_not_split ... ok
[INFO] [stdout] test weight::tests::power_is_the_iterated_product ... ok
[INFO] [stdout] test weight::tests::the_natural_order_is_strict_and_total_on_a_path_semiring ... ok
[INFO] [stdout] test weight::tests::tropical_satisfies_the_axioms_it_claims ... ok
[INFO] [stdout] test weight::tests::log_satisfies_the_axioms_it_claims ... ok
[INFO] [stdout] test weight::tests::the_property_bits_match_openfst ... ok
[INFO] [stdout] test utils::string_parse::tests::outer_parentheses_are_stripped_only_when_they_wrap_everything ... ok
[INFO] [stdout] test weights::error_weight::tests::parsing_always_fails ... ok
[INFO] [stdout] test weights::error_weight::tests::the_type_is_uninhabited ... ok
[INFO] [stdout] test weights::error_weight::tests::it_names_itself_error_and_claims_no_properties ... ok
[INFO] [stdout] test weights::expectation_weight::tests::it_satisfies_the_axioms_it_claims ... ok
[INFO] [stdout] test weights::expectation_weight::tests::test_expectation_weight_plus ... ok
[INFO] [stdout] test weights::expectation_weight::tests::test_expectation_weight_times ... ok
[INFO] [stdout] test weights::expectation_weight::tests::one_carries_no_expectation ... ok
[INFO] [stdout] test weights::float_weight::tests::conversions_carry_the_semiring_identities_across ... ok
[INFO] [stdout] test weights::float_weight::tests::an_unparsable_weight_is_an_error ... ok
[INFO] [stdout] test weights::float_weight::tests::crossing_into_real_exponentiates ... ok
[INFO] [stdout] test utils::string_parse::tests::test_split_composite_weight ... ok
[INFO] [stdout] test utils::string_parse::tests::whitespace_around_elements_is_trimmed ... ok
[INFO] [stdout] test weight::tests::the_adder_accumulates_with_plus ... ok
[INFO] [stdout] test queue::tests::the_meta_queue_settles_the_same_distances ... ok
[INFO] [stdout] test weights::float_weight::tests::quantize_keeps_full_precision_at_the_wider_width ... ok
[INFO] [stdout] test weights::float_weight::tests::log_and_tropical_share_their_stored_value ... ok
[INFO] [stdout] test weights::expectation_weight::tests::test_expectation_weight_divide ... ok
[INFO] [stdout] test weights::float_weight::tests::every_float_semiring_satisfies_its_claims ... ok
[INFO] [stdout] test weights::error_weight::tests::zero_panics - should panic ... ok
[INFO] [stdout] test weights::float_weight::tests::minmax_plus_is_min_and_times_is_max ... ok
[INFO] [stdout] test weights::float_weight::tests::log_plus_combines_probabilities ... ok
[INFO] [stdout] test weights::float_weight::tests::the_type_names_match_openfst ... ok
[INFO] [stdout] test weights::float_weight::tests::the_claimed_properties_match_openfst ... ok
[INFO] [stdout] test weights::float_weight::tests::tropical_plus_is_min_and_times_is_addition ... ok
[INFO] [stdout] test weights::float_weight::tests::the_no_weight_sentinel_compares_reflexively ... ok
[INFO] [stdout] test weights::float_weight::tests::widening_and_narrowing_round_trips_for_representable_values ... ok
[INFO] [stdout] test weights::float_weight::tests::weights_round_trip_through_their_text_form ... ok
[INFO] [stdout] test weights::error_weight::tests::one_panics - should panic ... ok
[INFO] [stdout] test weights::lexicographic_weight::tests::it_satisfies_the_axioms_it_claims ... ok
[INFO] [stdout] test weights::float_weight::tests::real_plus_is_addition_and_times_is_multiplication ... ok
[INFO] [stdout] test weights::lexicographic_weight::tests::plus_breaks_ties_with_the_second_component ... ok
[INFO] [stdout] test weights::float_weight::tests::division_recovers_the_other_factor ... ok
[INFO] [stdout] test weights::lexicographic_weight::tests::test_lexicographic_weight_times ... ok
[INFO] [stdout] test weights::lexicographic_weight::tests::test_lexicographic_weight_plus ... ok
[INFO] [stdout] test weights::lexicographic_weight::tests::test_lexicographic_weight_parse_display ... ok
[INFO] [stdout] test weights::pair_weight::tests::equal_pairs_hash_alike ... ok
[INFO] [stdout] test weights::pair_weight::tests::quantize_and_approx_equal_are_elementwise ... ok
[INFO] [stdout] test weights::pair_weight::tests::test_pair_weight_parse ... ok
[INFO] [stdout] test weights::pair_weight::tests::the_identities_and_predicates_are_elementwise ... ok
[INFO] [stdout] test weights::pair_weight::tests::reverse_reverses_each_component ... ok
[INFO] [stdout] test weights::float_weight::tests::the_sentinel_is_unordered_against_real_weights ... ok
[INFO] [stdout] test weights::power_weight::tests::rank_zero_is_the_trivial_semiring ... ok
[INFO] [stdout] test weights::pair_weight::tests::the_text_form_round_trips_including_nesting ... ok
[INFO] [stdout] test weights::lexicographic_weight::tests::test_lexicographic_weight_divide ... ok
[INFO] [stdout] test weights::power_weight::tests::it_satisfies_the_axioms_it_claims ... ok
[INFO] [stdout] test weights::lexicographic_weight::tests::test_lexicographic_weight_member ... ok
[INFO] [stdout] test weights::power_weight::tests::test_power_weight_scalar_products ... ok
[INFO] [stdout] test weights::power_weight::tests::test_power_weight_divide ... ok
[INFO] [stdout] test weights::power_weight::tests::test_power_weight_dot_product ... ok
[INFO] [stdout] test weights::power_weight::tests::test_power_weight_times ... ok
[INFO] [stdout] test weights::power_weight::tests::test_power_weight_plus ... ok
[INFO] [stdout] test weights::power_weight::tests::test_power_weight_parse_display ... ok
[INFO] [stdout] test weights::power_weight_mappers::tests::from_power_weight_reads_an_absent_sparse_component_as_the_default ... ok
[INFO] [stdout] test weights::power_weight_mappers::tests::project_honours_a_non_zero_fill ... ok
[INFO] [stdout] test weights::power_weight_mappers::tests::from_power_weight_reads_one_component ... ok
[INFO] [stdout] test weights::power_weight::tests::test_power_weight_approx_equal ... ok
[INFO] [stdout] test weights::power_weight_mappers::tests::project_moves_a_component_and_fills_the_rest ... ok
[INFO] [stdout] test weights::power_weight_mappers::tests::to_power_weight_works_for_the_sparse_flavour ... ok
[INFO] [stdout] test weights::power_weight_mappers::tests::to_power_weight_fills_one_component ... ok
[INFO] [stdout] test weights::power_weight_mappers::tests::round_trips_through_a_power_weight ... ok
[INFO] [stdout] test weights::product_weight::tests::test_product_weight_divide ... ok
[INFO] [stdout] test weights::product_weight::tests::test_product_weight_member ... ok
[INFO] [stdout] test weights::product_weight::tests::test_product_weight_parse_display ... ok
[INFO] [stdout] test weights::set_weight::tests::a_set_is_normalized_however_it_is_built ... ok
[INFO] [stdout] test weights::pair_weight::tests::a_pair_with_the_wrong_number_of_elements_is_rejected ... ok
[INFO] [stdout] test weights::product_weight::tests::test_product_weight_plus ... ok
[INFO] [stdout] test weights::product_weight::tests::test_product_weight_times ... ok
[INFO] [stdout] test weights::power_weight_mappers::tests::project_is_idempotent_when_the_indices_match ... ok
[INFO] [stdout] test weights::product_weight::tests::the_marker_traits_agree_with_the_property_bits ... ok
[INFO] [stdout] test weights::product_weight::tests::it_satisfies_the_axioms_it_claims ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::converting_a_negative_weight_out_yields_no_weight ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::converting_in_from_an_unsigned_weight_gives_a_positive_one ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::a_weight_and_its_negation_are_not_approximately_equal ... ok
[INFO] [stdout] test weights::set_weight::tests::test_union_intersect ... ok
[INFO] [stdout] test weights::set_weight::tests::the_restricted_semiring_is_partial_and_says_so_only_by_erroring ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::a_weight_and_its_negation_cancel ... ok
[INFO] [stdout] test weights::set_weight::tests::test_set_weight_parse_and_display ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::test_signed_log_weight_minus ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::it_satisfies_the_axioms_it_claims ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::the_two_widths_convert_both_ways ... ok
[INFO] [stdout] test weights::sparse_power_weight::tests::a_non_member_anywhere_spoils_the_weight ... ok
[INFO] [stdout] test weights::set_weight::tests::every_set_semiring_satisfies_its_claims ... ok
[INFO] [stdout] test weights::sparse_power_weight::tests::it_claims_only_what_the_component_supports ... ok
[INFO] [stdout] test weights::set_weight::tests::test_intersect_union ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::the_compensated_adder_stays_accurate_over_a_long_sum ... ok
[INFO] [stdout] test weights::set_weight::tests::the_boolean_semiring_holds_on_every_spelling_of_true ... ok
[INFO] [stdout] test weights::sparse_power_weight::tests::it_satisfies_the_axioms_it_claims ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::test_signed_log_weight_parse_display ... ok
[INFO] [stdout] test weights::sparse_power_weight::tests::operations_reach_keys_that_only_one_side_stores ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::test_signed_log_weight_plus ... ok
[INFO] [stdout] test weights::sparse_power_weight::tests::the_identities_are_pure_defaults ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::the_two_spellings_of_zero_are_the_same_weight ... ok
[INFO] [stdout] test weights::signed_log_weight::tests::test_signed_log_adder ... ok
[INFO] [stdout] test weights::sparse_tuple_weight::tests::test_sparse_tuple_weight_map ... ok
[INFO] [stdout] test weights::sparse_tuple_weight::tests::keys_stay_sorted_however_they_arrive ... ok
[INFO] [stdout] test weights::sparse_tuple_weight::tests::an_unset_key_reads_as_the_default ... ok
[INFO] [stdout] test weights::string_weight::tests::test_string_weight_parse_display ... ok
[INFO] [stdout] test weights::string_weight::tests::test_string_weight_plus ... ok
[INFO] [stdout] test weights::sparse_tuple_weight::tests::changing_the_default_purges_entries_that_now_match_it ... ok
[INFO] [stdout] test weights::sparse_tuple_weight::tests::membership_needs_the_default_and_every_entry ... ok
[INFO] [stdout] test weights::string_weight::tests::test_string_weight_times ... ok
[INFO] [stdout] test weights::sparse_tuple_weight::tests::quantize_and_reverse_reach_the_default_too ... ok
[INFO] [stdout] test weights::string_weight::tests::the_gallic_product_combines_both_sides ... ok
[INFO] [stdout] test weights::sparse_tuple_weight::tests::setting_a_key_to_the_default_stores_nothing ... ok
[INFO] [stdout] test weights::sparse_tuple_weight::tests::test_set_default_value_purges_matching ... ok
[INFO] [stdout] test weights::string_weight::tests::test_gallic_weight_min ... ok
[INFO] [stdout] test weights::string_weight::tests::the_restricted_string_semiring_is_partial ... ok
[INFO] [stdout] test weights::tuple_weight::tests::a_tuple_of_the_wrong_arity_is_rejected ... ok
[INFO] [stdout] test weights::string_weight::tests::the_right_semiring_takes_the_longest_common_suffix ... ok
[INFO] [stdout] test weights::string_weight::tests::the_gallic_weights_satisfy_their_claims ... ok
[INFO] [stdout] test weights::error_weight::tests::no_weight_panics - should panic ... ok
[INFO] [stdout] test weight::tests::the_axiom_harness_rejects_a_weight_that_lies - should panic ... ok
[INFO] [stdout] test weights::tuple_weight::tests::a_single_component_can_be_set_against_a_default ... ok
[INFO] [stdout] test weights::tuple_weight::tests::membership_needs_every_component ... ok
[INFO] [stdout] test weights::sparse_tuple_weight::tests::map_matches_a_dense_evaluation ... ok
[INFO] [stdout] test queue::tests::the_discipline_never_changes_the_answer ... ok
[INFO] [stdout] test weights::string_weight::tests::the_left_semiring_takes_the_longest_common_prefix ... ok
[INFO] [stdout] test weights::string_weight::tests::the_left_and_right_string_semirings_satisfy_their_claims ... ok
[INFO] [stdout] test weights::tuple_weight::tests::equal_tuples_hash_alike ... ok
[INFO] [stdout] test weights::tuple_weight::tests::test_tuple_weight_initializers ... ok
[INFO] [stdout] test weights::tuple_weight::tests::test_tuple_weight_parse ... ok
[INFO] [stdout] test weights::tuple_weight::tests::reverse_reverses_every_component ... ok
[INFO] [stdout] test weights::tuple_weight::tests::test_nested_tuple_weight_parse ... ok
[INFO] [stdout] test weights::union_weight::tests::a_bad_set_is_not_a_member_and_infects_the_operations ... ok
[INFO] [stdout] test weights::union_weight::tests::a_non_member_component_makes_the_union_bad ... ok
[INFO] [stdout] test weights::union_weight::tests::plus_merges_the_sets_in_order ... ok
[INFO] [stdout] test weights::union_weight::tests::it_claims_only_what_the_underlying_weight_supports ... ok
[INFO] [stdout] test weights::tuple_weight::tests::quantize_and_approx_equal_are_componentwise ... ok
[INFO] [stdout] test weights::union_weight::tests::quantize_and_reverse_reach_every_element ... ok
[INFO] [stdout] test weights::union_weight::tests::times_takes_the_pairwise_product ... ok
[INFO] [stdout] test weights::tuple_weight::tests::the_identities_fill_every_component ... ok
[INFO] [stdout] test weights::union_weight::tests::zero_is_the_empty_union_and_one_is_the_singleton_identity ... ok
[INFO] [stdout] test weights::sparse_tuple_weight::tests::test_sparse_tuple_weight_parse_display ... ok
[INFO] [stdout] test weights::string_weight::tests::the_marker_traits_agree_with_the_property_bits ... ok
[INFO] [stdout] test weights::union_weight::tests::it_satisfies_the_axioms_it_claims ... ok
[INFO] [stdout] test data_structures::compact_set::tests::matches_a_reference_set_under_random_operations ... ok
[INFO] [stdout] test weights::power_weight_mappers::tests::a_component_index_past_the_rank_panics - should panic ... ok
[INFO] [stdout] test algorithms::compose::tests::looking_ahead_composes_to_the_same_fst ... ok
[INFO] [stdout] test data_structures::indexed_heap::tests::matches_a_reference_implementation_under_random_operations ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 878 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stderr]      Running tests/test_arc_filter.rs (/opt/rustwide/target/debug/deps/test_arc_filter-0c2e78f023bd233e)
[INFO] [stdout] test test_multi_label_filters ... ok
[INFO] [stdout] test test_label_filters ... ok
[INFO] [stdout] test test_any_and_epsilon_filters ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_arcs.rs (/opt/rustwide/target/debug/deps/test_arcs-d3a63914fc98c313)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test a_string_compiles_over_any_arc_type ... ok
[INFO] [stdout] test every_arc_alias_builds_an_fst ... ok
[INFO] [stdout] test a_weight_survives_a_trip_through_three_semirings ... ok
[INFO] [stdout] test each_arc_alias_carries_its_own_plus ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_call_sites.rs (/opt/rustwide/target/debug/deps/test_call_sites-7663384307c3da2c)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test no_call_site_names_a_type ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_compact_fst.rs (/opt/rustwide/target/debug/deps/test_compact_fst-e2a2421f9257879e)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test a_compact_string_fst_round_trips_through_a_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_compose_pipeline.rs (/opt/rustwide/target/debug/deps/test_compose_pipeline-df6d49a176600539)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test composing_then_searching_finds_the_one_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_const_fst.rs (/opt/rustwide/target/debug/deps/test_const_fst-6cc5c28937a1a8cc)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test a_const_fst_round_trips_through_a_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_expectation_weight.rs (/opt/rustwide/target/debug/deps/test_expectation_weight-cfca01e24f0dfe40)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test the_real_expectation_semiring_carries_an_expectation ... ok
[INFO] [stdout] test the_tropical_expectation_semiring_takes_the_better_pairing ... ok
[INFO] [stdout] test two_paths_sum_to_the_whole_expectation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_hlg.rs (/opt/rustwide/target/debug/deps/test_hlg-13838e86d0fdbe08)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/test_lookahead_matcher.rs (/opt/rustwide/target/debug/deps/test_lookahead_matcher-e132ec1a5554bc70)
[INFO] [stdout] test the_pipeline_builds_the_graph_openfst_builds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test the_same_holds_of_a_second_side_the_epsilons_were_removed_from ... ok
[INFO] [stdout] test the_matcher_never_refuses_a_pair_that_can_reach_a_final_pair ... ok
[INFO] [stderr]      Running tests/test_openfst_interop.rs (/opt/rustwide/target/debug/deps/test_openfst_interop-41eb6d6651bc25a9)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test a_compact_acceptor_fst_written_by_openfst_reads_here ... ok
[INFO] [stdout] test a_compact_file_does_not_read_as_the_wrong_compactor ... ok
[INFO] [stdout] test a_compact_string_fst_written_by_openfst_reads_here ... ok
[INFO] [stdout] test a_compact_weighted_string_fst_written_by_openfst_reads_here ... ok
[INFO] [stdout] test an_edit_fst_written_by_openfst_reads_here ... ok
[INFO] [stdout] test the_symbol_tables_survive_the_formats_that_carry_them ... ok
[INFO] [stdout] test a_label_lookahead_file_without_its_label_map_is_refused ... ok
[INFO] [stdout] test a_matcher_fst_written_by_openfst_reads_here ... ok
[INFO] [stdout] test a_vector_fst_openfst_wrote_reads_back_and_writes_back_identically ... ok
[INFO] [stdout] test a_compact_unweighted_acceptor_fst_written_by_openfst_reads_here ... ok
[INFO] [stdout] test a_const64_fst_openfst_wrote_reads_back ... ok
[INFO] [stdout] test a_compact_unweighted_fst_written_by_openfst_reads_here ... ok
[INFO] [stdout] test a_const_fst_openfst_wrote_reads_back_and_writes_back_identically ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_ops.rs (/opt/rustwide/target/debug/deps/test_ops-7a0d0faddff0ee5b)
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test composing_then_searching_takes_the_cheaper_of_two_ways ... ok
[INFO] [stdout] test a_topological_sort_numbers_the_states_along_the_paths ... ok
[INFO] [stdout] test epsilon_normalising_moves_the_labelled_arcs_first ... ok
[INFO] [stdout] test pushing_moves_weight_forward_and_pruning_drops_what_is_too_heavy ... ok
[INFO] [stdout] test connecting_drops_what_no_path_goes_through ... ok
[INFO] [stdout] test an_encode_table_can_be_saved_and_used_to_decode_later ... ok
[INFO] [stdout] test drawing_random_paths_gives_paths_the_fst_has ... ok
[INFO] [stdout] test intersection_keeps_what_both_accept_and_difference_what_only_one_does ... ok
[INFO] [stdout] test determinizing_leaves_one_arc_per_label_at_the_lighter_weight ... ok
[INFO] [stdout] test closure_accepts_the_word_any_number_of_times ... ok
[INFO] [stdout] test reweighting_moves_weight_between_arcs_without_changing_any_path ... ok
[INFO] [stdout] test disambiguating_leaves_one_path_per_input_string ... ok
[INFO] [stdout] test encoding_makes_an_acceptor_and_decoding_gives_the_transducer_back ... ok
[INFO] [stdout] test projecting_copies_one_side_onto_the_other ... ok
[INFO] [stdout] test an_fst_can_be_carried_into_another_semiring_and_back ... ok
[INFO] [stdout] test relabelling_rewrites_each_side_by_its_own_table ... ok
[INFO] [stdout] test minimizing_merges_states_nothing_can_tell_apart ... ok
[INFO] [stdout] test removing_epsilons_folds_their_weight_into_the_arc_that_follows ... ok
[INFO] [stdout] test verification_names_what_is_wrong_with_an_fst ... ok
[INFO] [stdout] test a_cyclic_fst_has_no_topological_order ... ok
[INFO] [stdout] test replacing_a_non_terminal_splices_in_what_it_stands_for ... ok
[INFO] [stdout] test sorting_the_states_renumbers_them_and_the_arcs_that_point_at_them ... ok
[INFO] [stdout] test reversing_turns_the_paths_round_and_leaves_the_labels_alone ... ok
[INFO] [stdout] test the_output_side_can_be_carried_in_the_weight_and_brought_back ... ok
[INFO] [stdout] test sorting_orders_the_arcs_by_whichever_side_is_asked ... ok
[INFO] [stdout] test union_offers_both_and_concat_puts_one_after_the_other ... ok
[INFO] [stdout] test the_arc_mappers_each_change_the_one_thing_they_name ... ok
[INFO] [stdout] test a_final_state_reached_only_by_epsilon_folds_back_into_its_predecessor ... ok
[INFO] [stdout] test inverting_swaps_the_two_sides_and_leaves_the_weight ... ok
[INFO] [stdout] test synchronizing_pairs_the_two_sides_up_as_soon_as_it_can ... ok
[INFO] [stdout] test the_shortest_distance_is_the_semiring_sum_over_paths ... ok
[INFO] [stdout] test the_four_ways_of_asking_whether_two_fsts_are_the_same ... 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/test_power_weight.rs (/opt/rustwide/target/debug/deps/test_power_weight-5f4c4af34b9d7207)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test a_power_weight_works_componentwise ... ok
[INFO] [stdout] test a_weight_travels_through_a_component_and_back ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_signed_log_weight.rs (/opt/rustwide/target/debug/deps/test_signed_log_weight-be7664d31529d98f)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test two_paths_of_opposite_sign_cancel_in_an_fst ... ok
[INFO] [stdout] test a_positive_and_a_negative_cancel ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_sparse_power_weight.rs (/opt/rustwide/target/debug/deps/test_sparse_power_weight-c319f7350cfca736)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_sparse_power_weight_approx_equal ... ok
[INFO] [stdout] test test_sparse_power_weight_parse_display ... ok
[INFO] [stdout] test test_sparse_power_weight_divide ... ok
[INFO] [stdout] test test_sparse_power_weight_plus ... ok
[INFO] [stdout] test test_sparse_power_weight_dot_product ... ok
[INFO] [stdout] test test_sparse_power_weight_times ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_string.rs (/opt/rustwide/target/debug/deps/test_string-575e8d408b012040)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test a_list_of_labels_compiles_to_one_arc_each ... ok
[INFO] [stdout] test a_literal_compiles_to_one_arc_per_byte ... ok
[INFO] [stdout] test a_symbol_string_survives_the_round_trip_through_the_public_api ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_symbol_table.rs (/opt/rustwide/target/debug/deps/test_symbol_table-732dedf25f5f218a)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test a_symbol_table_with_a_negative_declared_size_is_rejected ... ok
[INFO] [stdout] test test_binary_io ... ok
[INFO] [stdout] test merging_returns_right_when_it_agrees_on_every_label ... ok
[INFO] [stdout] test test_basic_operations ... ok
[INFO] [stdout] test test_compat_symbols_with_warn ... ok
[INFO] [stdout] test test_merge_symbol_table ... ok
[INFO] [stdout] test test_copy_on_write ... ok
[INFO] [stdout] test test_checksum_distinguishes_upstream_collision ... ok
[INFO] [stdout] test reads_and_writes_the_openfst_symbol_table_format ... ok
[INFO] [stdout] test reading_symbols_from_a_file_without_them_answers_none ... ok
[INFO] [stdout] test test_text_io ... ok
[INFO] [stdout] test test_checksums ... ok
[INFO] [stderr]    Doc-tests sicada
[INFO] [stdout] test symbol_tables_can_be_read_back_out_of_a_file ... ok
[INFO] [stdout] test test_add_auxiliary_symbols ... ok
[INFO] [stdout] test merging_keeps_the_left_assignments_when_right_is_a_superset ... ok
[INFO] [stdout] test negative_labels_take_part_in_the_labeled_checksum ... ok
[INFO] [stdout] test test_dense_and_sparse_keys ... ok
[INFO] [stdout] test merging_reassigns_a_conflicting_right_symbol ... ok
[INFO] [stdout] test test_prune_symbol_table ... ok
[INFO] [stdout] test test_compact_symbol_table ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/lib.rs - (line 9) ... ok
[INFO] [stdout] test src/prelude.rs - prelude (line 7) ... ok
[INFO] [stdout] test src/macros.rs - macros::fst_linear (line 7) ... 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] [stdout] all doctests ran in 0.89s; merged doctests compilation took 0.83s
[INFO] running `Command { std: "docker" "inspect" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f", kill_on_drop: false }`
[INFO] [stdout] cc516738c81359f5837d6a51c496146304a1e1def30affbe88744f39ee6fcf7f
