From fe79fc0be4f3e27d634fbcb27c43eed948d285ce Mon Sep 17 00:00:00 2001 From: xeji <36407913+xeji@users.noreply.github.com> Date: Tue, 22 May 2018 01:22:12 +0200 Subject: [PATCH] nixos/tests/mysql-replication: fix test (#40850) Failed non-deterministically on hydra because replcation sometimes was not finished yet when checking the results. --- nixos/tests/mysql-replication.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/nixos/tests/mysql-replication.nix b/nixos/tests/mysql-replication.nix index 75c6d793febc..ed09ac10b75d 100644 --- a/nixos/tests/mysql-replication.nix +++ b/nixos/tests/mysql-replication.nix @@ -57,18 +57,25 @@ in $master->start; $master->waitForUnit("mysql"); $master->waitForOpenPort(3306); + # Wait for testdb to be fully populated (5 rows). + $master->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"); + $slave1->start; $slave2->start; $slave1->waitForUnit("mysql"); $slave1->waitForOpenPort(3306); $slave2->waitForUnit("mysql"); $slave2->waitForOpenPort(3306); - $slave2->succeed("echo 'use testdb; select * from tests' | mysql -u root -N | grep 4"); + + # wait for replications to finish + $slave1->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"); + $slave2->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"); + $slave2->succeed("systemctl stop mysql"); $master->succeed("echo 'insert into testdb.tests values (123, 456);' | mysql -u root -N"); $slave2->succeed("systemctl start mysql"); $slave2->waitForUnit("mysql"); $slave2->waitForOpenPort(3306); - $slave2->succeed("echo 'select * from testdb.tests where Id = 123;' | mysql -u root -N | grep 456"); + $slave2->waitUntilSucceeds("echo 'select * from testdb.tests where Id = 123;' | mysql -u root -N | grep 456"); ''; })