diff options
Diffstat (limited to 'third_party/heimdal/tests/kdc/wait-kdc.sh')
-rw-r--r-- | third_party/heimdal/tests/kdc/wait-kdc.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/third_party/heimdal/tests/kdc/wait-kdc.sh b/third_party/heimdal/tests/kdc/wait-kdc.sh new file mode 100644 index 0000000..d0226fc --- /dev/null +++ b/third_party/heimdal/tests/kdc/wait-kdc.sh @@ -0,0 +1,65 @@ +#!/bin/sh +# +# Copyright (c) 2006 - 2007 Kungliga Tekniska Högskolan +# (Royal Institute of Technology, Stockholm, Sweden). +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the Institute nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +name=${1:-KDC} +log=${2:-messages.log} +waitfor="${3:-${name} started}" + +t=0 +waitsec=65 + +echo "Waiting for ${name} to start, see logfile ${log}" + +while true ; do + if grep "${waitfor}" ${log} > /dev/null; then + break + fi + if grep "No sockets" ${log} ; then + echo "The ${name} failed to bind to any sockets, another ${name} running ?" + exit 1 + fi + if grep "bind" ${log} | grep "Operation not permitted" ; then + echo "The ${name} failed to bind to any sockets, another ${name} running ?" + exit 1 + fi + if [ "$t" -gt $waitsec ]; then + echo "Error: ${name} failed to start after $waitsec seconds" + exit 2 + fi + + t=`expr ${t} + 2` + sleep 2 + echo "Have waited $t seconds" +done + +exit 0 |