[INFO] fetching crate ddo 0.3.2...
[INFO] testing ddo-0.3.2 against beta-2020-10-09 for beta-1.48-1
[INFO] extracting crate ddo 0.3.2 into /workspace/builds/worker-12/source
[INFO] validating manifest of crates.io crate ddo 0.3.2 on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ddo 0.3.2
[INFO] finished tweaking crates.io crate ddo 0.3.2
[INFO] tweaked toml for crates.io crate ddo 0.3.2 written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] crate crates.io crate ddo 0.3.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded binary-heap-plus v0.2.0
[INFO] [stderr]   Downloaded bitset-fixed v0.1.0
[INFO] [stderr]   Downloaded mock-it v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5992b206de419866eeefab2d06f528e54856606599f0bf5e7bf6b656edb77efa
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5992b206de419866eeefab2d06f528e54856606599f0bf5e7bf6b656edb77efa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5992b206de419866eeefab2d06f528e54856606599f0bf5e7bf6b656edb77efa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5992b206de419866eeefab2d06f528e54856606599f0bf5e7bf6b656edb77efa", kill_on_drop: false }`
[INFO] [stdout] 5992b206de419866eeefab2d06f528e54856606599f0bf5e7bf6b656edb77efa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] f6241f8023bc51e6a9317111a88ae6ec30be209cfa7286dfc820e047da715ae8
[INFO] running `Command { std: "docker" "start" "-a" "f6241f8023bc51e6a9317111a88ae6ec30be209cfa7286dfc820e047da715ae8", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling compare v0.1.0
[INFO] [stderr]    Compiling metrohash v1.0.6
[INFO] [stderr]    Compiling bitset-fixed v0.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling parking_lot_core v0.7.2
[INFO] [stderr]    Compiling binary-heap-plus v0.2.0
[INFO] [stderr]    Compiling parking_lot v0.10.2
[INFO] [stderr]    Compiling crossbeam-channel v0.4.2
[INFO] [stderr]    Compiling crossbeam-queue v0.2.3
[INFO] [stderr]    Compiling crossbeam-deque v0.7.3
[INFO] [stderr]    Compiling crossbeam v0.7.3
[INFO] [stderr]    Compiling ddo v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 6.96s
[INFO] running `Command { std: "docker" "inspect" "f6241f8023bc51e6a9317111a88ae6ec30be209cfa7286dfc820e047da715ae8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6241f8023bc51e6a9317111a88ae6ec30be209cfa7286dfc820e047da715ae8", kill_on_drop: false }`
[INFO] [stdout] f6241f8023bc51e6a9317111a88ae6ec30be209cfa7286dfc820e047da715ae8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 877a73a163b56da9940d1aa6c36417ca7d679261260529023ccb725efd66e37a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "877a73a163b56da9940d1aa6c36417ca7d679261260529023ccb725efd66e37a", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.33
[INFO] [stderr]    Compiling mock-it v0.3.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.3
[INFO] [stderr]    Compiling proc-macro-error v1.0.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling clap v2.33.1
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling syn-mid v0.5.0
[INFO] [stderr]    Compiling structopt-derive v0.4.8
[INFO] [stderr]    Compiling structopt v0.3.15
[INFO] [stderr]    Compiling ddo v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1m 10s
[INFO] running `Command { std: "docker" "inspect" "877a73a163b56da9940d1aa6c36417ca7d679261260529023ccb725efd66e37a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "877a73a163b56da9940d1aa6c36417ca7d679261260529023ccb725efd66e37a", kill_on_drop: false }`
[INFO] [stdout] 877a73a163b56da9940d1aa6c36417ca7d679261260529023ccb725efd66e37a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 6109341cd59f22bfe87e1a8cbcefc84c0ca40ee33307918d65a3aa53a97adc9a
[INFO] running `Command { std: "docker" "start" "-a" "6109341cd59f22bfe87e1a8cbcefc84c0ca40ee33307918d65a3aa53a97adc9a", kill_on_drop: false }`
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/ddo-b12ef64a31b888a0
[INFO] [stdout] 
[INFO] [stdout] running 416 tests
[INFO] [stdout] test abstraction::dp::test_problem_defaults::the_default_rough_upper_bound_is_infinity ... ok
[INFO] [stdout] test abstraction::dp::test_problem_defaults::by_default_all_vars_impact_all_states ... ok
[INFO] [stdout] test common::test_domain::from_range_empty_going_negative ... ok
[INFO] [stdout] test common::test_domain::from_range_inclusive_non_empty ... ok
[INFO] [stdout] test common::test_domain::from_slice_empty ... ok
[INFO] [stdout] test common::test_domain::from_slice_non_empty ... ok
[INFO] [stdout] test common::test_domain::from_varset_empty ... ok
[INFO] [stdout] test common::test_domain::from_vector_non_empty ... ok
[INFO] [stdout] test common::test_frontier_node::frontier_nodes_are_equal_iff_they_have_equal_state_different_ub ... ok
[INFO] [stdout] test common::test_frontier_node::frontier_nodes_are_equal_iff_they_have_equal_state_different_value ... ok
[INFO] [stdout] test common::test_frontier_node::frontier_nodes_are_equal_iff_they_have_equal_state_not_equal ... ok
[INFO] [stdout] test common::test_matrix::it_can_be_accessed_and_mutated_with_2d_position ... ok
[INFO] [stdout] test common::test_matrix::it_is_initialized_with_default_elem ... ok
[INFO] [stdout] test common::test_partial_assignment::empty_pa_has_no_decision ... ok
[INFO] [stdout] test common::test_partial_assignment::fragment_extension_adds_one_or_more_decisions ... ok
[INFO] [stdout] test common::test_partial_assignment::iterating_a_fragment_extension_starts_with_the_extended_info_then_climbs_up ... ok
[INFO] [stdout] test common::test_partial_assignment::iterating_a_single_extension_starts_with_the_extended_info_then_climbs_up ... ok
[INFO] [stdout] test common::test_partial_assignment::iterating_over_an_empty_partial_assignment_yields_no_decision ... ok
[INFO] [stdout] test common::test_partial_assignment::single_extension_adds_one_decision ... ok
[INFO] [stdout] test common::test_solution::a_solution_can_iterate_over_the_decisions_of_some_partial_assignment ... ok
[INFO] [stdout] test common::test_var::test_var_id ... ok
[INFO] [stdout] test common::test_varset::add_has_no_effect_when_var_is_already_present ... ok
[INFO] [stdout] test common::test_varset::all_contains_all_variables ... ok
[INFO] [stdout] test common::test_matrix::it_is_initialized_with_given_elem ... ok
[INFO] [stdout] test common::test_frontier_node::frontier_nodes_are_equal_iff_they_have_equal_state_everything_equal ... ok
[INFO] [stdout] test common::test_domain::from_range_non_empty ... ok
[INFO] [stdout] test common::test_domain::from_range_inclusive_empty_going_negative ... ok
[INFO] [stdout] test common::test_domain::from_range_empty_positive ... ok
[INFO] [stdout] test abstraction::dp::test_problem_defaults::by_default_all_vars_return_all_possible_variables ... ok
[INFO] [stdout] test common::test_varset::remove_drops_the_variable ... ok
[INFO] [stdout] test common::test_domain::from_varset_non_empty ... ok
[INFO] [stdout] test common::test_varset::add_adds_the_variable ... ok
[INFO] [stdout] test common::test_domain::from_bitset_empty ... ok
[INFO] [stdout] test common::test_domain::from_bitset_non_empty ... ok
[INFO] [stdout] test common::test_varset::empty_contains_no_variable ... ok
[INFO] [stdout] test common::test_varset::len_indicates_the_size_of_the_set ... ok
[INFO] [stdout] test common::test_frontier_node::frontier_nodes_are_equal_iff_they_have_equal_state_different_path ... ok
[INFO] [stdout] test common::test_varset::varset_are_lex_ordered ... ok
[INFO] [stdout] test common::test_domain::from_range_inclusive_single_value ... ok
[INFO] [stdout] test common::test_varset::is_empty_means_len_zero ... ok
[INFO] [stdout] test common::test_domain::from_vector_empty ... ok
[INFO] [stdout] test common::tests_bitset_iter::bsiter_collect ... ok
[INFO] [stdout] test common::test_varset_iter::vsiter_collect ... ok
[INFO] [stdout] test common::test_varset_iter::vsiter_no_items ... ok
[INFO] [stdout] test common::test_varset_iter::vsiter_mutiple_words ... ok
[INFO] [stdout] test common::test_varset::iter_lets_you_iterate_over_all_variables_in_the_set ... ok
[INFO] [stdout] test common::test_varset::remove_has_no_effect_when_variable_already_absent ... ok
[INFO] [stdout] test common::tests_bitset_iter::bsiter_mutiple_words ... ok
[INFO] [stdout] test common::tests_bitset_iter::bsiter_no_items ... ok
[INFO] [stdout] test common::tests_lexbitset::same_size_greater_than ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::by_default_it_is_empty ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::when_i_pop_a_node_off_the_frontier_then_the_length_decreases ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::when_i_push_an_existing_node_onto_the_frontier_then_the_length_does_not_increases ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::when_i_push_a_non_existing_node_onto_the_frontier_then_the_length_increases ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::when_i_pop_a_node_it_is_always_the_one_with_the_largest_ub_then_lp ... ok
[INFO] [stdout] test implementation::frontier::test_simple_frontier::when_i_clear_a_non_empty_frontier_it_becomes_empty ... ok
[INFO] [stdout] test implementation::frontier::test_simple_frontier::when_i_pop_a_node_it_is_always_the_one_with_the_largest_ub_then_lp ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::when_the_size_is_zero_then_it_is_empty ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::when_the_size_is_greater_than_zero_it_is_not_empty ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::when_i_try_to_pop_a_node_off_an_empty_frontier_i_get_none ... ok
[INFO] [stdout] test common::tests_lexbitset::same_size_less_than ... ok
[INFO] [stdout] test implementation::frontier::test_simple_frontier::by_default_it_is_empty ... ok
[INFO] [stdout] test implementation::frontier::test_simple_frontier::when_i_push_a_node_onto_the_frontier_then_the_length_increases ... ok
[INFO] [stdout] test common::test_varset_iter::vsiter_next_normal_case ... ok
[INFO] [stdout] test implementation::frontier::test_simple_frontier::when_i_pop_a_node_off_the_frontier_then_the_length_decreases ... ok
[INFO] [stdout] test common::tests_bitset_iter::bsiter_next_normal_case ... ok
[INFO] [stdout] test common::tests_lexbitset::same_size_equal ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::when_i_clear_an_empty_frontier_it_remains_empty ... ok
[INFO] [stdout] test common::tests_lexbitset::different_sizes_considered_padded_with_zeroes ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::when_i_pop_a_node_off_the_frontier_for_which_multiple_copies_have_been_added_then_i_retrieve_the_one_with_longest_path ... ok
[INFO] [stdout] test implementation::heuristics::test_load_var_from_pa::all_vars_assigned ... ok
[INFO] [stdout] test implementation::frontier::test_simple_frontier::when_i_try_to_pop_a_node_off_an_empty_frontier_i_get_none ... ok
[INFO] [stdout] test implementation::frontier::test_simple_frontier::when_i_clear_an_empty_frontier_it_remains_empty ... ok
[INFO] [stdout] test implementation::frontier::test_simple_frontier::when_the_size_is_greater_than_zero_it_is_not_empty ... ok
[INFO] [stdout] test implementation::heuristics::test_fixedwidth::empty ... ok
[INFO] [stdout] test implementation::heuristics::test_fixedwidth::all ... ok
[INFO] [stdout] test implementation::heuristics::test_load_var_from_pa::at_root ... ok
[INFO] [stdout] test implementation::heuristics::test_load_var_from_pa::some_vars_assigned ... ok
[INFO] [stdout] test implementation::heuristics::test_adapters::test_div_by ... ok
[INFO] [stdout] test implementation::heuristics::test_maxub::eq_because_all_match ... ok
[INFO] [stdout] test implementation::heuristics::test_maxub::lt_because_lplen ... ok
[INFO] [stdout] test implementation::heuristics::test_maxub::lt_because_ub ... ok
[INFO] [stdout] test implementation::heuristics::test_minlp::eq_self ... ok
[INFO] [stdout] test implementation::heuristics::test_minlp::example ... ok
[INFO] [stdout] test implementation::heuristics::test_minlp::gt_because_of_lplen ... ok
[INFO] [stdout] test implementation::heuristics::test_minlp::lt_because_of_lplen ... ok
[INFO] [stdout] test implementation::heuristics::test_nbunassigned::non_empty ... ok
[INFO] [stdout] test implementation::heuristics::test_maxub::example ... ok
[INFO] [stdout] test implementation::heuristics::test_maxub::eq_self ... ok
[INFO] [stdout] test implementation::mdd::config::tests::domain_is_pass_though_for_problem ... ok
[INFO] [stdout] test implementation::mdd::config::tests::estimate_ub_is_a_pass_through_for_relaxation ... ok
[INFO] [stdout] test implementation::mdd::config::tests::compare_is_a_pass_through_to_node_selection_heuristic ... ok
[INFO] [stdout] test implementation::mdd::config::tests::it_can_build_a_deep_mdd ... ok
[INFO] [stdout] test implementation::mdd::config::tests::it_can_build_a_flat_mdd ... ok
[INFO] [stdout] test implementation::mdd::config::tests::it_can_build_a_plain_config ... ok
[INFO] [stdout] test implementation::mdd::config::tests::it_can_build_a_pooled_mdd ... ok
[INFO] [stdout] test implementation::mdd::config::tests::load_vars_is_pass_through_for_heuristic ... ok
[INFO] [stdout] test implementation::mdd::config::tests::max_width_is_pass_through_for_heuristic ... ok
[INFO] [stdout] test implementation::mdd::config::tests::merge_states_is_a_pass_through_for_relaxation_empty ... ok
[INFO] [stdout] test implementation::mdd::config::tests::must_stop_is_pass_through_to_heuristic ... ok
[INFO] [stdout] test implementation::mdd::config::tests::relax_edge_is_a_pass_through_for_relaxation ... ok
[INFO] [stdout] test implementation::mdd::config::tests::root_node_uses_problem_initial_state_value_and_relaxation_estimate_on_root_state ... ok
[INFO] [stdout] test implementation::mdd::config::tests::select_var_is_a_pass_through_to_heuristic ... ok
[INFO] [stdout] test implementation::mdd::config::tests::transition_cost_is_pass_though_for_problem ... ok
[INFO] [stdout] test implementation::mdd::config::tests::transition_is_pass_though_for_problem ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::a_relaxed_mdd_is_exact_as_long_as_no_merge_occurs ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::a_relaxed_mdd_is_not_exact_when_a_merge_occured ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::a_restricted_mdd_is_exact_as_long_as_no_restriction_occurs ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::a_restricted_mdd_is_not_exact_when_a_restriction_occured ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::an_exact_mdd_must_be_exact ... ok
[INFO] [stdout] test implementation::frontier::test_no_dup_frontier::when_i_clear_a_non_empty_frontier_it_becomes_empty ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::exact_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::heuristics::test_nbunassigned::empty ... ok
[INFO] [stdout] test implementation::frontier::test_simple_frontier::when_the_size_is_zero_then_it_is_empty ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::exact_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::heuristics::test_naturalorder::example ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::exact_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::by_default_the_mdd_type_is_exact ... ok
[INFO] [stdout] test implementation::heuristics::test_nbunassigned::all ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::exact_completely_unrolls_the_mdd_no_matter_its_width ... ok
[INFO] [stdout] test implementation::mdd::config::tests::merge_nodes_is_a_pass_through_for_relaxation_nonempty ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::relaxed_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::mdd_type_changes_depending_on_the_requested_type_of_mdd ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::relaxed_populates_the_cutset_and_will_not_squash_first_layer ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::relaxed_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::relaxed_computes_local_bounds ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::restricted_no_cutoff_completion_must_be_coherent_with_outcome_ ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::relaxed_merges_the_less_interesting_nodes ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::restricted_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::root_remembers_the_pa_from_the_frontier_node ... ok
[INFO] [stdout] test implementation::heuristics::test_maxub::gt_because_lplen ... ok
[INFO] [stdout] test implementation::heuristics::test_fixedwidth::non_empty ... ok
[INFO] [stdout] test implementation::heuristics::test_adapters::test_times ... ok
[INFO] [stdout] test implementation::heuristics::test_decreasing::example ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::when_the_problem_is_infeasible_there_is_no_solution ... ok
[INFO] [stdout] test implementation::heuristics::test_minlp::eq_if_all_match_but_state ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::a_new_graph_has_one_empty_layer ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::relaxed_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_layer_clears_state_map ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_edge_just_adds_an_edge_with_given_information ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_layer_adds_a_new_layer_starting_at_end_of_previous_one ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_node_returns_existing_node_when_one_with_same_state_belongs_to_current_layer ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_root_creates_a_new_exact_disconnected_node ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_root_does_not_override_previous_root ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::best_solution ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::best_terminal ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_root_increases_the_nodes_count ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::branch_reuses_target_node_and_adds_an_edge ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::branch_will_keep_the_best_parent_and_value_if_it_needs_to_be_updated ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_root_increases_the_width_of_first_layer ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::branch_creates_target_node_and_adds_an_edge ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::branch_will_make_target_node_inexact_if_one_of_the_parents_is_inexact ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::default_graph_has_one_empty_layer ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::clear_resets_the_graph_state_as_if_it_were_fresh ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::default_graph_is_empty ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::current_layer_returns_current_layer ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::graph_is_exact_as_long_as_it_has_not_been_restricted ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::graph_is_exact_as_long_as_it_has_not_been_relaxed ... ok
[INFO] [stdout] test implementation::heuristics::test_maxub::gt_because_ub ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::has_exact_best_path_can_be_called_for_non_terminal_node ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::longest_path ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_node_adds_a_new_node_when_it_does_not_exists ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::restricted_drops_the_less_interesting_nodes ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_node_performs_no_inter_layer_reduction ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::restricted_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::layer_nodes_returns_a_slice_with_the_appropriate_nodes ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::node_has_no_exact_best_path_when_it_is_relaxed ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::parents_returns_an_iterator_over_the_parent_nodes ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::node_has_no_exact_best_path_when_longest_path_crosses_relaxed_node ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_layer_uses_node_selection_heuristic_to_rank_nodes_and_renames_others ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_layer_can_produce_lesser_max_width_when_merged_state_already_exists ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_layer_will_bring_about_one_node_unless_merged_state_is_already_known ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_layer_will_bring_about_one_node ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_makes_the_graph_inexact ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_redirects_the_edges_of_deleted_nodes_to_the_merged_node ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_relaxes_the_weight_of_all_redirected_edges ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_remembers_the_state_of_merged_node ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_remembers_the_last_exact_layer_if_needed ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_layer_forgets_the_state_of_deleted_nodes ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::a_new_graph_is_empty ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_root_insert_root_state_in_state_map ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::nb_edges_counts_the_number_of_edges_in_a_graph ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::nb_node_counts_the_number_of_nodes_in_a_graph ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_remembers_the_state_of_merged_node_even_if_it_corresponds_to_that_of_one_that_was_deleted ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::none_has_a_trivial_exact_best_path ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_layer_enforces_the_given_max_width ... ok
[INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::when_the_problem_is_infeasible_the_best_value_is_min_infinity ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::node_has_exact_best_path_when_it_is_exact ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::node_has_exact_best_path_when_it_is_not_exact_but_its_longest_path_is_exact ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::remember_lel_remembers_the_last_exact_layer ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::restrict_last_makes_the_graph_inexact ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::restrict_last_deletes_the_edges_of_deleted_nodes_and_renames_others ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::restrict_last_layer_enforces_the_given_width ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_updates_best_parent_and_value_if_merged_node_already_exists ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_updates_best_parent_and_value_relaxed_edge_improve_value ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::restrict_last_layer_uses_node_selection_heuristic_to_rank_nodes_and_renames_others ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::restrict_last_layer_forgets_the_state_of_deleted_nodes ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::restrict_last_remembers_the_last_exact_layer_if_needed ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_will_not_update_best_parent_and_value_when_there_is_no_improvement ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::remember_lel_has_no_effect_when_lel_is_present ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::sort_ensures_that_end_of_an_edge_is_coherent_with_its_node ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::when_branch_reuses_target_node_it_updates_inbound_edge_list ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::restrict_last_layer_will_not_bring_about_new_nodes ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_node_data::is_feasible_iff_marked_so ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_node_data::is_relaxed_iff_node_was_relaxed ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::sort_ensures_that_state_map_is_coherent_with_new_position ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_node_data::new_can_create_a_new_relaxed_node ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_node_data::new_can_create_a_new_exact_node ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_node_data::is_relaxed_iff_marked_exact_and_not_relaxed ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::test_add_node ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_node_data::state_ref_yields_an_arc_reference_to_the_state ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_node_data::when_created_a_node_is_disconnected_from_graph ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_node_data::state_yields_a_plain_reference_to_the_state ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::a_relaxed_mdd_is_exact_as_long_as_no_merge_occurs ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::a_relaxed_mdd_is_not_exact_when_a_merge_occured ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::a_restricted_mdd_is_exact_as_long_as_no_restriction_occurs ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::by_default_the_mdd_type_is_exact ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::an_exact_mdd_must_be_exact ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::exact_completely_unrolls_the_mdd_no_matter_its_width ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::exact_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::exact_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::exact_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::relaxed_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::a_restricted_mdd_is_not_exact_when_a_restriction_occured ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::mdd_type_changes_depending_on_the_requested_type_of_mdd ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::relaxed_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::relaxed_merges_the_less_interesting_nodes ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::restricted_drops_the_less_interesting_nodes ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::test_relax_last_layer_when_width_is_one ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::sort_does_not_change_the_graph_for_the_outer_world ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::restricted_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::restricted_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::sort_ensures_that_nodes_id_are_coherent_with_their_position ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_layerdata::width_equals_the_number_of_nodes_in_the_layer ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::root_returns_the_first_node ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::relaxed_populates_the_cutset_and_will_not_squash_first_layer ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::restricted_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::test_delete_edges ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_node_data::value_returns_the_longest_path_from_the_root ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::when_the_problem_is_infeasible_there_is_no_solution ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::a_restricted_mdd_is_not_exact_when_a_restriction_occured ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::by_default_the_mdd_type_is_exact ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::when_the_problem_is_infeasible_the_best_value_is_min_infinity ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::a_relaxed_mdd_is_exact_as_long_as_no_merge_occurs ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::an_exact_mdd_must_be_exact ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::relaxed_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_layerdata::when_start_and_end_are_the_same_the_layer_is_empty ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::exact_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::relaxed_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::a_relaxed_mdd_is_not_exact_when_a_merge_occured ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::relaxed_populates_the_cutset_and_will_not_squash_first_layer ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::exact_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::relaxed_merges_the_less_interesting_nodes ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::a_restricted_mdd_is_exact_as_long_as_no_restriction_occurs ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::relaxed_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::when_the_problem_is_infeasible_the_best_value_is_min_infinity ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::restricted_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::a_relaxed_mdd_is_exact_as_long_as_no_merge_occurs ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::exact_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::mdd_type_changes_depending_on_the_requested_type_of_mdd ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::restricted_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::when_the_problem_is_infeasible_there_is_no_solution ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::a_restricted_mdd_is_not_exact_when_a_restriction_occured ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::a_relaxed_mdd_is_not_exact_when_a_merge_occured ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::exact_completely_unrolls_the_mdd_no_matter_its_width ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::a_restricted_mdd_is_exact_as_long_as_no_restriction_occurs ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::restricted_drops_the_less_interesting_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::an_exact_mdd_must_be_exact ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::relaxed_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::exact_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::exact_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::relaxed_populates_the_cutset_and_will_not_squash_first_layer ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::restricted_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::relaxed_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::relaxed_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::by_default_the_mdd_type_is_exact ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::relaxed_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::relaxed_merges_the_less_interesting_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::exact_completely_unrolls_the_mdd_no_matter_its_width ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::restricted_drops_the_less_interesting_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::when_the_problem_is_infeasible_there_is_no_solution ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::restricted_no_cutoff_completion_must_be_coherent_with_outcome_ ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_layer_enforces_the_given_max_width ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_layer_forgets_the_state_of_deleted_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::branch_inserts_a_node_with_given_state_when_none_exists ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::branch_updates_existing_node_to_remember_last_decision_and_path_if_it_improves_value ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_makes_the_graph_inexact ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_layer_will_bring_about_one_node_unless_merged_state_is_already_known ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_layer_uses_node_selection_heuristic_to_rank_nodes_and_renames_others ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_layer_will_bring_about_one_node ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::restricted_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::branch_wont_update_existing_node_to_remember_last_decision_and_path_if_it_doesnt_improve_value ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::when_the_problem_is_infeasible_the_best_value_is_min_infinity ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_layer_can_produce_lesser_max_width_when_merged_state_already_exists ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_relaxes_the_weight_of_all_redirected_best_edges ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_remembers_the_state_of_merged_node ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_remembers_the_state_of_merged_node_even_if_it_corresponds_to_that_of_one_that_was_deleted ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_remembers_the_last_exact_layer_if_needed ... ok
[INFO] [stdout] test implementation::heuristics::test_adapters::test_div_by_panics_when_div_by_zero ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::remember_lel_has_no_effect_when_lel_is_present ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::restrict_last_layer_uses_node_selection_heuristic_to_rank_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::restrict_last_layer_will_not_bring_about_new_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::restrict_last_makes_the_graph_inexact ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::restrict_last_remembers_the_last_exact_layer_if_needed ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::restrict_last_wont_panic_if_layer_is_not_broad_enough ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::test_relax_last_layer_when_width_is_one ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::a_relaxed_mdd_is_exact_as_long_as_no_merge_occurs ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::a_relaxed_mdd_is_not_exact_when_a_merge_occured ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::a_relaxed_mdd_populates_frontier_cutset ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::a_restricted_mdd_is_exact_as_long_as_no_restriction_occurs ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::a_restricted_mdd_is_not_exact_when_a_restriction_occured ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::an_exact_mdd_must_be_exact ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::by_default_the_mdd_type_is_exact ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::exact_completely_unrolls_the_mdd_no_matter_its_width ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::exact_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_panics_if_width_is_0 ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::exact_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_panics_if_layer_is_not_broad_enough ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::exact_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::relaxed_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::remember_lel_remembers_the_last_exact_layer ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::restrict_last_layer_enforces_the_max_width ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::relaxed_merges_the_less_interesting_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::restrict_last_layer_forgets_the_state_of_deleted_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::relaxed_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::mdd_type_changes_depending_on_the_requested_type_of_mdd ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_will_not_update_best_parent_and_value_when_there_is_no_improvement ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::restricted_no_cutoff_completion_must_be_coherent_with_outcome_ ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::restricted_drops_the_less_interesting_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::restricted_skips_node_with_an_ub_less_than_best_known_lb ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::when_the_problem_is_infeasible_the_best_value_is_min_infinity ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::restricted_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::branch_inserts_a_node_with_given_state_when_none_exists ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_layer_enforces_the_given_max_width ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_layer_can_produce_lesser_max_width_when_merged_state_already_exists ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_layer_forgets_the_state_of_deleted_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_layer_uses_node_selection_heuristic_to_rank_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_layer_will_bring_about_one_node_unless_merged_state_is_already_known ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_panics_if_layer_is_not_broad_enough ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_makes_the_graph_inexact ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_populates_the_cutset ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_panics_if_width_is_0 ... ok
[INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::restrict_last_panics_if_layer_is_not_broad_enough ... ok
[INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::restricted_fails_with_cutoff_when_cutoff_occurs ... ok
[INFO] [stdout] test common::test_varset::contains_panic_when_over_the_max_number_of_vars ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_relaxes_the_weight_of_all_redirected_best_edges ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::mdd_type_changes_depending_on_the_requested_type_of_mdd ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_remembers_the_state_of_merged_node_even_if_it_corresponds_to_that_of_one_that_was_deleted ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_remembers_the_state_of_merged_node ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::when_the_problem_is_infeasible_there_is_no_solution ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::branch_wont_update_existing_node_to_remember_last_decision_and_path_if_it_doesnt_improve_value ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::branch_updates_existing_node_to_remember_last_decision_and_path_if_it_improves_value ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_updates_best_parent_and_value_relaxed_edge_improve_value ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_updates_best_parent_and_value_if_merged_node_already_exists ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::relaxed_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_layer_will_bring_about_one_node ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::exact_no_cutoff_completion_must_be_coherent_with_outcome ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::restrict_last_layer_will_not_bring_about_new_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_will_not_update_best_parent_and_value_when_there_is_no_improvement ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::restrict_last_layer_uses_node_selection_heuristic_to_rank_nodes ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::restrict_last_will_not_populate_cutset ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::restrict_last_layer_enforces_the_max_width ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::restrict_last_makes_the_graph_inexact ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_panics_if_width_is_0 ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_updates_best_parent_and_value_if_merged_node_already_exists ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_updates_best_parent_and_value_relaxed_edge_improve_value ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::merging_exact_and_relaxed_yields_relaxed_if_best_has_relaxed_flag ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::selectable_node_yields_the_nodes_value ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::merging_exact_and_relaxed_not_relaxed_if_best_not_relaxed ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::node_has_exact_best_iff_relaxed_flag_is_not_set ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::test_from_frontier_node ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::test_into_frontier_with_path ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::at_creation_time_feasible_flag_is_never_set ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::merging_two_exact_nodes_has_no_effect_when_second_has_equal_value ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::selectable_node_is_exact_iff_flags_is_exact_and_not_relaxed ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::by_default_only_the_exact_flag_is_on ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::test_into_frontier_node_no_path ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::add_turns_one_or_more_flags_on ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::merging_two_exact_nodes_has_no_effect_when_second_has_lower_value ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::merging_two_nodes_updates_best_edge_and_value_when_second_has_higher_value ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::is_exact_iff_marked_so_and_not_relaxed ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::is_relaxed_iff_created_or_marked_relaxed ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::new_can_be_relaxed_or_not ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::is_feasible_iff_marked_so ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::selectable_node_yields_a_ref_to_this_state ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::merging_exact_and_inexact_makes_the_result_inexact ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::test_relax_last_layer_when_width_is_one ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::restrict_last_wont_panic_if_layer_is_not_broad_enough ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::test_checks_the_value_of_more_than_one_flag ... ok
[INFO] [stdout] test implementation::solver::parallel::test_solver::by_default_verbosity_is_zero ... ok
[INFO] [stdout] test implementation::solver::parallel::test_solver::num_threads_can_be_customized ... ok
[INFO] [stdout] test implementation::solver::parallel::test_solver::empty_fringe_before_solving ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::test_yields_the_value_of_the_flag ... ok
[INFO] [stdout] test implementation::solver::sequential::test_solver::by_default_verbosity_is_zero ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::merging_exact_and_relaxed_clears_relaxed_flag_if_best_not_relaxed ... ok
[INFO] [stdout] test implementation::solver::parallel::test_solver::verbosity_can_be_customized ... ok
[INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_panics_if_layer_is_not_broad_enough ... ok
[INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::restrict_last_layer_forgets_the_state_of_deleted_nodes ... ok
[INFO] [stdout] test implementation::solver::parallel::test_solver::num_threads_and_verbosity_can_be_customized ... ok
[INFO] [stdout] test implementation::solver::sequential::test_solver::maximizes_yields_the_optimum ... ok
[INFO] [stdout] test implementation::solver::sequential::test_solver::empty_fringe_before_solving ... ok
[INFO] [stdout] test implementation::solver::sequential::test_solver::default_best_lb_is_neg_infinity ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::set_turns_one_or_more_flags_on_or_off ... ok
[INFO] [stdout] test implementation::solver::sequential::test_solver::default_best_ub_is_pos_infinity ... ok
[INFO] [stdout] test implementation::solver::parallel::test_solver::default_best_lb_is_neg_infinity ... ok
[INFO] [stdout] test implementation::mdd::shallow::utils::test_node::set_exact_changes_the_value_of_exact_flag ... ok
[INFO] [stdout] test implementation::mdd::utils::test_node_flags::remove_turns_one_or_more_flags_off ... ok
[INFO] [stdout] test implementation::solver::parallel::test_solver::no_solution_before_solving ... ok
[INFO] [stdout] test implementation::solver::parallel::test_solver::set_primal_overwrites_best_value_and_sol_if_it_improves ... ok
[INFO] [stdout] test implementation::solver::parallel::test_solver::maximizes_yields_the_optimum_2 ... ok
[INFO] [stdout] test implementation::solver::parallel::test_solver::by_default_it_uses_all_hw_threads ... ok
[INFO] [stdout] test implementation::solver::sequential::test_solver::maximizes_yields_the_optimum_2 ... ok
[INFO] [stdout] test implementation::solver::sequential::test_solver::no_solution_before_solving ... ok
[INFO] [stdout] test implementation::solver::sequential::test_solver::set_primal_overwrites_best_value_and_sol_if_it_improves ... ok
[INFO] [stdout] test implementation::solver::sequential::test_solver::verbosity_can_be_customized ... ok
[INFO] [stderr]    Doc-tests ddo
[INFO] [stdout] test implementation::solver::parallel::test_solver::maximizes_yields_the_optimum ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 416 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::NbUnassignedWitdh (line 180) ... ok
[INFO] [stdout] test src/common.rs - common::VarSet (line 455) ... ok
[INFO] [stdout] test src/common.rs - common::Variable::id (line 60) ... ok
[INFO] [stdout] test src/common.rs - common::BitSetIter (line 543) ... ok
[INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::TimeBudget (line 383) ... FAILED
[INFO] [stdout] test src/common.rs - common::VarSetIter (line 516) ... ok
[INFO] [stdout] test src/common.rs - common::PartialAssignment::iter (line 333) ... ok
[INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::DivBy (line 247) ... ok
[INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::Decreasing (line 89) ... ok
[INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::MaxUB (line 335) ... ok
[INFO] [stdout] test src/common.rs - common::Domain (line 84) ... ok
[INFO] [stdout] test src/common.rs - common::LexBitSet (line 618) ... ok
[INFO] [stdout] test src/common.rs - common::Matrix (line 698) ... ok
[INFO] [stdout] test src/common.rs - common::Solution (line 237) ... ok
[INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::FixedWidth (line 144) ... ok
[INFO] [stdout] test src/common.rs - common::PartialAssignment (line 272) ... ok
[INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::NaturalOrder (line 44) ... ok
[INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::Times (line 211) ... ok
[INFO] [stdout] test src/lib.rs - (line 53) ... ok
[INFO] [stdout] test src/implementation/mdd/config.rs - implementation::mdd::config::ConfigurationBuilder (line 165) ... ok
[INFO] [stdout] test src/implementation/mdd/shallow/flat.rs - implementation::mdd::shallow::flat::FlatMDD (line 67) ... ok
[INFO] [stdout] test src/lib.rs - (line 100) ... ok
[INFO] [stdout] test src/implementation/mdd/shallow/pooled.rs - implementation::mdd::shallow::pooled::PooledMDD (line 53) ... ok
[INFO] [stdout] test src/implementation/mdd/deep/mddgraph.rs - implementation::mdd::deep::mddgraph::LayerData (line 217) ... ok
[INFO] [stdout] test src/implementation/mdd/config.rs - implementation::mdd::config::mdd_builder (line 44) ... ok
[INFO] [stdout] test src/implementation/mdd/config.rs - implementation::mdd::config::config_builder (line 96) ... ok
[INFO] [stdout] test src/implementation/solver/sequential.rs - implementation::solver::sequential::SequentialSolver (line 34) ... ok
[INFO] [stdout] test src/lib.rs - (line 130) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/implementation/heuristics.rs - implementation::heuristics::TimeBudget (line 383) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `ddo::test_utils`
[INFO] [stdout]  --> src/implementation/heuristics.rs:384:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ddo::test_utils::{MockProblem, MockRelax};
[INFO] [stdout]   |          ^^^^^^^^^^ could not find `test_utils` in `ddo`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ParallelSolver`
[INFO] [stdout]   --> src/implementation/heuristics.rs:395:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | let mut solver = ParallelSolver::new(mdd);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 3  | use ddo::implementation::solver::parallel::ParallelSolver;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/implementation/heuristics.rs - implementation::heuristics::TimeBudget (line 383)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 27 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--doc'
[INFO] running `Command { std: "docker" "inspect" "6109341cd59f22bfe87e1a8cbcefc84c0ca40ee33307918d65a3aa53a97adc9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6109341cd59f22bfe87e1a8cbcefc84c0ca40ee33307918d65a3aa53a97adc9a", kill_on_drop: false }`
[INFO] [stdout] 6109341cd59f22bfe87e1a8cbcefc84c0ca40ee33307918d65a3aa53a97adc9a
