single tests now start up faster

This commit is contained in:
Andreas Steffen 2006-06-12 07:51:18 +00:00
parent a2a3fb3e25
commit 016816b880
1 changed files with 70 additions and 42 deletions

View File

@ -58,9 +58,6 @@ passed_cnt="0"
TESTSDIR=$BUILDDIR/tests
[ -d $TESTSDIR ] || mkdir $TESTSDIR
rm -rf $TESTSDIR/*
cp -rfp $DEFAULTTESTSDIR/* $TESTSDIR
##############################################################################
# assign IP for each host to hostname
@ -70,54 +67,31 @@ for host in $STRONGSWANHOSTS
do
eval ipv4_${host}="`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $1 }' | awk '{ print $1 }'`"
eval ipv6_${host}="`echo $HOSTNAMEIPV6 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $1 }' | awk '{ print $1 }'`"
case $host in
moon)
eval ipv4_moon1="`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $2 }' | awk '{ print $1 }'`"
searchandreplace PH_IP_MOON1 $ipv4_moon1 $TESTSDIR
searchandreplace PH_IP_MOON $ipv4_moon $TESTSDIR
eval ipv6_moon1="`echo $HOSTNAMEIPV6 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $2 }' | awk '{ print $1 }'`"
searchandreplace PH_IP6_MOON1 $ipv6_moon1 $TESTSDIR
searchandreplace PH_IP6_MOON $ipv6_moon $TESTSDIR
;;
sun)
eval ipv4_sun1="`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $2 }' | awk '{ print $1 }'`"
searchandreplace PH_IP_SUN1 $ipv4_sun1 $TESTSDIR
searchandreplace PH_IP_SUN $ipv4_sun $TESTSDIR
eval ipv6_sun1="`echo $HOSTNAMEIPV6 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $2 }' | awk '{ print $1 }'`"
searchandreplace PH_IP6_SUN1 $ipv6_sun1 $TESTSDIR
searchandreplace PH_IP6_SUN $ipv6_sun $TESTSDIR
;;
alice)
searchandreplace PH_IP_ALICE $ipv4_alice $TESTSDIR
searchandreplace PH_IP6_ALICE $ipv6_alice $TESTSDIR
;;
venus)
searchandreplace PH_IP_VENUS $ipv4_venus $TESTSDIR
searchandreplace PH_IP6_VENUS $ipv6_venus $TESTSDIR
;;
bob)
searchandreplace PH_IP_BOB $ipv4_bob $TESTSDIR
searchandreplace PH_IPV6_BOB $ipv6_bob $TESTSDIR
;;
carol)
eval ipv4_carol1="`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $2 }' | awk '{ print $1 }'`"
searchandreplace PH_IP_CAROL1 $ipv4_carol1 $TESTSDIR
searchandreplace PH_IP_CAROL $ipv4_carol $TESTSDIR
eval ipv6_carol1="`echo $HOSTNAMEIPV6 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $2 }' | awk '{ print $1 }'`"
searchandreplace PH_IP6_CAROL1 $ipv6_carol1 $TESTSDIR
searchandreplace PH_IP6_CAROL $ipv6_carol $TESTSDIR
;;
;;
dave)
eval ipv4_dave1="`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $2 }' | awk '{ print $1 }'`"
searchandreplace PH_IP_DAVE1 $ipv4_dave1 $TESTSDIR
searchandreplace PH_IP_DAVE $ipv4_dave $TESTSDIR
eval ipv6_dave1="`echo $HOSTNAMEIPV6 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $2 }' | awk '{ print $1 }'`"
searchandreplace PH_IP6_DAVE1 $ipv6_dave1 $TESTSDIR
searchandreplace PH_IP6_DAVE $ipv6_dave $TESTSDIR
;;
winnetou)
searchandreplace PH_IP_WINNETOU $ipv4_winnetou $TESTSDIR
searchandreplace PH_IP6_WINNETOU $ipv6_winnetou $TESTSDIR
;;
esac
done
@ -167,40 +141,94 @@ then
TESTS=$SELECTEDTESTS
else
# set internal field seperator
TESTS="`ls $TESTSDIR`"
TESTS="`ls $DEFAULTTESTSDIR`"
fi
for testname in $TESTS
do
let "testnumber += 1"
cecho-n " $testnumber $testname.."
if [ ! -d $TESTSDIR/${testname} ]
if [ ! -d $DEFAULTTESTSDIR/${testname} ]
then
cecho "is missing..skipped"
continue
fi
[ -f $TESTSDIR/${testname}/description.txt ] || die "!! File 'description.txt' is missing"
[ -f $TESTSDIR/${testname}/test.conf ] || die "!! File 'test.conf' is missing"
[ -f $TESTSDIR/${testname}/pretest.dat ] || die "!! File 'pretest.dat' is missing"
[ -f $TESTSDIR/${testname}/posttest.dat ] || die "!! File 'posttest.dat' is missing"
[ -f $TESTSDIR/${testname}/evaltest.dat ] || die "!! File 'evaltest.dat' is missing"
[ -f $DEFAULTTESTSDIR/${testname}/description.txt ] || die "!! File 'description.txt' is missing"
[ -f $DEFAULTTESTSDIR/${testname}/test.conf ] || die "!! File 'test.conf' is missing"
[ -f $DEFAULTTESTSDIR/${testname}/pretest.dat ] || die "!! File 'pretest.dat' is missing"
[ -f $DEFAULTTESTSDIR/${testname}/posttest.dat ] || die "!! File 'posttest.dat' is missing"
[ -f $DEFAULTTESTSDIR/${testname}/evaltest.dat ] || die "!! File 'evaltest.dat' is missing"
TESTRESULTDIR=$TODAYDIR/$testname
mkdir $TESTRESULTDIR
CONSOLE_LOG=$TESTRESULTDIR/console.log
touch $CONSOLE_LOG
TESTDIR=$TESTSDIR/${testname}
rm -rf $TESTDIR/*
cp -rfp $DEFAULTTESTSDIR/${testname} $TESTSDIR
##############################################################################
# replace IP wildcards with actual IPv4 and IPv6 addresses
#
for host in $STRONGSWANHOSTS
do
case $host in
moon)
searchandreplace PH_IP_MOON1 $ipv4_moon1 $TESTDIR
searchandreplace PH_IP_MOON $ipv4_moon $TESTDIR
searchandreplace PH_IP6_MOON1 $ipv6_moon1 $TESTDIR
searchandreplace PH_IP6_MOON $ipv6_moon $TESTDIR
;;
sun)
searchandreplace PH_IP_SUN1 $ipv4_sun1 $TESTDIR
searchandreplace PH_IP_SUN $ipv4_sun $TESTDIR
searchandreplace PH_IP6_SUN1 $ipv6_sun1 $TESTDIR
searchandreplace PH_IP6_SUN $ipv6_sun $TESTDIR
;;
alice)
searchandreplace PH_IP_ALICE $ipv4_alice $TESTDIR
searchandreplace PH_IP6_ALICE $ipv6_alice $TESTDIR
;;
venus)
searchandreplace PH_IP_VENUS $ipv4_venus $TESTDIR
searchandreplace PH_IP6_VENUS $ipv6_venus $TESTDIR
;;
bob)
searchandreplace PH_IP_BOB $ipv4_bob $TESTDIR
searchandreplace PH_IPV6_BOB $ipv6_bob $TESTDIR
;;
carol)
searchandreplace PH_IP_CAROL1 $ipv4_carol1 $TESTDIR
searchandreplace PH_IP_CAROL $ipv4_carol $TESTDIR
searchandreplace PH_IP6_CAROL1 $ipv6_carol1 $TESTDIR
searchandreplace PH_IP6_CAROL $ipv6_carol $TESTDIR
;;
dave)
searchandreplace PH_IP_DAVE1 $ipv4_dave1 $TESTSDIR
searchandreplace PH_IP_DAVE $ipv4_dave $TESTSDIR
searchandreplace PH_IP6_DAVE1 $ipv6_dave1 $TESTSDIR
searchandreplace PH_IP6_DAVE $ipv6_dave $TESTSDIR
;;
winnetou)
searchandreplace PH_IP_WINNETOU $ipv4_winnetou $TESTSDIR
searchandreplace PH_IP6_WINNETOU $ipv6_winnetou $TESTSDIR
;;
esac
done
##########################################################################
# copy test specific configurations to uml hosts and clear auth.log files
#
$DIR/scripts/load-testconfig $testname
source $TESTSDIR/$testname/test.conf
source $TESTDIR/test.conf
##########################################################################
# run tcpdump in the background
#
@ -234,7 +262,7 @@ do
printf("ssh root@\044ipv4_%s \"%s\"; ", $1, $2)
printf("echo;\n")
}
}' $TESTSDIR/${testname}/pretest.dat` >> $CONSOLE_LOG 2>&1
}' $TESTDIR/pretest.dat` >> $CONSOLE_LOG 2>&1
##########################################################################
@ -283,7 +311,7 @@ do
printf("; then STATUS=\"failed\"; fi; \n")
}
}' $TESTSDIR/${testname}/evaltest.dat` >> $CONSOLE_LOG 2>&1
}' $TESTDIR/evaltest.dat` >> $CONSOLE_LOG 2>&1
##########################################################################
@ -315,7 +343,7 @@ do
<h3>Description</h3>
@EOF
cat $TESTSDIR/${testname}/description.txt >> $TESTRESULTDIR/index.html
cat $TESTDIR/description.txt >> $TESTRESULTDIR/index.html
cat >> $TESTRESULTDIR/index.html <<@EOF
<ul>
@ -379,7 +407,7 @@ do
printf("ssh root@\044ipv4_%s \"%s\"; ", $1, $2)
printf("echo;\n")
}
}' $TESTSDIR/${testname}/posttest.dat` >> $CONSOLE_LOG 2>&1
}' $TESTDIR/posttest.dat` >> $CONSOLE_LOG 2>&1
##########################################################################