[INFO] fetching crate hill_descent_lib 0.1.0... [INFO] testing hill_descent_lib-0.1.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7 [INFO] extracting crate hill_descent_lib 0.1.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate hill_descent_lib 0.1.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate hill_descent_lib 0.1.0 [INFO] tweaked toml for crates.io crate hill_descent_lib 0.1.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate hill_descent_lib 0.1.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate hill_descent_lib 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded xxhash-rust v0.8.15 [INFO] [stderr] Downloaded mimalloc v0.1.48 [INFO] [stderr] Downloaded serde_derive v1.0.225 [INFO] [stderr] Downloaded clap v4.5.41 [INFO] [stderr] Downloaded indexmap v2.11.4 [INFO] [stderr] Downloaded serde_core v1.0.225 [INFO] [stderr] Downloaded serde v1.0.225 [INFO] [stderr] Downloaded cc v1.2.31 [INFO] [stderr] Downloaded clap_builder v4.5.41 [INFO] [stderr] Downloaded libmimalloc-sys v0.1.44 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] adab00f9bb252b6f38c27f24061f8dafbf3006b0230f16e037a6d6d0bebc094a [INFO] running `Command { std: "docker" "start" "-a" "adab00f9bb252b6f38c27f24061f8dafbf3006b0230f16e037a6d6d0bebc094a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "adab00f9bb252b6f38c27f24061f8dafbf3006b0230f16e037a6d6d0bebc094a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "adab00f9bb252b6f38c27f24061f8dafbf3006b0230f16e037a6d6d0bebc094a", kill_on_drop: false }` [INFO] [stdout] adab00f9bb252b6f38c27f24061f8dafbf3006b0230f16e037a6d6d0bebc094a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f8585e3f3c05a2b527b22b7deff95f4410a3c46c0dcde1cc866c5f2ec10fd511 [INFO] running `Command { std: "docker" "start" "-a" "f8585e3f3c05a2b527b22b7deff95f4410a3c46c0dcde1cc866c5f2ec10fd511", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling serde_core v1.0.225 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling serde v1.0.225 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling cc v1.2.31 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling xxhash-rust v0.8.15 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling libmimalloc-sys v0.1.44 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling mimalloc v0.1.48 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling serde_derive v1.0.225 [INFO] [stderr] Compiling indexmap v2.11.4 [INFO] [stderr] Compiling hill_descent_lib v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.93s [INFO] running `Command { std: "docker" "inspect" "f8585e3f3c05a2b527b22b7deff95f4410a3c46c0dcde1cc866c5f2ec10fd511", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f8585e3f3c05a2b527b22b7deff95f4410a3c46c0dcde1cc866c5f2ec10fd511", kill_on_drop: false }` [INFO] [stdout] f8585e3f3c05a2b527b22b7deff95f4410a3c46c0dcde1cc866c5f2ec10fd511 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cc6a1629dbed0876db2e6d61d6051a3553fbcefb6c6d3fbefe6024aa4dddb99a [INFO] running `Command { std: "docker" "start" "-a" "cc6a1629dbed0876db2e6d61d6051a3553fbcefb6c6d3fbefe6024aa4dddb99a", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.225 [INFO] [stderr] Compiling serde v1.0.225 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling half v2.6.0 [INFO] [stderr] Compiling clap_lex v0.7.5 [INFO] [stderr] Compiling anstyle v1.0.11 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling clap_builder v4.5.41 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling clap v4.5.41 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling indexmap v2.11.4 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling hill_descent_lib v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 21.75s [INFO] running `Command { std: "docker" "inspect" "cc6a1629dbed0876db2e6d61d6051a3553fbcefb6c6d3fbefe6024aa4dddb99a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cc6a1629dbed0876db2e6d61d6051a3553fbcefb6c6d3fbefe6024aa4dddb99a", kill_on_drop: false }` [INFO] [stdout] cc6a1629dbed0876db2e6d61d6051a3553fbcefb6c6d3fbefe6024aa4dddb99a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 411e150c6b24b87c98925f54214893391ad585a8ede06f883afcf0c3abfa4aa0 [INFO] running `Command { std: "docker" "start" "-a" "411e150c6b24b87c98925f54214893391ad585a8ede06f883afcf0c3abfa4aa0", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hill_descent_lib-559995932e6d76d5) [INFO] [stdout] [INFO] [stdout] running 432 tests [INFO] [stdout] test gamete::new_random_gamete::tests::given_empty_bounds_when_new_random_gamete_then_gamete_is_empty ... ok [INFO] [stdout] test gamete::new_random_gamete::tests::given_some_bounds_when_new_random_gamete_then_gamete_has_correct_number_of_loci ... ok [INFO] [stdout] test gen_hybrid_range::tests::given_cross_zero_small_range_when_gen_hybrid_range_then_value_within_bounds ... ok [INFO] [stdout] test gamete::reproduce::tests::reproduce_zero_crossovers_returns_clones ... ok [INFO] [stdout] test gamete::reproduce::tests::given_reproduce_when_problem_parameters_exceed_bounds_then_values_are_not_clamped ... ok [INFO] [stdout] test gamete::reproduce::tests::given_reproduce_when_system_parameters_exceed_bounds_then_values_are_clamped ... ok [INFO] [stdout] test gen_hybrid_range::tests::given_low_greater_than_high_when_gen_hybrid_range_then_returns_nan ... ok [INFO] [stdout] test gamete::tests::given_empty_loci_when_new_then_len_is_zero_and_is_empty ... ok [INFO] [stdout] test gamete::tests::given_non_empty_loci_when_new_then_len_and_accessors_work ... ok [INFO] [stdout] test gen_hybrid_range::tests::given_small_positive_range_when_gen_hybrid_range_then_value_within_bounds ... ok [INFO] [stdout] test gamete::new_random_gamete::tests::given_bounds_when_new_random_gamete_then_loci_are_created_with_correct_value_bounds ... ok [INFO] [stdout] test locus::locus_adjustment::tests::given_valid_params_when_new_then_fields_set ... ok [INFO] [stdout] test locus::mutate::tests::given_final_apply_flag_true_direction_add_when_mutate_then_value_increases ... ok [INFO] [stdout] test locus::mutate::tests::given_final_apply_flag_false_when_mutate_then_value_unchanged_by_application ... ok [INFO] [stdout] test locus::mutate::tests::given_m1_false_apply_flag_false_when_mutate_then_apply_flag_remains_false ... ok [INFO] [stdout] test locus::mutate::tests::given_locus_with_bounds_when_mutated_repeatedly_then_value_stays_within_bounds ... ok [INFO] [stdout] test locus::mutate::tests::given_m3_true_double_flag_false_when_mutate_then_double_flag_true ... ok [INFO] [stdout] test locus::mutate::tests::given_m3_true_double_flag_true_when_mutate_then_double_flag_false ... ok [INFO] [stdout] test locus::mutate::tests::given_m4_true_direction_add_when_mutate_then_direction_subtract_double_flag_inverted ... ok [INFO] [stdout] test locus::mutate::tests::given_m4_true_direction_subtract_when_mutate_then_direction_add_double_flag_inverted ... ok [INFO] [stdout] test locus::mutate::tests::given_m5_double_true_adj_value_near_max_when_mutate_then_adj_value_clamped_at_max ... ok [INFO] [stdout] test locus::mutate::tests::given_m5_halve_true_adj_value_small_positive_when_mutate_then_adj_value_halved_correctly ... ok [INFO] [stdout] test locus::mutate::tests::given_m2_false_apply_flag_true_when_mutate_then_apply_flag_remains_true ... ok [INFO] [stdout] test locus::mutate::tests::given_m5_halve_true_adj_value_zero_when_mutate_then_adj_value_remains_zero ... ok [INFO] [stdout] test locus::mutate::tests::given_m5_true_double_flag_false_when_mutate_then_adj_value_halved ... ok [INFO] [stdout] test locus::mutate::tests::given_m5_true_double_flag_true_when_mutate_then_adj_value_doubled ... ok [INFO] [stdout] test locus::mutate::tests::given_mutate_unbound_when_apply_flag_false_then_value_unchanged ... ok [INFO] [stdout] test locus::mutate::tests::given_mutate_unbound_when_value_would_exceed_bounds_then_value_is_not_clamped ... ok [INFO] [stdout] test locus::mutate::tests::given_mutate_unbound_when_value_would_go_below_bounds_then_value_is_not_clamped ... ok [INFO] [stdout] test gen_hybrid_range::tests::given_cross_zero_wide_range_rng_selects_positive_side_returns_positive ... ok [INFO] [stdout] test gen_hybrid_range::tests::given_cross_zero_wide_range_rng_selects_negative_side_returns_negative ... ok [INFO] [stdout] test locus::mutate::tests::given_m2_true_apply_flag_true_when_mutate_then_apply_flag_false ... ok [INFO] [stdout] test gen_hybrid_range::tests::given_cross_zero_large_range_when_gen_hybrid_range_then_value_within_bounds ... ok [INFO] [stdout] test gen_hybrid_range::tests::given_extreme_cross_zero_range_when_gen_hybrid_range_then_varied_values_within_bounds ... ok [INFO] [stdout] test gen_hybrid_range::tests::given_wide_positive_range_when_gen_hybrid_range_then_value_within_bounds ... ok [INFO] [stdout] test locus::mutate::tests::mutate_no_mutation_returns_same ... ok [INFO] [stdout] test locus::mutate::tests::mutate_with_full_probs_applies_flag_flip_and_other_mutations ... ok [INFO] [stdout] test locus::mutate::tests::given_mutate_vs_mutate_unbound_when_value_exceeds_bounds_then_different_results ... ok [INFO] [stdout] test locus::new_random_locus::tests::given_new_random_locus_when_dh_flag_true_and_doubling_out_of_bounds_then_dh_flag_is_false ... ok [INFO] [stdout] test locus::new_random_locus::tests::given_new_random_locus_when_dh_flag_true_and_change_in_bounds_then_dh_flag_is_true ... ok [INFO] [stdout] test locus::new_random_locus_adjustment::tests::given_seeded_rng_when_new_random_then_flags_are_deterministic_for_test ... ok [INFO] [stdout] test locus::tests::given_locus_when_apply_adjustment_flag_called_then_returns_correct_flag ... ok [INFO] [stdout] test locus::tests::given_locus_when_adjustment_called_then_returns_correct_adjustment ... ok [INFO] [stdout] test locus::new_random_locus::tests::given_rng_and_bounds_when_new_random_then_locus_is_valid ... ok [INFO] [stdout] test locus::new_random_locus::tests::given_new_random_locus_when_initial_dh_flag_false_then_final_dh_flag_is_false ... ok [INFO] [stdout] test locus::new_random_locus_adjustment::tests::given_rng_and_bounds_when_new_random_then_adjustment_is_sensible ... ok [INFO] [stdout] test locus::tests::given_locus_when_value_called_then_returns_correct_value ... ok [INFO] [stdout] test locus::tests::given_valid_params_when_new_then_locus_fields_are_set_correctly ... ok [INFO] [stdout] test parameters::global_constants::tests::given_valid_inputs_when_new_then_global_constants_is_created ... ok [INFO] [stdout] test parameters::global_constants::tests::given_valid_inputs_with_custom_seed_when_new_with_seed_then_global_constants_is_created ... ok [INFO] [stdout] test parameters::parameter::tests::given_new_and_set_when_values_are_valid_then_values_are_set_correctly ... ok [INFO] [stdout] test parameters::parameter::tests::given_new_when_value_is_valid_then_parameter_is_created_with_default_bounds ... ok [INFO] [stdout] test parameters::parameter::tests::given_set_unbound_when_value_is_above_max_then_value_is_set_without_clamping ... ok [INFO] [stdout] test parameters::parameter::tests::given_set_unbound_when_value_is_below_min_then_value_is_set_without_clamping ... ok [INFO] [stdout] test parameters::parameter::tests::given_set_unbound_when_value_is_within_bounds_then_value_is_set ... ok [INFO] [stdout] test parameters::parameter::tests::given_set_when_value_is_above_max_then_value_is_clamped_to_max ... ok [INFO] [stdout] test parameters::parameter::tests::given_set_when_value_is_below_min_then_value_is_clamped_to_min ... ok [INFO] [stdout] test locus::new_random_locus::tests::given_new_random_locus_when_dh_flag_true_and_halving_out_of_bounds_then_dh_flag_is_false ... ok [INFO] [stdout] test gen_hybrid_range::tests::given_wide_negative_range_when_gen_hybrid_range_then_value_within_bounds ... ok [INFO] [stdout] test parameters::parameter::tests::given_set_when_value_is_within_bounds_then_value_is_set ... ok [INFO] [stdout] test locus::mutate::tests::given_all_mutation_probs_zero_when_mutate_then_locus_is_unchanged ... ok [INFO] [stdout] test locus::mutate::tests::given_final_apply_flag_true_direction_subtract_when_mutate_then_value_decreases ... ok [INFO] [stdout] test gamete::reproduce::tests::reproduce_mismatched_lengths_panics - should panic ... ok [INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_value_is_above_max_then_value_is_clamped_to_max ... ok [INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_value_is_below_min_then_value_is_clamped_to_min ... ok [INFO] [stdout] test gamete::reproduce::tests::reproduce_too_many_crossovers_panics - should panic ... ok [INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_value_is_within_bounds_then_parameter_is_created ... ok [INFO] [stdout] test parameters::parameter_enhancement::tests::given_bounds_when_enhanced_then_system_bounds_are_correct ... ok [INFO] [stdout] test parameters::parameter_enhancement::tests::given_empty_slice_when_enhance_parameters_called_then_returns_only_system_parameter_bounds ... ok [INFO] [stdout] test parameters::parameter_enhancement::tests::given_non_empty_slice_when_enhance_parameters_called_then_prepends_system_parameter_bounds ... ok [INFO] [stdout] test parameters::system_parameters::tests::given_correct_length_slice_when_new_then_all_fields_are_set_correctly ... ok [INFO] [stdout] test parameters::system_parameters::tests::given_default_when_called_then_all_fields_are_zero ... ok [INFO] [stdout] test locus::mutate::tests::given_m1_true_apply_flag_false_when_mutate_then_apply_flag_true ... ok [INFO] [stdout] test gen_hybrid_range::tests::given_equal_bounds_when_gen_hybrid_range_then_returns_single_bound_value ... ok [INFO] [stdout] test locus::locus_adjustment::tests::given_negative_adjustment_when_new_then_panic - should panic ... ok [INFO] [stdout] test phenotype::calculate_crossovers::tests::test_calculate_crossovers ... ok [INFO] [stdout] test phenotype::compute_expressed::tests::given_equal_checksums_rng_chooses_first_when_compute_expressed_then_returns_first_value ... ok [INFO] [stdout] test phenotype::compute_expressed::tests::given_equal_checksums_rng_chooses_second_when_compute_expressed_then_returns_second_value ... ok [INFO] [stdout] test parameters::global_constants::tests::given_zero_population_size_when_new_then_panics - should panic ... ok [INFO] [stdout] test phenotype::compute_expressed::tests::given_multi_loci_gametes_when_compute_expressed_then_returns_correct_length_vector ... ok [INFO] [stdout] test parameters::global_constants::tests::given_zero_target_regions_when_new_then_panics - should panic ... ok [INFO] [stdout] test phenotype::compute_expressed::tests::given_unequal_checksums_rng_favors_larger_checksum_locus_when_compute_expressed_then_returns_its_value ... ok [INFO] [stdout] test phenotype::compute_expressed::tests::given_unequal_checksums_rng_favors_smaller_checksum_locus_when_compute_expressed_then_returns_its_value ... ok [INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_different_spatial_values_when_compute_expressed_hash_then_returns_different_hashes ... ok [INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_different_system_params_same_spatial_when_compute_expressed_hash_then_returns_same_hash ... ok [INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_empty_slice_when_compute_expressed_hash_then_returns_consistent_hash ... ok [INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_same_system_params_different_spatial_when_compute_expressed_hash_then_returns_different_hashes ... ok [INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_slice_shorter_than_system_params_when_compute_expressed_hash_then_consistent_hash ... ok [INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_slice_with_only_system_params_when_compute_expressed_hash_then_consistent_hash ... ok [INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_spatial_values_with_nan_when_compute_expressed_hash_then_consistent_for_same_nan_bits ... ok [INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_spatial_values_with_zero_and_negative_zero_when_compute_expressed_hash_then_hashes_differ_if_bits_differ ... ok [INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_system_params_and_multiple_spatial_when_compute_expressed_hash_then_hashes_spatial_part_only ... ok [INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_system_params_and_one_spatial_when_compute_expressed_hash_then_hashes_spatial ... ok [INFO] [stdout] test phenotype::new_random_phenotype::tests::given_sufficient_bounds_when_new_random_phenotype_then_phenotype_is_created ... ok [INFO] [stdout] test parameters::parameter::tests::given_new_when_value_is_infinite_then_panics - should panic ... ok [INFO] [stdout] test parameters::parameter::tests::given_new_when_value_is_nan_then_panics - should panic ... ok [INFO] [stdout] test parameters::parameter::tests::given_set_unbound_when_value_is_infinite_then_panics - should panic ... ok [INFO] [stdout] test parameters::parameter::tests::given_set_unbound_when_value_is_nan_then_panics - should panic ... ok [INFO] [stdout] test phenotype::sexual_reproduction::tests::given_parents_with_zero_m_values_when_reproduce_then_offspring_inherit_parental_gametes ... ok [INFO] [stdout] test parameters::parameter::tests::given_set_when_value_is_infinite_then_panics - should panic ... ok [INFO] [stdout] test phenotype::tests::given_two_gametes_when_new_then_fields_are_set ... ok [INFO] [stdout] test world::dimensions::adjust_limits::tests::given_empty_organisms_when_adjusting_limits_then_returns_false ... ok [INFO] [stdout] test parameters::parameter::tests::given_set_when_value_is_nan_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::adjust_limits::tests::given_infinite_original_range_when_adjusting_limits_then_handles_sensibly ... ok [INFO] [stdout] test world::dimensions::adjust_limits::tests::given_invalid_dimension_index_when_adjusting_limits_then_returns_false ... ok [INFO] [stdout] test world::dimensions::adjust_limits::tests::given_negative_values_when_adjusting_limits_then_handles_correctly ... ok [INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_max_is_infinite_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::adjust_limits::tests::given_single_organism_when_adjusting_limits_then_range_expanded_and_returns_false ... ok [INFO] [stdout] test world::dimensions::adjust_limits::tests::given_organisms_with_wide_spread_when_adjusting_limits_then_range_expanded_and_returns_false ... ok [INFO] [stdout] test world::dimensions::adjust_limits::tests::given_organisms_with_narrow_spread_when_adjusting_limits_then_range_shrunk_and_returns_true ... ok [INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_min_greater_than_max_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_first_value_out_of_bounds_when_calculate_dimensions_key_is_called_then_failure_is_returned ... ok [INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_empty_inputs_when_calculate_dimensions_key_is_called_then_success_with_empty_vec_is_returned ... ok [INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_value_out_of_bounds_when_calculate_dimensions_key_is_called_then_failure_is_returned ... ok [INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_valid_inputs_when_calculate_dimensions_key_is_called_then_success_is_returned ... ok [INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_min_is_nan_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_values_on_boundaries_when_calculate_dimensions_key_is_called_then_success_is_returned ... ok [INFO] [stdout] test world::dimensions::dimension::expand_bounds::tests::given_dimension_with_zero_width_when_expand_bounds_then_range_expands_by_fixed_amount ... ok [INFO] [stdout] test world::dimensions::dimension::expand_bounds::tests::given_dimension_with_non_zero_width_when_expand_bounds_then_range_expands_by_50_percent ... ok [INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_value_is_nan_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_at_boundaries ... ok [INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_basic_and_boundaries ... ok [INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_floating_point_precision ... ok [INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_mixed_range ... ok [INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_negative_range ... ok [INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_out_of_bounds ... ok [INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_single_point_range ... ok [INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_zero_doublings ... ok [INFO] [stdout] test world::dimensions::dimension::interval_bounds::tests::given_last_interval_when_interval_bounds_then_end_is_exact_range_end ... ok [INFO] [stdout] test world::dimensions::dimension::interval_bounds::tests::given_out_of_range_index_when_interval_bounds_then_none ... ok [INFO] [stdout] test world::dimensions::dimension::interval_bounds::tests::given_single_point_range_when_interval_bounds_then_single_bounds_returned ... ok [INFO] [stdout] test parameters::system_parameters::tests::given_empty_slice_when_new_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::dimension::interval_bounds::tests::given_zero_doublings_when_interval_bounds_then_full_range_returned ... ok [INFO] [stdout] test world::dimensions::dimension::interval_bounds::tests::given_basic_divisions_when_interval_bounds_then_correct_bounds_for_each_interval ... ok [INFO] [stdout] test parameters::system_parameters::tests::given_longer_slice_when_new_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_non_zero_doublings_when_divide_next_dimension_then_increments ... ok [INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_precision_at_limit_when_divide_next_dimension_then_returns_false ... ok [INFO] [stdout] test parameters::system_parameters::tests::given_shorter_slice_when_new_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::dimension::new::tests::given_valid_input_when_new_dimension_then_succeeds ... ok [INFO] [stdout] test world::dimensions::dimension::new::tests::given_zero_divisions_when_new_dimension_then_succeeds ... ok [INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_sequence_when_divide_next_dimension_then_doublings_increment_by_one ... ok [INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_zero_doublings_when_divide_next_dimension_then_becomes_one ... ok [INFO] [stdout] test world::dimensions::new::tests::given_bounds_with_equal_start_end_when_new_then_dimension_created ... ok [INFO] [stdout] test world::dimensions::new::tests::given_bounds_with_negative_values_when_new_then_dimensions_created_correctly ... ok [INFO] [stdout] test world::dimensions::new::tests::given_empty_parameter_bounds_when_new_then_no_dimensions_are_created ... ok [INFO] [stdout] test world::dimensions::new::tests::given_single_bound_when_new_then_one_dimension_created_with_zero_doublings ... ok [INFO] [stdout] test world::dimensions::new::tests::given_multiple_bounds_when_new_then_all_dimensions_created_with_zero_doublings ... ok [INFO] [stdout] test world::get_state::tests::given_empty_world_when_get_state_then_json_is_still_valid ... ok [INFO] [stdout] test world::get_state::tests::given_minimal_world_when_get_state_then_json_is_still_valid ... ok [INFO] [stdout] test world::get_best_score::tests::given_world_with_no_scored_organisms_when_get_best_score_then_returns_max ... ok [INFO] [stdout] test world::get_state::tests::given_world_when_get_state_then_json_contains_organism_data ... ok [INFO] [stdout] test world::get_state::tests::given_world_when_get_state_then_json_contains_correct_dimension_data ... ok [INFO] [stdout] test world::get_state::tests::given_world_when_get_state_then_json_contains_region_data ... ok [INFO] [stdout] test world::get_best_score::tests::given_world_with_scored_organisms_when_get_best_score_then_returns_lowest ... ok [INFO] [stdout] test world::get_best_organism::tests::given_valid_data_when_get_best_then_returns_lowest_score ... ok [INFO] [stdout] test phenotype::compute_expressed::tests::given_mismatched_gamete_lengths_when_compute_expressed_then_panics - should panic ... ok [INFO] [stdout] test phenotype::new_random_phenotype::tests::given_insufficient_bounds_when_new_random_phenotype_then_panics - should panic ... ok [INFO] [stdout] test world::get_state::tests::given_world_with_dead_organisms_when_get_state_then_dead_flag_is_serialized ... ok [INFO] [stdout] test phenotype::new_random_phenotype::tests::given_zero_bounds_when_new_random_phenotype_then_panics - should panic ... ok [INFO] [stdout] test phenotype::sexual_reproduction::tests::given_parent_with_zero_length_gametes_when_reproduce_then_panics - should panic ... ok [INFO] [stdout] test world::get_state::tests::given_world_when_get_state_then_returns_valid_json ... ok [INFO] [stdout] test phenotype::sexual_reproduction::tests::given_parents_with_mismatched_gamete_lengths_when_reproduce_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_mismatched_lengths_when_calculate_dimensions_key_is_called_then_it_panics - should panic ... ok [INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_empty_dimensions_when_divide_next_dimension_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::dimension::new::tests::given_max_less_than_min_when_new_dimension_then_panics - should panic ... ok [INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_out_of_bounds_index_when_divide_next_dimension_then_panics - should panic ... ok [INFO] [stdout] test world::organisms::best::tests::given_multiple_scored_organisms_when_best_then_returns_lowest ... ok [INFO] [stdout] test world::organisms::best::tests::given_no_scores_when_best_then_returns_none ... ok [INFO] [stdout] test world::organisms::find_spacial_limits::tests::given_empty_organisms_when_find_spacial_limits_then_returns_empty_vec ... ok [INFO] [stdout] test world::organisms::find_spacial_limits::tests::given_one_organism_when_find_spacial_limits_then_returns_ranges_from_that_organism ... ok [INFO] [stdout] test world::organisms::find_spacial_limits::tests::given_multiple_organisms_when_find_spacial_limits_then_returns_correct_min_max_ranges ... ok [INFO] [stdout] test world::get_state_for_web::tests::given_non_2d_world_when_get_state_for_web_then_panics - should panic ... ok [INFO] [stdout] test world::organisms::generate_random_phenotypes::tests::given_bounds_with_only_system_parameters_when_called_then_succeeds ... ok [INFO] [stdout] test world::organisms::increment_ages::tests::given_organism_exceeding_max_age_when_increment_ages_then_marked_dead ... ok [INFO] [stdout] test world::organisms::generate_random_phenotypes::tests::given_valid_inputs_when_called_then_returns_correct_number_of_phenotypes ... ok [INFO] [stdout] test world::organisms::organism::increment_age::tests::given_organism_when_increment_age_then_age_increments ... ok [INFO] [stdout] test world::organisms::organism::increment_age::tests::given_organism_when_age_exceeds_max_then_mark_dead ... ok [INFO] [stdout] test world::organisms::organism::parent_tracking_tests::given_new_organism_when_created_with_asexual_parents_then_has_one_parent ... ok [INFO] [stdout] test world::organisms::organism::parent_tracking_tests::given_new_organism_when_created_with_new_then_is_root ... ok [INFO] [stdout] test world::organisms::generate_random_phenotypes::tests::given_zero_population_size_when_called_then_returns_empty_vector ... ok [INFO] [stdout] test world::organisms::organism::parent_tracking_tests::given_new_organism_when_created_with_root_parents_then_is_root ... ok [INFO] [stdout] test world::organisms::new::tests::given_valid_inputs_when_new_called_then_creates_organisms_correctly ... ok [INFO] [stdout] test world::organisms::increment_ages::tests::given_multiple_organisms_when_increment_ages_then_all_ages_increment ... ok [INFO] [stdout] test world::organisms::organism::parent_tracking_tests::given_new_organism_when_created_with_sexual_parents_then_has_two_parents ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_negative_floor_when_run_then_works_correctly ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_single_value_function_when_run_then_score_is_distance_from_floor ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_output_at_floor_when_run_then_score_is_zero ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_perfect_match_when_run_is_called_then_score_is_max ... ok [INFO] [stdout] test world::get_best_organism::tests::given_empty_data_when_get_best_then_panics - should panic ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_output_above_floor_when_run_then_score_is_distance ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_valid_inputs_when_run_is_called_then_score_is_updated_correctly ... ok [INFO] [stdout] test world::organisms::organism::tests::given_infinity_score_when_set_then_preserved ... ok [INFO] [stdout] test world::organisms::organism::tests::given_negative_infinity_score_when_set_then_preserved ... ok [INFO] [stdout] test world::organisms::organism::tests::given_negative_score_when_set_then_preserved ... ok [INFO] [stdout] test world::organisms::organism::tests::given_new_organism_with_age_when_age_is_checked_then_it_is_correct ... ok [INFO] [stdout] test world::organisms::organism::tests::given_new_organism_when_score_checked_then_returns_none ... ok [INFO] [stdout] test world::organisms::organism::tests::given_organism_created_with_new_asexual_when_parent_methods_called_then_returns_correct_values ... ok [INFO] [stdout] test world::organisms::organism::tests::given_organism_created_with_new_sexual_when_parent_methods_called_then_returns_correct_values ... ok [INFO] [stdout] test world::organisms::organism::tests::given_organism_created_with_new_when_parent_methods_called_then_returns_root_values ... ok [INFO] [stdout] test world::organisms::organism::tests::given_concurrent_writes_when_scores_set_then_final_value_is_one_of_them ... ok [INFO] [stdout] test world::organisms::organism::tests::given_concurrent_reads_when_score_set_then_all_see_value ... ok [INFO] [stdout] test world::organisms::organism::tests::given_organism_when_mark_dead_then_is_dead_returns_true ... ok [INFO] [stdout] test world::organisms::organism::tests::given_organism_when_cloned_then_parent_ids_are_copied ... ok [INFO] [stdout] test world::organisms::organism::tests::given_score_set_to_none_when_get_score_then_returns_none ... ok [INFO] [stdout] test world::organisms::organism::tests::given_score_set_when_get_score_then_returns_same_value ... ok [INFO] [stdout] test world::organisms::organism::tests::given_zero_score_when_set_then_preserved ... ok [INFO] [stdout] test world::organisms::organism::tests::given_very_large_score_when_set_then_preserved ... ok [INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_dimension_changed_some_but_region_key_none_then_full_recompute_occurs ... ok [INFO] [stdout] test world::organisms::organism::tests::given_very_small_score_when_set_then_preserved ... ok [INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_out_of_bounds_value_when_dimension_changed_none_then_failure_and_key_none ... ok [INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_region_key_exists_when_no_dimension_changed_then_no_op_success ... ok [INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_single_dimension_in_bounds_when_region_key_exists_then_success_and_key_updated ... ok [INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_single_dimension_out_of_bounds_when_region_key_exists_then_failure_and_key_cleared ... ok [INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_valid_inputs_when_dimension_changed_none_then_success_and_key_set ... ok [INFO] [stdout] test world::organisms::run_all::tests::given_multiple_organisms_when_run_all_then_every_score_is_set ... ok [INFO] [stdout] test world::organisms::organism::tests::given_organism_created_with_new_root_when_parent_methods_called_then_returns_root_values ... ok [INFO] [stdout] test world::organisms::update_all_region_keys::tests::given_no_organisms_when_update_all_region_keys_then_ok ... ok [INFO] [stdout] test world::regions::add_organisms::tests::given_empty_organisms_when_add_phenotypes_then_regions_unchanged ... ok [INFO] [stdout] test world::organisms::update_all_region_keys::tests::given_one_organism_fails_update_when_update_all_region_keys_then_err ... ok [INFO] [stdout] test world::organisms::update_all_region_keys::tests::given_organisms_with_cached_keys_when_update_all_with_dimension_changed_then_fast_path_used ... ok [INFO] [stdout] test world::organisms::update_all_region_keys::tests::given_organism_with_cached_key_when_update_all_with_dimension_changed_out_of_bounds_then_failure ... ok [INFO] [stdout] test world::organisms::update_all_region_keys::tests::given_organisms_all_update_successfully_when_update_all_region_keys_then_ok ... ok [INFO] [stdout] test world::regions::add_organisms::tests::given_multiple_organisms_different_keys_when_add_phenotypes_then_regions_created_correctly ... ok [INFO] [stdout] test world::regions::add_organisms::tests::given_one_organism_with_region_key_when_add_phenotypes_then_region_created_with_orgtype ... ok [INFO] [stdout] test world::regions::add_organisms::tests::given_multiple_organisms_same_key_when_add_phenotypes_then_region_has_all_orgtypes ... ok [INFO] [stdout] test world::regions::add_organisms::tests::given_region_with_existing_orgtype_when_add_more_orgtypes_to_same_key_then_all_are_present ... ok [INFO] [stdout] test world::regions::adjust_regions::tests::given_adjust_limits_succeeds_when_dimension_expanded_then_min_scores_are_cleared ... ok [INFO] [stdout] test world::regions::adjust_regions::tests::given_at_precision_limit_when_adjust_regions_then_tries_adjust_limits ... ok [INFO] [stdout] test world::regions::adjust_regions::tests::given_adjust_limits_succeeds_when_division_fails_then_returns_dimension_expanded ... ok [INFO] [stdout] test world::regions::adjust_regions::tests::given_no_variance_when_handle_successful_update_then_returns_at_resolution_limit ... ok [INFO] [stdout] test world::regions::adjust_regions::tests::given_target_regions_already_reached_when_handle_successful_update_then_returns_expansion_not_necessary ... ok [INFO] [stdout] test world::get_state_for_web::tests::given_2d_world_when_get_state_for_web_then_returns_valid_json_in_pdd_format ... ok [INFO] [stdout] test world::regions::adjust_regions::tests::given_precision_limit_and_adjust_limits_fails_when_adjust_regions_then_returns_at_resolution_limit ... ok [INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_diverse_values_when_calculate_dimension_stats_then_returns_correct_stats ... ok [INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_empty_values_when_calculate_dimension_stats_then_returns_empty_stats ... ok [INFO] [stdout] test world::regions::adjust_regions::tests::given_variance_when_handle_successful_update_then_returns_dimension_index ... ok [INFO] [stdout] test world::regions::adjust_regions::tests::given_zero_dimensions_when_handle_successful_update_then_returns_at_resolution_limit ... ok [INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_no_diversity_when_calculate_dimension_stats_then_returns_zero_std_dev ... ok [INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_single_organism_when_calculate_dimension_stats_then_returns_zero_std_dev ... ok [INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_values_outside_relative_tolerance_when_calculate_dimension_stats_then_treats_as_different ... ok [INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_values_within_relative_tolerance_when_calculate_dimension_stats_then_treats_as_same ... ok [INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_close_values_when_count_unique_then_treats_as_same ... ok [INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_different_values_when_count_unique_then_returns_correct_count ... ok [INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_distant_values_when_count_unique_then_treats_as_different ... ok [INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_empty_values_when_count_unique_then_returns_zero ... ok [INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_identical_values_when_count_unique_then_returns_one ... ok [INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_mixed_magnitudes_when_count_unique_then_handles_correctly ... ok [INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_single_value_when_count_unique_then_returns_one ... ok [INFO] [stdout] test world::regions::derive_region_seed::tests::given_different_region_keys_when_derive_then_different_results ... ok [INFO] [stdout] test world::regions::derive_region_seed::tests::given_different_world_seeds_when_derive_then_different_results ... ok [INFO] [stdout] test world::regions::derive_region_seed::tests::given_empty_region_key_when_derive_then_returns_valid_seed ... ok [INFO] [stdout] test world::regions::derive_region_seed::tests::given_large_region_key_when_derive_then_returns_valid_seed ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_clear_regions_then_remains_empty ... ok [INFO] [stdout] test world::regions::derive_region_seed::tests::given_same_world_seed_and_key_when_derive_then_same_result ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_get_region_mut_then_returns_none ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_collect_region_keys_then_returns_empty_vector ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_get_region_then_returns_none ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_contains_region_key_then_returns_false ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_is_empty_then_returns_true ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_insert_region_then_returns_none_and_adds_region ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_iter_region_keys_then_yields_no_items ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_iter_region_values_mut_then_yields_no_items ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_iter_region_values_then_yields_no_items ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_iter_regions_mut_then_yields_no_items ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_iter_regions_then_yields_no_items ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_len_then_returns_zero ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_remove_region_then_returns_none ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_retain_regions_then_remains_empty ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_when_multiple_operations_then_maintains_consistency ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_when_retain_regions_with_always_false_predicate_then_removes_all_regions ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_when_retain_regions_with_selective_predicate_then_keeps_matching_regions ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_when_retain_regions_with_always_true_predicate_then_keeps_all_regions ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_existing_key_when_insert_region_then_returns_previous_region ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_clear_regions_then_becomes_empty ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_collect_region_keys_then_returns_all_keys ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_iter_region_keys_then_yields_all_keys ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_iter_region_values_then_yields_all_values ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_iter_regions_then_yields_all_items ... ok [INFO] [stdout] test world::dimensions::new::tests::given_bounds_with_invalid_range_when_new_then_dimension_new_panics - should panic ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_len_then_returns_correct_count ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_contains_region_key_with_non_existing_key_then_returns_false ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_contains_region_key_with_existing_key_then_returns_true ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_get_region_mut_then_allows_mutation ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_get_region_mut_with_existing_key_then_returns_some ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_empty_known_outputs_slice_when_run_then_panics - should panic ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_get_region_mut_with_non_existing_key_then_returns_none ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_get_region_with_existing_key_then_returns_some ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_get_region_with_non_existing_key_then_returns_none ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_iter_region_values_mut_then_allows_mutation ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_infinite_known_outputs_when_run_then_panics - should panic ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_iter_regions_mut_then_allows_mutation ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_iter_regions_then_yields_correct_key_value_pairs ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_remove_region_with_existing_key_then_returns_region_and_removes_it ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_infinite_output_when_run_then_panics - should panic ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_remove_region_with_non_existing_key_then_returns_none ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_single_region_when_is_empty_then_returns_false ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_single_region_when_iter_regions_then_yields_one_item ... ok [INFO] [stdout] test world::regions::find_most_diverse_index::tests::given_clear_winner_when_find_most_diverse_index_then_returns_correct_index ... ok [INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_single_region_when_len_then_returns_one ... ok [INFO] [stdout] test world::regions::find_most_diverse_index::tests::given_empty_stats_when_find_most_diverse_index_then_returns_none ... ok [INFO] [stdout] test world::regions::find_most_diverse_index::tests::given_tie_in_uniqueness_when_find_most_diverse_index_then_std_dev_breaks_tie ... ok [INFO] [stdout] test world::regions::find_most_diverse_index::tests::given_no_diversity_when_find_most_diverse_index_then_returns_none ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_mismatched_output_lengths_when_run_is_called_then_it_panics - should panic ... ok [INFO] [stdout] test world::regions::get_most_common_key::tests::given_all_regions_are_empty_when_get_most_common_key_then_returns_a_key ... ok [INFO] [stdout] test world::regions::find_most_diverse_index::tests::given_winner_has_one_unique_value_when_find_most_diverse_index_then_returns_none ... ok [INFO] [stdout] test world::regions::get_most_common_key::tests::given_one_region_when_get_most_common_key_then_returns_its_key ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_nan_known_outputs_when_run_then_panics - should panic ... ok [INFO] [stdout] test world::regions::get_most_diverse_dimension::tests::given_non_existent_key_when_get_most_diverse_dimension_then_returns_none ... ok [INFO] [stdout] test world::regions::get_most_diverse_dimension::tests::given_no_diversity_when_get_most_diverse_dimension_then_returns_none ... ok [INFO] [stdout] test world::regions::get_most_diverse_dimension::tests::given_organisms_with_one_diverse_dimension_when_get_most_diverse_dimension_then_returns_correct_index ... ok [INFO] [stdout] test world::regions::get_most_common_key::tests::given_regions_with_a_tie_when_get_most_common_key_then_returns_one_of_them ... ok [INFO] [stdout] test world::regions::get_most_common_key::tests::given_no_regions_when_get_most_common_key_then_returns_none ... ok [INFO] [stdout] test world::regions::get_most_diverse_dimension::tests::given_tie_in_uniqueness_when_get_most_diverse_dimension_then_std_dev_breaks_tie ... ok [INFO] [stdout] test world::regions::get_most_common_key::tests::given_multiple_regions_when_get_most_common_key_then_returns_correct_key ... ok [INFO] [stdout] test world::regions::get_most_diverse_dimension::tests::given_region_with_one_organism_when_get_most_diverse_dimension_then_returns_none ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_nan_output_when_run_then_panics - should panic ... ok [INFO] [stdout] test world::regions::prune_empty_regions::tests::given_no_regions_when_prune_empty_regions_then_no_change_and_no_panic ... ok [INFO] [stdout] test world::regions::prune_empty_regions::tests::given_regions_with_some_empty_when_prune_empty_regions_then_empty_regions_are_removed ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_no_outputs_when_run_then_panics - should panic ... ok [INFO] [stdout] test world::regions::prune_empty_regions::tests::given_regions_with_all_empty_when_prune_empty_regions_then_all_regions_are_removed ... ok [INFO] [stdout] test world::organisms::organism::run::tests::given_output_below_floor_then_panics - should panic ... ok [INFO] [stdout] test world::regions::prune_empty_regions::tests::given_regions_with_all_populated_when_prune_empty_regions_then_no_regions_are_removed ... ok [INFO] [stdout] test world::regions::refill::tests::given_empty_organisms_when_refill_then_all_regions_pruned ... ok [INFO] [stdout] test world::regions::parallel_process::tests::given_multiple_regions_when_parallel_process_then_all_processed ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_offspring_this_pass_limit_when_execute_then_respects_limit ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_max_passes_limit_when_execute_then_stops_at_limit ... ok [INFO] [stdout] test world::regions::parallel_process::tests::given_regions_of_different_sizes_when_parallel_process_then_largest_regions_sorted_first ... ok [INFO] [stdout] test world::regions::refill::tests::given_mixed_organisms_when_refill_then_empty_regions_pruned_and_populated_kept ... ok [INFO] [stdout] test world::regions::refill::tests::given_organisms_with_scores_when_refill_then_min_scores_updated ... ok [INFO] [stdout] test world::regions::refill::tests::given_organisms_with_zero_and_negative_scores_when_refill_then_zero_is_min_score ... ok [INFO] [stdout] test world::regions::refill::tests::given_organisms_without_scores_when_refill_then_min_scores_remain_none ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_single_organism_single_pass_when_execute_then_one_offspring ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_single_organism_when_execute_then_offspring_has_correct_sexual_self_fertilization ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_two_organisms_single_pass_when_execute_then_two_offspring ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_three_organisms_odd_number_when_execute_then_handles_extreme_pairing_correctly ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_zero_number_to_reproduce_when_execute_then_empty_result ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_two_organisms_when_execute_then_offspring_have_correct_sexual_parent_ids ... ok [INFO] [stdout] test world::regions::region::execute_single_reproduction_pass::tests::given_single_organism_when_execute_single_pass_then_returns_two_sexual_offspring ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_three_organisms_when_execute_then_sexual_reproduction_with_top_performer_duplication ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_single_organism_multiple_passes_when_execute_then_multiple_offspring ... ok [INFO] [stdout] test world::regions::parallel_process::tests::given_same_seed_when_parallel_process_then_deterministic_results ... ok [INFO] [stdout] test world::regions::region::execute_single_reproduction_pass::tests::given_three_organisms_when_execute_single_pass_then_returns_sexual_reproduction_with_duplication ... ok [INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_empty_organisms_when_pair_organisms_then_returns_empty_pairs ... ok [INFO] [stdout] test world::regions::region::execute_single_reproduction_pass::tests::given_two_organisms_when_execute_single_pass_then_returns_two_sexual_offspring ... ok [INFO] [stdout] test world::regions::region::execute_single_reproduction_pass::tests::given_max_offspring_limit_when_execute_single_pass_then_respects_limit ... ok [INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_three_organisms_when_pair_organisms_then_duplicates_top_performer ... ok [INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_two_organisms_when_pair_organisms_then_pairs_first_with_last ... ok [INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_four_organisms_when_pair_organisms_then_pairs_extremes ... ok [INFO] [stdout] test world::regions::region::perform_sexual_reproduction::tests::given_one_pair_when_perform_sexual_reproduction_then_returns_two_offspring ... ok [INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_single_organism_when_pair_organisms_then_pairs_with_itself ... ok [INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_six_organisms_when_pair_organisms_then_pairs_all_extremes ... ok [INFO] [stdout] test world::regions::region::perform_sexual_reproduction::tests::given_empty_pairs_when_perform_sexual_reproduction_then_returns_empty_offspring ... ok [INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_five_organisms_when_pair_organisms_then_duplicates_top_and_pairs_extremes ... ok [INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_two_organisms_multiple_passes_when_execute_then_multiple_offspring ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_empty_region_when_reproduce_then_returns_empty_vec ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_carrying_capacity_exceeded_when_reproduce_then_single_pass_only ... ok [INFO] [stdout] test world::regions::region::process_region::tests::given_region_over_capacity_when_process_lifecycle_then_truncated ... ok [INFO] [stdout] test world::regions::region::perform_sexual_reproduction::tests::given_two_pairs_when_perform_sexual_reproduction_then_returns_four_offspring ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_equal_score_different_age_then_older_ranks_higher ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_no_carrying_capacity_when_reproduce_then_single_pass_only ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_odd_r_when_reproduce_then_returns_r_offspring ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_odd_number_organisms_when_reproduce_multiple_passes_then_handles_extreme_pairing_correctly ... ok [INFO] [stdout] test world::regions::region::process_region::tests::given_region_with_organisms_when_process_lifecycle_then_fitness_evaluated ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_even_r_when_reproduce_then_returns_r_offspring ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_one_parent_when_reproduce_then_two_offspring_sexual_self_fertilization ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_r_exceeds_parents_when_reproduce_then_all_parents_used ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_single_organism_when_reproduce_multiple_passes_then_produces_multiple_offspring ... ok [INFO] [stdout] test world::regions::update::tests::given_no_organisms_when_update_then_no_regions ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_reproduction_factor_limit_when_reproduce_then_stops_at_factor_limit ... ok [INFO] [stdout] test world::regions::update::tests::given_multiple_distant_organisms_when_update_then_space_divides ... ok [INFO] [stdout] test world::regions::update::tests::given_no_organisms_when_update_then_returns_true ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_two_organisms_when_reproduce_multiple_passes_then_produces_multiple_offspring ... ok [INFO] [stdout] test world::regions::update::tests::given_one_organism_fits_bounds_when_update_then_single_region_no_extra_division ... ok [INFO] [stdout] test world::regions::update::tests::given_no_variance_when_update_then_returns_true_at_resolution_limit ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_sufficient_parents_when_reproduce_single_pass_then_no_multiple_passes ... ok [INFO] [stdout] test world::regions::region::reproduce::tests::given_zero_r_when_reproduce_then_returns_empty_vec ... ok [INFO] [stdout] test world::regions::region::process_region::tests::given_same_seed_when_process_lifecycle_then_deterministic_offspring ... ok [INFO] [stdout] test world::regions::update::tests::given_target_reached_when_update_then_returns_false_expansion_not_necessary ... ok [INFO] [stdout] test world::regions::update::tests::given_organism_out_of_bounds_when_update_then_dimension_expands ... ok [INFO] [stdout] test world::regions::update::tests::given_small_target_when_update_then_returns_true_at_resolution_limit ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_mixed_none_and_positive_scores_when_update_capacities_then_none_scores_get_zero ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_large_number_of_regions_when_update_capacities_then_all_regions_get_capacity ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_many_regions_with_very_small_scores_when_update_capacities_then_no_overflow ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_no_regions_with_min_scores_when_update_capacities_then_all_capacities_zero ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_multiple_regions_with_min_scores_when_update_capacities_then_capacities_proportional ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_region_with_extremely_high_score_when_update_capacities_then_gets_minimal_capacity ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_region_with_no_min_score_when_update_capacities_then_its_capacity_is_zero ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_regions_with_odd_population_when_update_capacities_then_total_equals_population ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_regions_with_very_close_scores_when_update_capacities_then_similar_capacity ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_one_region_with_positive_min_score_when_update_capacities_then_capacity_is_population_size ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_multiple_regions_with_infinite_inverse_fitness_when_update_capacities_then_capacity_divided_equally ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_single_infinite_among_many_finite_when_update_capacities_then_infinite_gets_all ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_single_region_with_infinite_inverse_fitness_when_update_capacities_then_gets_all_capacity ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_two_regions_with_zero_scores_when_update_capacities_then_split_equally ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_zero_and_positive_min_scores_when_update_capacities_then_zero_gets_all_capacity ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_zero_min_score_when_update_capacities_then_gets_all_capacity ... ok [INFO] [stdout] test world::remove_dead::tests::given_all_live_organisms_when_retain_live_then_all_remain ... ok [INFO] [stdout] test world::remove_dead::tests::given_dead_organism_in_region_when_region_retain_live_then_removed ... ok [INFO] [stdout] test world::remove_dead::tests::given_dead_organism_when_organisms_retain_live_then_removed ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_uneven_split_with_remainder_when_update_capacities_then_remainder_distributed ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_only_positive_min_scores_when_update_capacities_then_proportional_allocation ... ok [INFO] [stdout] test world::remove_dead::tests::given_empty_organisms_collection_when_retain_live_then_remains_empty ... ok [INFO] [stdout] test world::single_valued_function::tests::given_custom_floor_function_when_run_then_output_above_floor ... ok [INFO] [stdout] test world::single_valued_function::tests::given_custom_floor_when_function_floor_called_then_returns_custom_value ... ok [INFO] [stdout] test world::single_valued_function::tests::given_negative_floor_when_function_floor_called_then_returns_negative_value ... ok [INFO] [stdout] test world::single_valued_function::tests::given_single_valued_function_when_run_then_returns_vec_with_single_value ... ok [INFO] [stdout] test world::single_valued_function::tests::given_default_floor_when_function_floor_called_then_returns_zero ... ok [INFO] [stdout] test world::regions::add_organisms::tests::given_organisms_with_no_region_keys_when_add_organisms_then_panics - should panic ... ok [INFO] [stdout] test world::single_valued_function::tests::given_single_valued_function_when_used_as_world_function_then_floor_is_preserved ... ok [INFO] [stdout] test world::single_valued_function::tests::given_negative_floor_function_when_run_then_output_above_floor ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_negative_min_score_when_update_capacities_then_panics - should panic ... ok [INFO] [stdout] test world::remove_dead::tests::given_all_dead_organisms_when_remove_dead_then_world_is_empty ... ok [INFO] [stdout] test world::run_epoch::tests::given_empty_training_data_when_run_epoch_then_panic - should panic ... ok [INFO] [stdout] test world::tests::given_zero_target_regions_when_new_is_called_then_it_panics - should panic ... ok [INFO] [stdout] test world::remove_dead::tests::given_no_dead_organisms_when_remove_dead_then_world_unchanged ... ok [INFO] [stdout] test world::remove_dead::tests::given_some_dead_organisms_when_remove_dead_then_only_live_remain ... ok [INFO] [stdout] test world::remove_dead::tests::given_organisms_with_mixed_death_states_when_remove_dead_then_removes_only_dead_from_all_regions ... ok [INFO] [stdout] test world::run_epoch::tests::given_training_data_when_run_epoch_then_scores_are_updated ... ok [INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_non_finite_min_score_when_update_capacities_then_panics - should panic ... ok [INFO] [stdout] test world::remove_dead::tests::given_entire_region_dead_when_remove_dead_then_region_is_removed ... ok [INFO] [stdout] test world::tests::given_zero_population_size_when_new_is_called_then_it_panics - should panic ... ok [INFO] [stdout] test world::training_run::tests::given_empty_known_outputs_when_training_run_then_panics - should panic ... ok [INFO] [stdout] test world::run_epoch::tests::given_valid_training_data_when_run_epoch_then_no_panic ... ok [INFO] [stdout] test world::training_run::tests::given_infinite_known_outputs_when_training_run_then_panics - should panic ... ok [INFO] [stdout] test world::validate_training_sets::tests::given_empty_inputs_when_validate_then_panic - should panic ... ok [INFO] [stdout] test world::validate_training_sets::tests::given_valid_sets_when_validate_then_no_panic ... ok [INFO] [stdout] test world::validate_training_sets::tests::given_row_length_mismatch_when_validate_then_panic - should panic ... ok [INFO] [stdout] test world::validate_training_sets::tests::given_mismatched_lengths_when_validate_then_panic - should panic ... ok [INFO] [stdout] test world::training_run::tests::given_nan_known_outputs_when_training_run_then_panics - should panic ... ok [INFO] [stdout] test world::tests::given_valid_inputs_when_new_is_called_then_world_is_initialized_correctly ... ok [INFO] [stdout] test world::training_run::tests::given_perfect_match_when_training_run_then_resolution_limit_not_reached ... ok [INFO] [stdout] test world::training_run::tests::given_valid_inputs_when_training_run_then_scores_positive_and_ages_increment ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 432 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stderr] Running tests/organism_persistence_test.rs (/opt/rustwide/target/debug/deps/organism_persistence_test-d050c70a9eedb1a1) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_organism_ids_persist_across_epochs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/parallel_determinism_test.rs (/opt/rustwide/target/debug/deps/parallel_determinism_test-9904017b3059ee0e) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test given_different_seeds_when_run_then_different_results ... ok [INFO] [stdout] test given_same_seed_when_multiple_runs_then_identical_results ... ok [INFO] [stdout] test given_parallel_execution_when_same_seed_then_deterministic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.14s [INFO] [stdout] [INFO] [stderr] Running tests/simple_test.rs (/opt/rustwide/target/debug/deps/simple_test-1563cbb00e3c9b85) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test execute ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/two_d_ackley_test.rs (/opt/rustwide/target/debug/deps/two_d_ackley_test-72863d67401a168a) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test execute ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/two_d_bukin_n6_test.rs (/opt/rustwide/target/debug/deps/two_d_bukin_n6_test-adf05d9741b84dca) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test execute ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/two_d_himmelblau_test.rs (/opt/rustwide/target/debug/deps/two_d_himmelblau_test-b46a58d2d8962c49) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test execute ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/two_d_levi_n13_test.rs (/opt/rustwide/target/debug/deps/two_d_levi_n13_test-382432acc0ea8d46) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test execute ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/two_d_rastrgin_test.rs (/opt/rustwide/target/debug/deps/two_d_rastrgin_test-97cc31a7daa42b21) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test execute ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/two_d_schaffer_n2_test.rs (/opt/rustwide/target/debug/deps/two_d_schaffer_n2_test-94eae710657d4214) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test execute ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/two_d_styblinski_tang_test.rs (/opt/rustwide/target/debug/deps/two_d_styblinski_tang_test-2d5f78d5bec97248) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test execute ... ignored [INFO] [stdout] test given_styblinski_tang_when_evaluated_at_global_min_then_returns_minimum ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests hill_descent_lib [INFO] [stdout] [INFO] [stdout] running 35 tests [INFO] [stdout] test src/world/get_best_organism.rs - world::get_best_organism::World::get_best_organism (line 103) - compile ... ok [INFO] [stdout] test src/world/get_best_organism.rs - world::get_best_organism::World::get_best_organism (line 35) - compile ... ok [INFO] [stdout] test src/world/get_best_organism.rs - world::get_best_organism::World::get_best_organism (line 69) - compile ... ok [INFO] [stdout] test src/world/get_state_for_web.rs - world::get_state_for_web::super::World::get_state_for_web (line 268) ... ignored [INFO] [stdout] test src/world/get_state_for_web.rs - world::get_state_for_web::super::World::get_state_for_web (line 314) ... ignored [INFO] [stdout] test src/world/get_state.rs - world::get_state::super::World::get_state (line 167) - compile ... ok [INFO] [stdout] test src/parameters/global_constants.rs - parameters::global_constants::GlobalConstants (line 10) ... ok [INFO] [stdout] test src/parameters/mod.rs - parameters (line 9) ... ok [INFO] [stdout] test src/parameters/global_constants.rs - parameters::global_constants::GlobalConstants::new (line 98) ... ok [INFO] [stdout] test src/parameters/global_constants.rs - parameters::global_constants::GlobalConstants::new_with_seed (line 130) ... ok [INFO] [stdout] test src/world/single_valued_function.rs - world::single_valued_function::SingleValuedFunction (line 56) ... ok [INFO] [stdout] test src/world/single_valued_function.rs - world::single_valued_function::SingleValuedFunction::function_floor (line 173) ... ignored [INFO] [stdout] test src/lib.rs - setup_world (line 165) ... ok [INFO] [stdout] test src/world/training_run.rs - world::training_run::World::training_run (line 109) - compile ... ok [INFO] [stdout] test src/world/single_valued_function.rs - world::single_valued_function::SingleValuedFunction (line 76) ... ok [INFO] [stdout] test src/world/single_valued_function.rs - world::single_valued_function::SingleValuedFunction::single_run (line 140) ... ok [INFO] [stdout] test src/world/world_function.rs - world::world_function::WorldFunction (line 18) ... ignored [INFO] [stdout] test src/world/get_state.rs - world::get_state::super::World::get_state (line 199) ... ok [INFO] [stdout] test src/world/world_function.rs - world::world_function::WorldFunction (line 39) ... ok [INFO] [stdout] test src/world/world_function.rs - world::world_function::WorldFunction::run (line 126) ... ok [INFO] [stdout] test src/world/world_function.rs - world::world_function::WorldFunction (line 67) ... ok [INFO] [stdout] test src/world/get_best_score.rs - world::get_best_score::World::get_best_score (line 50) ... ok [INFO] [stdout] test src/world/get_state.rs - world::get_state::super::World::get_state (line 138) ... ok [INFO] [stdout] test src/world/get_state_for_web.rs - world::get_state_for_web::super::World::get_state_for_web (line 238) ... ok [INFO] [stdout] test src/world/get_state_for_web.rs - world::get_state_for_web::super::World::get_state_for_web (line 283) - should panic ... ok [INFO] [stdout] test src/lib.rs - setup_world (line 185) ... ok [INFO] [stdout] test src/lib.rs - (line 12) ... ok [INFO] [stdout] test src/world/get_best_score.rs - world::get_best_score::World::get_best_score (line 20) ... ok [INFO] [stdout] test src/world/mod.rs - world (line 15) ... ok [INFO] [stdout] test src/world/single_valued_function.rs - world::single_valued_function::SingleValuedFunction (line 27) ... ok [INFO] [stdout] test src/world/mod.rs - world::World (line 81) ... ok [INFO] [stdout] test src/world/training_run.rs - world::training_run::World::training_run (line 76) ... ok [INFO] [stdout] test src/world/mod.rs - world::World (line 109) ... ok [INFO] [stdout] test src/world/training_run.rs - world::training_run::World::training_run (line 46) ... ok [INFO] [stdout] test src/world/get_best_score.rs - world::get_best_score::World::get_best_score (line 81) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 31 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 1.77s [INFO] [stdout] [INFO] [stdout] all doctests ran in 2.19s; merged doctests compilation took 0.42s [INFO] running `Command { std: "docker" "inspect" "411e150c6b24b87c98925f54214893391ad585a8ede06f883afcf0c3abfa4aa0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "411e150c6b24b87c98925f54214893391ad585a8ede06f883afcf0c3abfa4aa0", kill_on_drop: false }` [INFO] [stdout] 411e150c6b24b87c98925f54214893391ad585a8ede06f883afcf0c3abfa4aa0