[libuser/f16] Wait up to 30 seconds for slapd to start in the test suite
Miloslav Trmac
mitr at fedoraproject.org
Tue Oct 4 13:27:34 UTC 2011
commit d3c8a36bd7e60c86914db415cc12174912cf47d1
Author: Miloslav Trmač <mitr at redhat.com>
Date: Tue Oct 4 15:22:45 2011 +0200
Wait up to 30 seconds for slapd to start in the test suite
libuser-0.57.3-wait_for_slapd.patch | 101 +++++++++++++++++++++++++++++++++++
libuser.spec | 8 +++-
2 files changed, 108 insertions(+), 1 deletions(-)
---
diff --git a/libuser-0.57.3-wait_for_slapd.patch b/libuser-0.57.3-wait_for_slapd.patch
new file mode 100644
index 0000000..f17d062
--- /dev/null
+++ b/libuser-0.57.3-wait_for_slapd.patch
@@ -0,0 +1,101 @@
+# HG changeset patch
+# User Miloslav Trmač <mitr at redhat.com>
+# Date 1317734450 -7200
+# Node ID 748913706e6a78f934489cc24e88e20965eed742
+# Parent 4efd04928ae217db09806d4c8d47a1336f8ba782
+Use common code to wait for slapd, wait up to 30 seconds
+
+diff -r 4efd04928ae2 -r 748913706e6a ChangeLog
+--- a/ChangeLog Tue Oct 04 12:56:32 2011 +0200
++++ b/ChangeLog Tue Oct 04 15:20:50 2011 +0200
+@@ -1,5 +1,10 @@
+ 2011-10-04 Miloslav Trmač <mitr at redhat.com>
+
++ * tests/test_utils.sh: New file.
++ * tests/default_pw_test
++ * tests/ldap_test: Use common wait_for_slapd, also increasing the
++ timeout to 30 seconds.
++
+ * po/*.po (many): Mark an invalid translation as fuzzy.
+
+ * configure.in: Release 0.57.3.
+diff -r 4efd04928ae2 -r 748913706e6a tests/default_pw_test
+--- a/tests/default_pw_test Tue Oct 04 12:56:32 2011 +0200
++++ b/tests/default_pw_test Tue Oct 04 15:20:50 2011 +0200
+@@ -20,6 +20,7 @@
+ # Author: Miloslav Trmač <mitr at redhat.com>
+
+ srcdir=$srcdir/tests
++. $srcdir/test_utils.sh
+
+ workdir=$(pwd)/test_default_pw
+
+@@ -100,7 +101,7 @@
+ # FIXME: path
+ /usr/sbin/slapd -h ldap://127.0.0.1:"$ldap_port"/ \
+ -f "$workdir"/slapd.conf &
+- sleep 3 # Time for slapd to initialize
++ wait_for_slapd "$workdir"/slapd.pid
+ slapd_pid=$(cat "$workdir"/slapd.pid)
+ trap 'status=$?; kill $slapd_pid; rm -rf "$workdir"; exit $status' 0
+ ldapadd -h 127.0.0.1 -p "$ldap_port" -f "$srcdir/ldap_skel.ldif" -x \
+diff -r 4efd04928ae2 -r 748913706e6a tests/ldap_test
+--- a/tests/ldap_test Tue Oct 04 12:56:32 2011 +0200
++++ b/tests/ldap_test Tue Oct 04 15:20:50 2011 +0200
+@@ -20,6 +20,7 @@
+ # Author: Miloslav Trmac <mitr at redhat.com>
+
+ srcdir=$srcdir/tests
++. $srcdir/test_utils.sh
+
+ workdir=$(pwd)/test_ldap
+
+@@ -51,7 +52,7 @@
+ ldap_port=$(tests/alloc_port) # This is racy, but much better than a static port
+ # FIXME: path
+ /usr/sbin/slapd -h ldap://127.0.0.1:"$ldap_port"/ -f "$workdir"/slapd.conf &
+-sleep 3 # Time for slapd to initialize
++wait_for_slapd "$workdir"/slapd.pid
+ slapd_pid=$(cat "$workdir"/slapd.pid)
+ trap 'status=$?; kill $slapd_pid; rm -rf "$workdir"; exit $status' 0
+ ldapadd -h 127.0.0.1 -p "$ldap_port" -f "$srcdir/ldap_skel.ldif" -x \
+diff -r 4efd04928ae2 -r 748913706e6a tests/test_utils.sh
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/tests/test_utils.sh Tue Oct 04 15:20:50 2011 +0200
+@@ -0,0 +1,36 @@
++#! /bin/sh
++# Shared utilities for test suites
++#
++# Copyright (c) 2004, 2010 Red Hat, Inc. All rights reserved.
++#
++# This is free software; you can redistribute it and/or modify it under
++# the terms of the GNU Library General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public
++# License along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
++# Author: Miloslav Trmač <mitr at redhat.com>
++
++# Wait for slapd to start and write its pid into $1
++wait_for_slapd() {
++ counter=0
++ while [ "$counter" -lt 30 ]; do
++ printf "\rWaiting for slapd: $counter..."
++ counter=$(expr "$counter" + 1)
++ if [ -s "$1" ]; then
++ echo
++ return
++ fi
++ sleep 1
++ done
++ echo
++ echo "Timeout waiting for slapd" >&2
++}
diff --git a/libuser.spec b/libuser.spec
index 0d13f6b..8c36e36 100644
--- a/libuser.spec
+++ b/libuser.spec
@@ -2,11 +2,13 @@
Name: libuser
Version: 0.57.3
-Release: 1%{?dist}
+Release: 2%{?dist}
Group: System Environment/Base
License: LGPLv2+
URL: https://fedorahosted.org/libuser/
Source: https://fedorahosted.org/releases/l/i/libuser/libuser-%{version}.tar.xz
+# Upstream changeset 748913706e6a78f934489cc24e88e20965eed742
+Patch1: libuser-0.57.3-wait_for_slapd.patch
BuildRequires: glib2-devel, linuxdoc-tools, pam-devel, popt-devel, python2-devel
BuildRequires: cyrus-sasl-devel, libselinux-devel, openldap-devel
# To make sure the configure script can find it
@@ -45,6 +47,7 @@ administering user and group accounts.
%prep
%setup -q
+%patch1 -p1 -b .wait_for_slapd
%build
%configure --with-selinux --with-ldap --with-html-dir=%{_datadir}/gtk-doc/html
@@ -102,6 +105,9 @@ python -c "import libuser"
%{_datadir}/gtk-doc/html/*
%changelog
+* Tue Oct 4 2011 Miloslav Trmač <mitr at redhat.com> - 0.57.3-2
+- Wait up to 30 seconds for slapd to start in the test suite
+
* Tue Oct 4 2011 Miloslav Trmač <mitr at redhat.com> - 0.57.3-1
- Update to libuser-0.57.3
Resolves: #717116, #724986
More information about the scm-commits
mailing list