[INFO] fetching crate ddo 0.5.0... [INFO] testing ddo-0.5.0 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate ddo 0.5.0 into /workspace/builds/worker-6/source [INFO] validating manifest of crates.io crate ddo 0.5.0 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate ddo 0.5.0 [INFO] finished tweaking crates.io crate ddo 0.5.0 [INFO] tweaked toml for crates.io crate ddo 0.5.0 written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate crates.io crate ddo 0.5.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", 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] 285643c239a3d6e6b1c19fcf1b28826276e5908546ea384a31e57929c29ff529 [INFO] running `Command { std: "docker" "start" "-a" "285643c239a3d6e6b1c19fcf1b28826276e5908546ea384a31e57929c29ff529", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "285643c239a3d6e6b1c19fcf1b28826276e5908546ea384a31e57929c29ff529", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "285643c239a3d6e6b1c19fcf1b28826276e5908546ea384a31e57929c29ff529", kill_on_drop: false }` [INFO] [stdout] 285643c239a3d6e6b1c19fcf1b28826276e5908546ea384a31e57929c29ff529 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1d8df0c41b33e34e6db62c0db01c1f6498072454316987a33351a826f5b56166 [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" "1d8df0c41b33e34e6db62c0db01c1f6498072454316987a33351a826f5b56166", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.80 [INFO] [stderr] Compiling const_fn v0.4.4 [INFO] [stderr] Compiling smallvec v1.5.0 [INFO] [stderr] Compiling compare v0.1.0 [INFO] [stderr] Compiling bitset-fixed v0.1.0 [INFO] [stderr] Compiling smallbitset v0.3.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.1 [INFO] [stderr] Compiling memoffset v0.6.1 [INFO] [stderr] Compiling binary-heap-plus v0.4.0 [INFO] [stderr] Compiling parking_lot_core v0.8.1 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling parking_lot v0.11.1 [INFO] [stderr] Compiling crossbeam-epoch v0.9.1 [INFO] [stderr] Compiling crossbeam-queue v0.3.1 [INFO] [stderr] Compiling crossbeam-channel v0.5.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.0 [INFO] [stderr] Compiling crossbeam v0.8.0 [INFO] [stderr] Compiling ddo v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field is never read: `timer` [INFO] [stdout] --> src/implementation/heuristics.rs:415:5 [INFO] [stdout] | [INFO] [stdout] 415 | timer : Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `TimeBudget` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/implementation/heuristics.rs:413:10 [INFO] [stdout] | [INFO] [stdout] 413 | #[derive(Debug, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 16.73s [INFO] running `Command { std: "docker" "inspect" "1d8df0c41b33e34e6db62c0db01c1f6498072454316987a33351a826f5b56166", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d8df0c41b33e34e6db62c0db01c1f6498072454316987a33351a826f5b56166", kill_on_drop: false }` [INFO] [stdout] 1d8df0c41b33e34e6db62c0db01c1f6498072454316987a33351a826f5b56166 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--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] 8a27fd48e3a484aa0bb6ece3b195caa842488833e8e16ab01f01e963071c3f04 [INFO] running `Command { std: "docker" "start" "-a" "8a27fd48e3a484aa0bb6ece3b195caa842488833e8e16ab01f01e963071c3f04", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.53 [INFO] [stderr] Compiling regex-syntax v0.6.21 [INFO] [stderr] Compiling mock-it v0.3.0 [INFO] [stderr] Compiling peak_alloc v0.1.0 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stdout] warning: field is never read: `timer` [INFO] [stdout] --> src/implementation/heuristics.rs:415:5 [INFO] [stdout] | [INFO] [stdout] 415 | timer : Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `TimeBudget` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/implementation/heuristics.rs:413:10 [INFO] [stdout] | [INFO] [stdout] 413 | #[derive(Debug, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling regex v1.4.2 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling structopt-derive v0.4.14 [INFO] [stderr] Compiling structopt v0.3.21 [INFO] [stderr] Compiling ddo v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field is never read: `timer` [INFO] [stdout] --> src/implementation/heuristics.rs:415:5 [INFO] [stdout] | [INFO] [stdout] 415 | timer : Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `TimeBudget` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/implementation/heuristics.rs:413:10 [INFO] [stdout] | [INFO] [stdout] 413 | #[derive(Debug, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1m 34s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/ddo-cd0f13fb841456e8) [INFO] running `Command { std: "docker" "inspect" "8a27fd48e3a484aa0bb6ece3b195caa842488833e8e16ab01f01e963071c3f04", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a27fd48e3a484aa0bb6ece3b195caa842488833e8e16ab01f01e963071c3f04", kill_on_drop: false }` [INFO] [stdout] 8a27fd48e3a484aa0bb6ece3b195caa842488833e8e16ab01f01e963071c3f04 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "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] b22a248f0dbc7582387f1455e781de85496f8748ca923b6847a5d418c2a0c5ce [INFO] running `Command { std: "docker" "start" "-a" "b22a248f0dbc7582387f1455e781de85496f8748ca923b6847a5d418c2a0c5ce", kill_on_drop: false }` [INFO] [stderr] warning: field is never read: `timer` [INFO] [stderr] --> src/implementation/heuristics.rs:415:5 [INFO] [stderr] | [INFO] [stderr] 415 | timer : Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] note: `TimeBudget` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/implementation/heuristics.rs:413:10 [INFO] [stderr] | [INFO] [stderr] 413 | #[derive(Debug, Clone)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `ddo` (lib) generated 1 warning [INFO] [stderr] warning: `ddo` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ddo-cd0f13fb841456e8) [INFO] [stdout] [INFO] [stdout] running 538 tests [INFO] [stdout] test abstraction::dp::test_problem_defaults::by_default_all_vars_impact_all_states ... ok [INFO] [stdout] test abstraction::dp::test_problem_defaults::the_default_rough_upper_bound_is_infinity ... ok [INFO] [stdout] test common::test_domain::from_bitset_empty ... ok [INFO] [stdout] test abstraction::dp::test_problem_defaults::by_default_all_vars_return_all_possible_variables ... ok [INFO] [stdout] test common::test_domain::from_range_empty_positive ... ok [INFO] [stdout] test common::test_domain::from_range_inclusive_empty_going_negative ... ok [INFO] [stdout] test common::test_domain::from_range_non_empty ... ok [INFO] [stdout] test common::test_domain::from_set128_non_empty ... ok [INFO] [stdout] test common::test_domain::from_set64_empty ... ok [INFO] [stdout] test common::test_domain::from_set8_empty ... ok [INFO] [stdout] test common::test_domain::from_set8_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_set32_empty ... ok [INFO] [stdout] test common::test_domain::from_varset_non_empty ... ok [INFO] [stdout] test common::test_domain::from_vector_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_everything_equal ... 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_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_domain::from_range_inclusive_single_value ... ok [INFO] [stdout] test common::test_domain::from_bitset_non_empty ... ok [INFO] [stdout] test common::test_domain::from_varset_empty ... 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_domain::from_range_empty_going_negative ... ok [INFO] [stdout] test common::test_domain::from_range_inclusive_non_empty ... 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_partial_assignment::single_extension_adds_one_decision ... ok [INFO] [stdout] test common::test_domain::from_set32_non_empty ... ok [INFO] [stdout] test common::test_varset::add_has_no_effect_when_var_is_already_present ... ok [INFO] [stdout] test common::test_domain::from_set64_non_empty ... ok [INFO] [stdout] test common::test_domain::from_set16_non_empty ... 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_varset::add_adds_the_variable ... ok [INFO] [stdout] test common::test_domain::from_set16_empty ... ok [INFO] [stdout] test common::test_partial_assignment::iterating_over_an_empty_partial_assignment_yields_no_decision ... ok [INFO] [stdout] test common::test_domain::from_set128_empty ... ok [INFO] [stdout] test common::test_partial_assignment::empty_pa_has_no_decision ... ok [INFO] [stdout] test common::test_varset::all_contains_all_variables ... ok [INFO] [stdout] test common::test_varset_iter::vsiter_collect ... 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_is_initialized_with_default_elem ... ok [INFO] [stdout] test common::test_varset_iter::vsiter_mutiple_words ... 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_given_elem ... ok [INFO] [stdout] test common::test_varset::remove_has_no_effect_when_variable_already_absent ... ok [INFO] [stdout] test common::test_varset::iter_lets_you_iterate_over_all_variables_in_the_set ... ok [INFO] [stdout] test common::tests_bitset_iter::bsiter_collect ... ok [INFO] [stdout] test common::test_varset_iter::vsiter_next_normal_case ... ok [INFO] [stdout] test common::test_varset::varset_are_lex_ordered ... ok [INFO] [stdout] test common::test_varset::is_empty_means_len_zero ... ok [INFO] [stdout] test common::tests_bitset_iter::bsiter_mutiple_words ... ok [INFO] [stdout] test common::test_varset::remove_drops_the_variable ... ok [INFO] [stdout] test common::test_varset::len_indicates_the_size_of_the_set ... ok [INFO] [stdout] test common::test_varset_iter::vsiter_no_items ... ok [INFO] [stdout] test common::tests_bitset_iter::bsiter_next_normal_case ... ok [INFO] [stdout] test common::test_varset::empty_contains_no_variable ... ok [INFO] [stdout] test common::tests_lexbitset::different_sizes_considered_padded_with_zeroes ... ok [INFO] [stdout] test common::tests_lexbitset::same_size_equal ... ok [INFO] [stdout] test common::tests_lexbitset::same_size_greater_than ... ok [INFO] [stdout] test implementation::frontier::test_no_forget_frontier::by_default_it_is_empty ... ok [INFO] [stdout] test implementation::frontier::test_no_forget_frontier::when_i_clear_an_empty_frontier_it_remains_empty ... 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_i_clear_an_empty_frontier_it_remains_empty ... 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::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::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_try_to_pop_a_node_off_an_empty_frontier_i_get_none ... 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_forget_frontier::when_i_clear_a_non_empty_frontier_it_becomes_empty ... 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_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_forget_frontier::when_i_pop_a_node_off_the_frontier_then_the_length_decreases ... ok [INFO] [stdout] test implementation::frontier::test_no_dup_frontier::by_default_it_is_empty ... ok [INFO] [stdout] test implementation::frontier::test_no_forget_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::frontier::test_no_forget_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_the_size_is_greater_than_zero_it_is_not_empty ... ok [INFO] [stdout] test implementation::frontier::test_no_forget_frontier::when_i_try_to_pop_a_node_off_an_empty_frontier_i_get_none ... ok [INFO] [stdout] test common::tests_bitset_iter::bsiter_no_items ... ok [INFO] [stdout] test implementation::frontier::test_no_forget_frontier::when_i_push_a_better_visited_node_onto_the_frontier_then_the_length_increases ... ok [INFO] [stdout] test implementation::frontier::test_no_forget_frontier::when_i_push_a_worse_visited_node_onto_the_frontier_then_the_length_does_not_increases ... ok [INFO] [stdout] test common::tests_lexbitset::same_size_less_than ... ok [INFO] [stdout] test implementation::frontier::test_no_forget_frontier::when_the_size_is_greater_than_zero_it_is_not_empty ... ok [INFO] [stdout] test implementation::frontier::test_no_forget_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_the_size_is_zero_then_it_is_empty ... ok [INFO] [stdout] test implementation::heuristics::test_decreasing::example ... ok [INFO] [stdout] test implementation::heuristics::test_find_first::find_first_wont_stop_when_the_lb_is_min_infty ... ok [INFO] [stdout] test implementation::heuristics::test_find_first::find_first_stops_whenever_the_lb_is_better_than_min_infty ... ok [INFO] [stdout] test implementation::frontier::test_no_forget_frontier::when_the_size_is_zero_then_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 implementation::frontier::test_simple_frontier::when_i_clear_a_non_empty_frontier_it_becomes_empty ... ok [INFO] [stdout] test implementation::frontier::test_no_forget_frontier::when_i_push_an_existing_node_onto_the_frontier_then_the_length_does_not_increases ... 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 implementation::frontier::test_simple_frontier::when_the_size_is_greater_than_zero_it_is_not_empty ... ok [INFO] [stdout] test implementation::heuristics::test_adapters::test_times ... ok [INFO] [stdout] test implementation::heuristics::test_adapters::test_div_by ... 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::by_default_it_is_empty ... ok [INFO] [stdout] test implementation::heuristics::test_gap_cutoff::gap_cutoff_stops_when_lb_equates_ub ... ok [INFO] [stdout] test implementation::heuristics::test_maxub::eq_because_all_match ... ok [INFO] [stdout] test implementation::heuristics::test_maxub::gt_because_lplen ... ok [INFO] [stdout] test implementation::heuristics::test_maxub::example ... ok [INFO] [stdout] test implementation::heuristics::test_maxub::eq_self ... ok [INFO] [stdout] test implementation::heuristics::test_fixedwidth::all ... ok [INFO] [stdout] test implementation::heuristics::test_fixedwidth::empty ... ok [INFO] [stdout] test implementation::heuristics::test_maxub::gt_because_ub ... ok [INFO] [stdout] test implementation::heuristics::test_gap_cutoff::gap_cutoff_lb_or_ub_are_infinity ... ok [INFO] [stdout] test implementation::heuristics::test_fixedwidth::non_empty ... ok [INFO] [stdout] test implementation::heuristics::test_load_var_from_pa::all_vars_assigned ... ok [INFO] [stdout] test implementation::heuristics::test_gap_cutoff::gap_cutoff_stops_when_the_gap_is_within_tolerance ... 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_maxub::lt_because_lplen ... ok [INFO] [stdout] test implementation::heuristics::test_gap_cutoff::gap_cutoff_wont_stop_when_the_gap_is_greater_than_tolerance ... ok [INFO] [stdout] test implementation::heuristics::test_maxub::lt_because_ub ... 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_i_pop_a_node_it_is_always_the_one_with_the_largest_ub_then_lp ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::a_restricted_mdd_is_not_exact_when_a_restriction_occurred ... ok [INFO] [stdout] test implementation::heuristics::test_minlp::eq_if_all_match_but_state ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::a_restricted_mdd_is_exact_as_long_as_no_restriction_occurs ... ok [INFO] [stdout] test implementation::heuristics::test_naturalorder::example ... ok [INFO] [stdout] test implementation::heuristics::test_minlp::gt_because_of_lplen ... ok [INFO] [stdout] test implementation::heuristics::test_minlp::eq_self ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::by_default_the_mdd_type_is_exact ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::exact_completely_unrolls_the_mdd_no_matter_its_width ... ok [INFO] [stdout] test implementation::heuristics::test_nbunassigned::empty ... ok [INFO] [stdout] test implementation::heuristics::test_nbunassigned::non_empty ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::exact_skips_node_with_an_ub_less_than_best_known_lb ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::config_is_cleared_before_developing_any_mddtype ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::an_exact_mdd_must_be_exact ... ok [INFO] [stdout] test implementation::heuristics::test_nbunassigned::all ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::a_relaxed_mdd_is_exact_as_long_as_no_merge_occurs ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::a_relaxed_mdd_is_not_exact_when_a_merge_occurred ... ok [INFO] [stdout] test implementation::heuristics::test_minlp::lt_because_of_lplen ... ok [INFO] [stdout] test implementation::heuristics::test_minlp::example ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::exact_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::restricted_no_cutoff_completion_must_be_coherent_with_outcome ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::exact_no_cutoff_completion_must_be_coherent_with_outcome ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::restricted_skips_node_with_an_ub_less_than_best_known_lb ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::mdd_type_changes_depending_on_the_requested_type_of_mdd ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::relaxed_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::when_the_problem_is_infeasible_there_is_no_solution ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::relaxed_merges_the_less_interesting_nodes ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::a_restricted_mdd_is_not_exact_when_a_restriction_occurred ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::when_the_problem_is_infeasible_the_best_value_is_min_infinity ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::relaxed_skips_node_with_an_ub_less_than_best_known_lb ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::an_exact_mdd_must_be_exact ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::restricted_drops_the_less_interesting_nodes ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::exact_completely_unrolls_the_mdd_no_matter_its_width ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::a_restricted_mdd_is_exact_as_long_as_no_restriction_occurs ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::upon_layer_is_called_whenever_a_new_layer_is_created ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::relaxed_no_cutoff_completion_must_be_coherent_with_outcome ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::relaxed_populates_the_cutset_and_will_not_squash_first_layer ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::restricted_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_aggressively_bounded_width::upon_insert_is_called_whenever_a_non_existing_node_is_added_to_next_layer ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::exact_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::restricted_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::config::tests::domain_is_pass_though_for_problem ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::by_default_the_mdd_type_is_exact ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::exact_no_cutoff_completion_must_be_coherent_with_outcome ... ok [INFO] [stdout] test implementation::mdd::config::tests::clear_is_pass_through_to_variable_selection ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::mdd_type_changes_depending_on_the_requested_type_of_mdd ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::when_the_problem_is_infeasible_the_best_value_is_min_infinity ... ok [INFO] [stdout] test implementation::mdd::config::tests::estimate_ub_is_a_pass_through_for_relaxation ... 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::it_can_build_a_deep_mdd ... ok [INFO] [stdout] test implementation::mdd::config::tests::merge_nodes_is_a_pass_through_for_relaxation_nonempty ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::exact_skips_node_with_an_ub_less_than_best_known_lb ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::restricted_no_cutoff_completion_must_be_coherent_with_outcome_ ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::restricted_drops_the_less_interesting_nodes ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::restricted_skips_node_with_an_ub_less_than_best_known_lb ... ok [INFO] [stdout] test implementation::mdd::aggressively_bounded::test_restricted_only::when_the_problem_is_infeasible_there_is_no_solution ... 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::merge_states_is_a_pass_through_for_relaxation_empty ... ok [INFO] [stdout] test implementation::mdd::config::tests::upon_new_layer_is_pass_through_to_variable_selection ... ok [INFO] [stdout] test implementation::mdd::config::tests::upon_node_insert_is_pass_through_to_variable_selection ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::a_relaxed_mdd_is_exact_as_long_as_no_merge_occurs ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::a_relaxed_mdd_is_not_exact_when_a_merge_occured ... ok [INFO] [stdout] test implementation::mdd::config::tests::transition_is_pass_though_for_problem ... ok [INFO] [stdout] test implementation::mdd::config::tests::transition_cost_is_pass_though_for_problem ... ok [INFO] [stdout] test implementation::mdd::config::tests::select_var_is_a_pass_through_to_heuristic ... 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::deep::deep_pooled::test_pooled_deep_mdd::a_relaxed_mdd_populates_frontier_cutset ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::a_restricted_mdd_is_exact_as_long_as_no_restriction_occurs ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::a_restricted_mdd_is_not_exact_when_a_restriction_occured ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::an_exact_mdd_must_be_exact ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::by_default_the_mdd_type_is_exact ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::config_is_cleared_before_developing_any_mddtype ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::exact_completely_unrolls_the_mdd_no_matter_its_width ... ok [INFO] [stdout] test implementation::mdd::config::tests::must_stop_is_pass_through_to_heuristic ... ok [INFO] [stdout] test implementation::mdd::config::tests::max_width_is_pass_through_for_heuristic ... ok [INFO] [stdout] test implementation::mdd::config::tests::relax_edge_is_a_pass_through_for_relaxation ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::restricted_drops_the_less_interesting_nodes ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::restricted_no_cutoff_completion_must_be_coherent_with_outcome_ ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::relaxed_skips_node_with_an_ub_less_than_best_known_lb ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::restricted_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::restricted_skips_node_with_an_ub_less_than_best_known_lb ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::upon_insert_is_called_whenever_a_non_existing_node_is_added_to_next_layer ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::exact_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::exact_no_cutoff_completion_must_be_coherent_with_outcome ... 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::deep_pooled::test_pooled_deep_mdd::when_the_problem_is_infeasible_there_is_no_solution ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::when_the_problem_is_infeasible_the_best_value_is_min_infinity ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::upon_layer_is_called_whenever_a_new_layer_is_created ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::exact_skips_node_with_an_ub_less_than_best_known_lb ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::mdd_type_changes_depending_on_the_requested_type_of_mdd ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::relaxed_computes_local_bounds ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::relaxed_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::relaxed_merges_the_less_interesting_nodes ... ok [INFO] [stdout] test implementation::mdd::deep::deep_pooled::test_pooled_deep_mdd::relaxed_no_cutoff_completion_must_be_coherent_with_outcome ... ok [INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::exact_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::exact_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::relaxed_merges_the_less_interesting_nodes ... ok [INFO] [stdout] test implementation::mdd::config::tests::it_can_build_a_flat_mdd ... 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::a_relaxed_mdd_is_not_exact_when_a_merge_occured ... ok [INFO] [stdout] test implementation::mdd::config::tests::it_can_build_a_plain_config ... 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::a_restricted_mdd_is_exact_as_long_as_no_restriction_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_no_cutoff_completion_must_be_coherent_with_outcome ... 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::a_restricted_mdd_is_not_exact_when_a_restriction_occured ... 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::mdd::test_deepmdd::restricted_drops_the_less_interesting_nodes ... ok [INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::by_default_the_mdd_type_is_exact ... 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::config_is_cleared_before_developing_any_mddtype ... ok [INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::an_exact_mdd_must_be_exact ... 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::restricted_no_cutoff_completion_must_be_coherent_with_outcome_ ... 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::mdd::test_deepmdd::root_remembers_the_pa_from_the_frontier_node ... ok [INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::upon_insert_is_called_whenever_a_non_existing_node_is_added_to_next_layer ... 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::mdd::test_deepmdd::upon_layer_is_called_whenever_a_new_layer_is_created ... ok [INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::when_the_problem_is_infeasible_there_is_no_solution ... ok [INFO] [stdout] test implementation::mdd::deep::mdd::test_deepmdd::exact_completely_unrolls_the_mdd_no_matter_its_width ... ok [INFO] [stdout] test common::test_varset::contains_panic_when_over_the_max_number_of_vars - should panic ... 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::add_layer_adds_a_new_layer_starting_at_end_of_previous_one ... 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::best_terminal ... ok [INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::branch_calls_upon_insert_when_a_new_state_is_inserted_to_next_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_reuses_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::branch_will_not_call_upon_insert_when_the_destination_state_is_already_in_next_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::current_layer_returns_current_layer ... 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::default_graph_is_empty ... 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::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::add_node_calls_upon_insert_when_destination_state_is_fresh ... ok [INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::add_node_performs_no_inter_layer_reduction ... 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::has_exact_best_path_can_be_called_for_non_terminal_node ... 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::node_has_exact_best_path_when_it_is_exact ... ok [INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::longest_path ... 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::node_has_no_exact_best_path_when_it_is_relaxed ... 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::node_has_no_exact_best_path_when_longest_path_crosses_relaxed_node ... 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::add_root_does_not_override_previous_root ... 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::mddgraph::test_graph::add_edge_just_adds_an_edge_with_given_information ... 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_node_does_not_call_upon_insert_when_destination_state_is_already_known ... 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::add_root_creates_a_new_exact_disconnected_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_layer_forgets_the_state_of_deleted_nodes ... 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_will_bring_about_one_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_enforces_the_given_max_width ... 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_will_not_update_best_parent_and_value_when_there_is_no_improvement ... 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::relax_last_updates_best_parent_and_value_if_merged_node_already_exists ... 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::relax_last_updates_best_parent_and_value_relaxed_edge_improve_value ... ok [INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_panics_if_layer_is_not_broad_enough - should panic ... 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::remember_lel_has_no_effect_when_lel_is_present ... 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::best_solution ... 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::add_root_increases_the_width_of_first_layer ... 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::restrict_last_layer_enforces_the_given_width ... 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::relax_last_relaxes_the_weight_of_all_redirected_edges ... ok [INFO] [stdout] test implementation::heuristics::test_adapters::test_div_by_panics_when_div_by_zero - should panic ... ok [INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::relax_last_panics_if_width_is_0 - should panic ... 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_layerdata::when_start_and_end_are_the_same_the_layer_is_empty ... 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::root_returns_the_first_node ... 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_node_data::is_feasible_iff_marked_so ... 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_node_data::is_relaxed_iff_node_was_relaxed ... 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::new_can_create_a_new_relaxed_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::state_yields_a_plain_reference_to_the_state ... 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::deep::mddgraph::test_node_data::when_created_a_node_is_disconnected_from_graph ... 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::a_restricted_mdd_is_not_exact_when_a_restriction_occured ... 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::by_default_the_mdd_type_is_exact ... 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_graph::sort_ensures_that_state_map_is_coherent_with_new_position ... ok [INFO] [stdout] test implementation::mdd::deep::mddgraph::test_graph::test_add_node ... 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::test_delete_edges ... 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::sort_does_not_change_the_graph_for_the_outer_world ... 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_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_makes_the_graph_inexact ... 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_panics_if_layer_is_not_broad_enough - should panic ... 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::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::relaxed_fails_with_cutoff_when_cutoff_occurs ... 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_flat_deep::exact_no_cutoff_completion_must_be_coherent_with_outcome ... 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::a_restricted_mdd_is_exact_as_long_as_no_restriction_occurs ... 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_pooled_deep::an_exact_mdd_must_be_exact ... 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::exact_skips_node_with_an_ub_less_than_best_known_lb ... 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_flat_deep::restricted_no_cutoff_completion_must_be_coherent_with_outcome ... ok [INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_flat_deep::restricted_fails_with_cutoff_when_cutoff_occurs ... 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::when_the_problem_is_infeasible_there_is_no_solution ... 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_populates_the_cutset_and_will_not_squash_first_layer ... 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::hybrid::test_hybrid_flat_deep::restricted_drops_the_less_interesting_nodes ... 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_pooled_deep::a_restricted_mdd_is_not_exact_when_a_restriction_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::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::exact_no_cutoff_completion_must_be_coherent_with_outcome ... 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::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::exact_fails_with_cutoff_when_cutoff_occurs ... 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::when_the_problem_is_infeasible_there_is_no_solution ... 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::shallow::flat::test_flatmdd::a_relaxed_mdd_is_not_exact_when_a_merge_occured ... 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::shallow::flat::test_flatmdd::a_restricted_mdd_is_not_exact_when_a_restriction_occured ... ok [INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::an_exact_mdd_must_be_exact ... 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::exact_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::relaxed_no_cutoff_completion_must_be_coherent_with_outcome ... 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::relaxed_skips_node_with_an_ub_less_than_best_known_lb ... ok [INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::restricted_drops_the_less_interesting_nodes ... ok [INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::restricted_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::config_is_cleared_before_developing_any_mddtype ... 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::hybrid::test_hybrid_pooled_deep::relaxed_skips_node_with_an_ub_less_than_best_known_lb ... 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::mdd_type_changes_depending_on_the_requested_type_of_mdd ... 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::shallow::flat::test_flatmdd::exact_completely_unrolls_the_mdd_no_matter_its_width ... ok [INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::restricted_drops_the_less_interesting_nodes ... ok [INFO] [stdout] test implementation::mdd::hybrid::test_hybrid_pooled_deep::relaxed_fails_with_cutoff_when_cutoff_occurs ... ok [INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::upon_layer_is_called_whenever_a_new_layer_is_created ... 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_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::branch_inserts_a_node_with_given_state_when_none_exists ... 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::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_private::relax_last_layer_can_produce_lesser_max_width_when_merged_state_already_exists ... 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_private::relax_last_layer_forgets_the_state_of_deleted_nodes ... 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_uses_node_selection_heuristic_to_rank_nodes_and_renames_others ... 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_private::relax_last_layer_will_bring_about_one_node ... ok [INFO] [stdout] test implementation::mdd::shallow::flat::test_flatmdd::upon_insert_is_called_whenever_a_non_existing_node_is_added_to_next_layer ... 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::relax_last_relaxes_the_weight_of_all_redirected_best_edges ... ok [INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_remembers_the_last_exact_layer_if_needed ... 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_layer_will_bring_about_one_node_unless_merged_state_is_already_known ... 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_updates_best_parent_and_value_if_merged_node_already_exists ... 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_remembers_the_last_exact_layer_if_needed ... 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::relax_last_will_not_update_best_parent_and_value_when_there_is_no_improvement ... 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::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::hybrid::test_hybrid_pooled_deep::relaxed_no_cutoff_completion_must_be_coherent_with_outcome ... 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::remember_lel_remembers_the_last_exact_layer ... 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_flatmdd::by_default_the_mdd_type_is_exact ... ok [INFO] [stdout] test implementation::mdd::shallow::flat::test_private::restrict_last_layer_enforces_the_max_width ... 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::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_wont_panic_if_layer_is_not_broad_enough ... 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::an_exact_mdd_must_be_exact ... 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::by_default_the_mdd_type_is_exact ... 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_not_exact_when_a_restriction_occured ... 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::exact_no_cutoff_completion_must_be_coherent_with_outcome ... ok [INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::config_is_cleared_before_developing_any_mddtype ... 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::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::restricted_fails_with_cutoff_when_cutoff_occurs ... 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::upon_layer_is_called_whenever_a_new_layer_is_created ... 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::relaxed_merges_the_less_interesting_nodes ... 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::pooled::test_pooledmdd::restricted_skips_node_with_an_ub_less_than_best_known_lb ... 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::when_the_problem_is_infeasible_the_best_value_is_min_infinity ... ok [INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::relaxed_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::branch_updates_existing_node_to_remember_last_decision_and_path_if_it_improves_value ... ok [INFO] [stdout] test implementation::mdd::shallow::pooled::test_pooledmdd::upon_insert_is_called_whenever_a_non_existing_node_is_added_to_next_layer ... 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::relax_last_populates_the_cutset ... 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::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_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_will_not_update_best_parent_and_value_when_there_is_no_improvement ... 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::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_enforces_the_given_max_width ... 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::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_layer_uses_node_selection_heuristic_to_rank_nodes ... 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_private::relax_last_layer_will_bring_about_one_node ... 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_makes_the_graph_inexact ... 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::restrict_last_layer_uses_node_selection_heuristic_to_rank_nodes ... 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::shallow::pooled::test_private::restrict_last_layer_forgets_the_state_of_deleted_nodes ... 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::pooled::test_private::test_relax_last_layer_when_width_is_one ... 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::utils::test_node::merging_exact_and_relaxed_clears_relaxed_flag_if_best_not_relaxed ... 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::shallow::utils::test_node::selectable_node_yields_the_nodes_value ... ok [INFO] [stdout] test implementation::mdd::shallow::utils::test_node::set_exact_changes_the_value_of_exact_flag ... 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_node_no_path ... 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::utils::test_node_flags::add_turns_one_or_more_flags_on ... 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::by_default_only_the_exact_flag_is_on ... ok [INFO] [stdout] test implementation::mdd::utils::test_node_flags::is_feasible_iff_marked_so ... 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::remove_turns_one_or_more_flags_off ... ok [INFO] [stdout] test implementation::mdd::utils::test_node_flags::set_turns_one_or_more_flags_on_or_off ... ok [INFO] [stdout] test implementation::mdd::utils::test_node_flags::test_checks_the_value_of_more_than_one_flag ... ok [INFO] [stdout] test implementation::mdd::utils::test_node_flags::test_yields_the_value_of_the_flag ... ok [INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::restrict_last_will_not_populate_cutset ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::by_default_best_lb_is_min_infinity ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::by_default_best_ub_is_plus_infinity ... 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::solver::parallel::test_solver::by_default_it_uses_all_hw_threads ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::by_default_verbosity_is_zero ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::no_solution_before_solving ... 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::pooled::test_private::restrict_last_layer_will_not_bring_about_new_nodes ... 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_a_ref_to_this_state ... 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::solver::parallel::test_solver::default_best_lb_is_neg_infinity ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::empty_fringe_before_solving ... ok [INFO] [stdout] test implementation::solver::sequential::test_solver::by_default_best_ub_is_plus_infinity ... ok [INFO] [stdout] test implementation::solver::sequential::test_solver::by_default_verbosity_is_zero ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::maximizes_yields_the_optimum ... 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::solver::parallel::test_solver::num_threads_can_be_customized ... 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::solver::sequential::test_solver::default_best_ub_is_pos_infinity ... ok [INFO] [stdout] test implementation::solver::sequential::test_solver::by_default_best_lb_is_min_infinity ... ok [INFO] [stdout] test implementation::solver::sequential::test_solver::default_best_lb_is_neg_infinity ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::verbosity_can_be_customized ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::num_threads_and_verbosity_can_be_customized ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::when_the_problem_is_solved_best_ub_is_best_value ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::when_the_problem_is_solved_best_lb_is_best_value ... ok [INFO] [stdout] test implementation::solver::sequential::test_solver::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::when_the_problem_is_solved_best_ub_is_best_value ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::maximizes_yields_the_optimum_2 ... ok [INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_panics_if_width_is_0 - should panic ... ok [INFO] [stdout] test implementation::solver::sequential::test_solver::when_the_problem_is_solved_best_lb_is_best_value ... ok [INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_panics_if_layer_is_not_broad_enough - should panic ... ok [INFO] [stdout] test implementation::solver::sequential::test_solver::set_primal_overwrites_best_value_and_sol_if_it_improves ... ok [INFO] [stdout] test implementation::mdd::shallow::pooled::test_private::relax_last_panics_if_width_is_0 - should panic ... ok [INFO] [stdout] test implementation::solver::sequential::test_solver::no_solution_before_solving ... ok [INFO] [stdout] test implementation::utils::test_heap::popped_in_order ... ok [INFO] [stdout] test implementation::solver::sequential::test_solver::empty_fringe_before_solving ... ok [INFO] [stdout] test implementation::utils::test_heap::pushing_same_node_multiple_times_does_not_alter_pop_order ... ok [INFO] [stdout] test implementation::solver::sequential::test_solver::maximizes_yields_the_optimum_2 ... ok [INFO] [stdout] test implementation::solver::parallel::test_solver::set_primal_overwrites_best_value_and_sol_if_it_improves ... ok [INFO] [stdout] test implementation::utils::test_heap::pushing_nodes_triggers_reordering_if_lplen_is_better_up ... ok [INFO] [stdout] test implementation::mdd::shallow::flat::test_private::relax_last_panics_if_layer_is_not_broad_enough - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 538 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s [INFO] [stdout] [INFO] [stderr] Doc-tests ddo [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test src/common.rs - common::Variable::id (line 61) ... ok [INFO] [stdout] test src/common.rs - common::BitSetIter (line 613) ... ok [INFO] [stdout] test src/common.rs - common::PartialAssignment (line 327) ... ok [INFO] [stdout] test src/common.rs - common::Matrix (line 768) ... ok [INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::FixedWidth (line 138) ... ok [INFO] [stdout] test src/common.rs - common::LexBitSet (line 688) ... ok [INFO] [stdout] test src/common.rs - common::VarSet (line 525) ... ok [INFO] [stdout] test src/common.rs - common::Domain (line 85) ... ok [INFO] [stdout] test src/common.rs - common::VarSetIter (line 586) ... ok [INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::Decreasing (line 85) ... ok [INFO] [stdout] test src/common.rs - common::Solution (line 292) ... ok [INFO] [stdout] test src/common.rs - common::PartialAssignment::iter (line 388) ... ok [INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::DivBy (line 237) ... ok [INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::NbUnassignedWitdh (line 172) ... ok [INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::NaturalOrder (line 42) ... ok [INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::MaxUB (line 324) ... ok [INFO] [stdout] test src/implementation/mdd/config.rs - implementation::mdd::config::ConfigurationBuilder (line 158) ... ok [INFO] [stdout] test src/implementation/mdd/config.rs - implementation::mdd::config::config_builder (line 93) ... ok [INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::Times (line 202) ... ok [INFO] [stdout] test src/implementation/mdd/shallow/flat.rs - implementation::mdd::shallow::flat::FlatMDD (line 66) ... ok [INFO] [stdout] test src/lib.rs - (line 100) ... ok [INFO] [stdout] test src/implementation/mdd/config.rs - implementation::mdd::config::mdd_builder (line 44) ... ok [INFO] [stdout] test src/lib.rs - (line 53) ... ok [INFO] [stdout] test src/implementation/mdd/shallow/pooled.rs - implementation::mdd::shallow::pooled::PooledMDD (line 52) ... ok [INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::GapCutoff (line 492) ... ok [INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::FindFirst (line 440) ... ok [INFO] [stdout] test src/implementation/frontier.rs - implementation::frontier::NoDupFrontier (line 113) ... ok [INFO] [stdout] test src/implementation/frontier.rs - implementation::frontier::NoForgetFrontier (line 204) ... ok [INFO] [stdout] test src/implementation/solver/sequential.rs - implementation::solver::sequential::SequentialSolver (line 38) ... ok [INFO] [stdout] test src/implementation/heuristics.rs - implementation::heuristics::TimeBudget (line 375) ... ok [INFO] [stdout] test src/lib.rs - (line 130) ... ok [INFO] [stdout] test src/implementation/mdd/aggressively_bounded.rs - implementation::mdd::aggressively_bounded::AggressivelyBoundedMDD (line 46) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 19.45s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b22a248f0dbc7582387f1455e781de85496f8748ca923b6847a5d418c2a0c5ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b22a248f0dbc7582387f1455e781de85496f8748ca923b6847a5d418c2a0c5ce", kill_on_drop: false }` [INFO] [stdout] b22a248f0dbc7582387f1455e781de85496f8748ca923b6847a5d418c2a0c5ce