wait-for-slapd-v2.patch

application/octet-stream

Filename: wait-for-slapd-v2.patch
Type: application/octet-stream
Part: 0
Message: Re: On the stability of TAP tests for LDAP

Patch

Format: unified
Series: patch v2
File+
src/test/ldap/t/001_auth.pl 11 0
diff --git a/src/test/ldap/t/001_auth.pl b/src/test/ldap/t/001_auth.pl
index 6c02f2530b..aea6a961d8 100644
--- a/src/test/ldap/t/001_auth.pl
+++ b/src/test/ldap/t/001_auth.pl
@@ -117,6 +117,17 @@ END
 	kill 'INT', `cat $slapd_pidfile` if -f $slapd_pidfile;
 }
 
+# wait until slapd accepts requests
+my $retries = 0;
+while (1) {
+	last if (system_log("ldapsearch", "-h", $ldap_server, "-p", $ldap_port,
+						"-s", "base", "-b", $ldap_basedn, "-n",
+						"'objectclass=*'") == 0);
+	die "cannot connect to slapd" if ++$retries >= 300;
+	note "waiting for slapd to accept requests...";
+	Time::HiRes::usleep(1000000);
+}
+
 append_to_file($ldap_pwfile, $ldap_rootpw);
 chmod 0600, $ldap_pwfile or die;