Skip to content

Commit d97e01d

Browse files
committed
test: add stability test for PWayCombine with deterministic runs using a fixed seed
1 parent c826946 commit d97e01d

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

tests/partition/evolutionary/determinism_test.cc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,22 @@ TEST_F(EvoDeterminismTest, CombineOnlyDeterministicRunIsStableForSameSeed) {
150150
EXPECT_EQ(first.quality, second.quality);
151151
EXPECT_DOUBLE_EQ(first.imbalance, second.imbalance);
152152
}
153+
TEST_F(EvoDeterminismTest, PWayCombineOnlyDeterministicRunIsStableForSameSeed) {
154+
context.evolutionary.mutation_chance = 0.0f;
155+
context.evolutionary.enable_modified_combine = false;
156+
context.evolutionary.kway_combine = 4;
157+
158+
const int seed = 42;
159+
const size_t num_threads = 8;
160+
const size_t threads_per_worker = 8;
161+
162+
RunResult first = runEvoOnce(seed, num_threads, threads_per_worker);
163+
RunResult second = runEvoOnce(seed, num_threads, threads_per_worker);
164+
165+
EXPECT_EQ(first.assignment, second.assignment);
166+
EXPECT_EQ(first.quality, second.quality);
167+
EXPECT_DOUBLE_EQ(first.imbalance, second.imbalance);
168+
}
153169

154170
TEST_F(EvoDeterminismTest, MutationOnlyDeterministicRunIsStableForSameSeed) {
155171
context.evolutionary.mutation_chance = 1.0f;

0 commit comments

Comments
 (0)