Use --detach in tests to avoid waiting

This commit is contained in:
Nicolas Williams
2016-12-04 16:42:33 -06:00
parent 8735d47d8b
commit 2027aa11ed
26 changed files with 95 additions and 205 deletions

View File

@@ -1,5 +1,8 @@
#!/bin/sh
HEIM_PIDFILE_DIR="${objdir}/"
export HEIM_PIDFILE_DIR
unset KRB5_CONFIG
unset KRB5CCNAME
@@ -48,6 +51,13 @@ test_kuserok="${TESTS_ENVIRONMENT} ${top_builddir}/lib/krb5/test_kuserok"
have_db="${top_builddir}/tests/db/have-db"
leaks_kill="${top_srcdir}/tests/kdc/leaks-kill.sh"
wait_kdc="${top_srcdir}/tests/kdc/wait-kdc.sh"
getpid () {
if [ -f "$HEIM_PIDFILE_DIR/lt-${1}.pid" ]; then
cat "$HEIM_PIDFILE_DIR/lt-${1}.pid"
else
cat "$HEIM_PIDFILE_DIR/${1}.pid"
fi
}
if [ ! "${NO_AFS}" ] ; then
afs_no_unlog="--no-unlog"

View File

@@ -94,14 +94,8 @@ echo "Doing database check"
${kadmin} check ${R} || exit 1
echo Starting kdc
${kdc} &
kdcpid=$!
sh ${srcdir}/../kdc/wait-kdc.sh
if [ "$?" != 0 ] ; then
kill ${kdcpid}
exit 1
fi
${kdc} --testing --detach || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -114,14 +114,8 @@ ${kadmin} check ${R} || exit 1
echo u1 > ${objdir}/foopassword
echo Starting kdc
${kdc} &
kdcpid=$!
sh ${srcdir}/../kdc/wait-kdc.sh
if [ "$?" != 0 ] ; then
kill ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -88,14 +88,8 @@ echo "Doing database check"
${kadmin} check ${R} || exit 1
echo Starting kdc
${kdc} &
kdcpid=$!
sh ${srcdir}/../kdc/wait-kdc.sh
if [ "$?" != 0 ] ; then
kill ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -106,14 +106,8 @@ echo u1 > ${objdir}/foopassword
echo ds > ${objdir}/barpassword
echo Starting kdc
${kdc} &
kdcpid=$!
sh ${srcdir}/../kdc/wait-kdc.sh
if [ "$?" != 0 ] ; then
kill ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -105,14 +105,8 @@ echo u1 > ${objdir}/foopassword
echo ds > ${objdir}/barpassword
echo Starting kdc
${kdc} &
kdcpid=$!
sh ${srcdir}/../kdc/wait-kdc.sh
if [ "$?" != 0 ] ; then
kill ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -13,6 +13,7 @@ TESTS = $(SCRIPT_TESTS)
port = 49188
do_subst = sed -e 's,[@]srcdir[@],$(srcdir),g' \
-e 's,[@]env_setup[@],$(top_builddir)/tests/bin/setup-env,g' \
-e 's,[@]port[@],$(port),g' \
-e 's,[@]objdir[@],$(top_builddir)/tests/java,g'

View File

@@ -35,9 +35,12 @@
#
srcdir="@srcdir@"
env_setup="@env_setup@"
objdir="@objdir@"
port="@port@"
. ${env_setup}
# Disable test if: no data, no java, or socket wrapper
../db/have-db || exit 77
sh ${srcdir}/have-java.sh || exit 77
@@ -87,14 +90,8 @@ ${kadmin} add -p kaka --use-defaults ${server}@${R} || exit 1
${kadmin} ext -k ${keytab} ${server}@${R} || exit 1
echo Starting kdc
${kdc} &
kdcpid=$!
sh ${srcdir}/../kdc/wait-kdc.sh
if [ "$?" != 0 ] ; then
kill ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -99,14 +99,8 @@ ${kadmin} check ${R3} || exit 1
echo foo > ${objdir}/foopassword
echo "Starting kdc" ; > messages.log
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -88,14 +88,8 @@ ${kadmin} check ${R} || exit 1
echo foo > ${objdir}/foopassword
echo Starting kdc ; > messages.log
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -102,14 +102,8 @@ ${kadmin} check ${R4} || exit 1
echo foo > ${objdir}/foopassword
echo Starting kdc; > messages.log
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -96,14 +96,8 @@ ${kadmin} check ${R} || exit 1
echo foo > ${objdir}/foopassword
echo Starting kdc; > messages.log
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -94,14 +94,9 @@ ${kadmin} check ${R} || exit 1
echo $password > ${objdir}/foopassword
echo "Starting kdc" ; > messages.log
env ${HEIM_MALLOC_DEBUG} ${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
env ${HEIM_MALLOC_DEBUG} ${kdc} --detach --testing ||
{ echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; cat messages.log; exit 1;" EXIT

View File

@@ -88,14 +88,8 @@ echo bar > ${objdir}/barpassword
echo Starting kdc ; > messages.log
env MallocStackLogging=1 MallocStackLoggingNoCompact=1 MallocErrorAbort=1 MallocLogFile=${objdir}/malloc-log \
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; cat messages.log; exit 1;" EXIT

View File

@@ -85,14 +85,8 @@ echo foo > ${objdir}/foopassword
echo Starting kdc ; > messages.log
env MallocStackLogging=1 MallocStackLoggingNoCompact=1 MallocErrorAbort=1 MallocLogFile=${objdir}/malloc-log \
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -128,23 +128,22 @@ ipropd_slave="${ipropd_slave} --status-file=iprop-slave-status"
trap "echo 'killing ipropd s + m + kdc'; kill -9 \${ipdm} \${ipds} \${kdcpid} >/dev/null 2>/dev/null; tail messages.log ; tail iprop-stats; exit 1;" EXIT
echo Starting kdc ; > messages.log
${kdc} &
kdcpid=$!
sh ${wait_kdc} || exit 1
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
echo "starting master" ; > messages.log
env ${HEIM_MALLOC_DEBUG} \
${ipropd_master} --hostname=localhost -k ${keytab} \
--database=${objdir}/current-db &
ipdm=$!
sh ${wait_kdc} ipropd-master || exit 1
--database=${objdir}/current-db --detach ||
{ echo "ipropd-master failed to start"; exit 1; }
ipdm=`getpid ipropd-master`
echo "starting slave" ; > messages.log
env ${HEIM_MALLOC_DEBUG} \
KRB5_CONFIG="${objdir}/krb5-slave.conf" \
${ipropd_slave} --hostname=slave.test.h5l.se -k ${keytab} localhost &
ipds=$!
${ipropd_slave} --hostname=slave.test.h5l.se -k ${keytab} --detach localhost ||
{ echo "ipropd-slave failed to start"; exit 1; }
ipds=`getpid ipropd-slave`
sh ${wait_kdc} ipropd-slave messages.log 'slave status change: up-to-date' || exit 1
sleep 1
@@ -213,6 +212,7 @@ echo "kill slave and remove log and database"
sh ${leaks_kill} ipropd-slave $ipds || exit 1
rm -f iprop-slave-status
sleep 2
${EGREP} 'iprop/slave.test.h5l.se@TEST.H5L.SE.*Down' iprop-stats >/dev/null || exit 1
# ----------------- checking: slave is missing changes while down
@@ -232,8 +232,9 @@ echo "starting slave again" ; > messages.log
> iprop-stats
env ${HEIM_MALLOC_DEBUG} \
KRB5_CONFIG="${objdir}/krb5-slave.conf" \
${ipropd_slave} --hostname=slave.test.h5l.se -k ${keytab} localhost &
ipds=$!
${ipropd_slave} --hostname=slave.test.h5l.se -k ${keytab} --detach localhost ||
{ echo "ipropd-slave failed to start"; exit 1; }
ipds=`getpid ipropd-slave`
sh ${wait_kdc} ipropd-slave messages.log 'slave status change: up-to-date' || exit 1
sleep 1
@@ -259,8 +260,9 @@ rm -f iprop-slave-status
echo "starting slave" ; > messages.log
env ${HEIM_MALLOC_DEBUG} \
KRB5_CONFIG="${objdir}/krb5-slave.conf" \
${ipropd_slave} --hostname=slave.test.h5l.se -k ${keytab} localhost &
ipds=$!
${ipropd_slave} --hostname=slave.test.h5l.se -k ${keytab} --detach localhost ||
{ echo "ipropd-slave failed to start"; exit 1; }
ipds=`getpid ipropd-slave`
sh ${wait_kdc} ipropd-slave messages.log 'slave status change: up-to-date' || exit 1
sleep 1
@@ -304,15 +306,16 @@ cp ${objdir}/current.log.tmp ${objdir}/current.log
echo "starting master" ; > messages.log
env ${HEIM_MALLOC_DEBUG} \
${ipropd_master} --hostname=localhost -k ${keytab} \
--database=${objdir}/current-db &
ipdm=$!
sh ${wait_kdc} ipropd-master || exit 1
--database=${objdir}/current-db --detach ||
{ echo "ipropd-master failed to start"; exit 1; }
ipdm=`getpid ipropd-master`
echo "starting slave" ; > messages.log
env ${HEIM_MALLOC_DEBUG} \
KRB5_CONFIG="${objdir}/krb5-slave.conf" \
${ipropd_slave} --hostname=slave.test.h5l.se -k ${keytab} localhost &
ipds=$!
${ipropd_slave} --hostname=slave.test.h5l.se -k ${keytab} --detach localhost ||
{ echo "ipropd-slave failed to start"; exit 1; }
ipds=`getpid ipropd-slave`
sh ${wait_kdc} ipropd-slave messages.log 'slave status change: up-to-date' || exit 1
sleep 1
@@ -346,9 +349,9 @@ kill -0 ${ipds} || { echo "slave no longer there"; exit 1; }
echo "Staring master again" ; > messages.log
env ${HEIM_MALLOC_DEBUG} \
${ipropd_master} --hostname=localhost -k ${keytab} \
--database=${objdir}/current-db &
ipdm=$!
sh ${wait_kdc} ipropd-master || exit 1
--database=${objdir}/current-db --detach ||
{ echo "ipropd-master failed to start"; exit 1; }
ipdm=`getpid ipropd-master`
echo "probing for slave pid"
kill -0 ${ipds} || { echo "slave no longer there"; exit 1; }

View File

@@ -89,15 +89,8 @@ ${kadmin} -l modify --pkinit-acl="CN=baz,DC=test,DC=h5l,DC=se" pkinit@${R} || ex
echo foo > ${objdir}/foopassword
echo Starting kdc ; > messages.log
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
kill -9 ${kadmpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid} ${kadmpid}" EXIT

View File

@@ -332,18 +332,14 @@ echo notfoo > ${objdir}/notfoopassword
echo Starting kdc ; > messages.log
env MallocStackLogging=1 MallocStackLoggingNoCompact=1 MallocErrorAbort=1 MallocLogFile=${objdir}/malloc-log \
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing ||
{ echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
echo Starting kpasswdd; > messages.log
env ${HEIM_MALLOC_DEBUG} ${kpasswdd} &
kpasswddpid=$!
env ${HEIM_MALLOC_DEBUG} ${kpasswdd} --detach ||
{ echo "kpasswdd failed to start"; exit 1; }
kpasswddpid=`getpid kpasswdd`
trap "kill -9 ${kdcpid} ${kpasswddpid}; echo signal killing kdc kpasswdd; exit 1;" EXIT

View File

@@ -107,14 +107,8 @@ if (($# == 0)); then
echo foo > ${objdir}/foopassword
echo Starting kdc ; > messages.log
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -102,18 +102,14 @@ ${kadmin} check ${R2} || exit 1
echo foo > ${objdir}/foopassword
echo Starting kdc ; > messages.log
env ${HEIM_MALLOC_DEBUG} ${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
env ${HEIM_MALLOC_DEBUG} ${kdc} --detach --testing ||
{ echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
echo Starting kpasswdd
env ${HEIM_MALLOC_DEBUG} ${kpasswdd} &
kpasswddpid=$!
env ${HEIM_MALLOC_DEBUG} ${kpasswdd} --detach ||
{ echo "kpasswdd failed to start"; exit 1; }
kpasswddpid=`getpid kpasswdd`
trap "kill -9 ${kdcpid} ${kpasswddpid}; echo signal killing kdc; exit \$ec;" EXIT

View File

@@ -169,14 +169,8 @@ ${hxtool} issue-certificate \
echo foo > ${objdir}/foopassword
echo Starting kdc ; > messages.log
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; cat ca.crt kdc.crt pkinit.crt ;exit 1;" EXIT

View File

@@ -59,7 +59,6 @@ klist="${klist} -c $cache"
kgetcred="${kgetcred} -c $cache"
kdestroy="${kdestroy} -c $cache ${afs_no_unlog}"
KRB5_CONFIG="${objdir}/krb5.conf"
export KRB5_CONFIG
@@ -101,14 +100,8 @@ ${kadmin} check ${R2} || exit 1
echo foo > ${objdir}/foopassword
echo Starting kdc ; > messages.log
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -61,7 +61,6 @@ kdestroy2="${TESTS_ENVIRONMENT} ../../kuser/kdestroy -c $cache2 ${afs_no_unlog}"
uu_server="${TESTS_ENVIRONMENT} ../../appl/test/uu_server"
uu_client="${TESTS_ENVIRONMENT} ../../appl/test/uu_client"
KRB5_CONFIG="${objdir}/krb5.conf"
export KRB5_CONFIG
@@ -87,14 +86,8 @@ ${kadmin} check ${R} || exit 1
echo foo > ${objdir}/foopassword
echo Starting kdc ; > messages.log
${kdc} &
kdcpid=$!
sh ${wait_kdc}
if [ "$?" != 0 ] ; then
kill -9 ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill -9 ${kdcpid} ${uuspid}; echo signal killing kdc; exit 1;" EXIT

View File

@@ -114,15 +114,8 @@ ${kadmin} list '*' > /dev/null || exit 1
echo foo > ${objdir}/foopassword
echo Starting kdc
${kdc} &
kdcpid=$!
sh ${srcdir}/../kdc/wait-kdc.sh
if [ "$?" != 0 ] ; then
kill ${kdcpid}
sh ${srcdir}/slapd-stop
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill ${kdcpid}; echo signal killing kdc; sh ${srcdir}/slapd-stop ; exit 1;" EXIT

View File

@@ -10,6 +10,7 @@ TESTS = $(SCRIPT_TESTS)
port = 49188
do_subst = sed -e 's,[@]srcdir[@],$(srcdir),g' \
-e 's,[@]env_setup[@],$(top_builddir)/tests/bin/setup-env,g' \
-e 's,[@]port[@],$(port),g' \
-e 's,[@]objdir[@],$(top_builddir)/tests/plugin,g' \
-e 's,[@]EGREP[@],$(EGREP),g'

View File

@@ -35,9 +35,12 @@
#
srcdir="@srcdir@"
env_setup="@env_setup@"
objdir="@objdir@"
EGREP="@EGREP@"
. ${env_setup}
testfailed="echo test failed; cat messages.log; exit 1"
# If there is no useful db support compile in, disable test
@@ -92,14 +95,8 @@ echo "Empty log"
> messages.log
echo Starting kdc
${kdc} &
kdcpid=$!
sh ${srcdir}/../kdc/wait-kdc.sh
if [ "$?" != 0 ] ; then
kill ${kdcpid}
exit 1
fi
${kdc} --detach --testing || { echo "kdc failed to start"; exit 1; }
kdcpid=`getpid kdc`
trap "kill ${kdcpid}; echo signal killing kdc; exit 1;" EXIT