summary refs log tree commit diff
path: root/nixos/tests/mysql-replication.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/tests/mysql-replication.nix')
-rw-r--r--nixos/tests/mysql-replication.nix11
1 files 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");
   '';
 })