From 1279eda04249bd25f0aeafb4f82cf77abaa1aad1 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 13 Jul 2006 12:43:52 +0000 Subject: [PATCH] added tcpdumpcount function from NATT guys added possibility to mount the strongswan tree into all UMLs added script for installing from shared tree in all UMLs added script to shut down all UMLs properly --- testing/do-tests | 13 +++++++++++++ testing/scripts/build-umlrootfs | 15 ++++++++++++--- testing/scripts/install-shared | 38 ++++++++++++++++++++++++++++++++++++++ testing/scripts/shutdown-umls | 38 ++++++++++++++++++++++++++++++++++++++ testing/testing.conf | 5 +++++ 5 files changed, 106 insertions(+), 3 deletions(-) create mode 100755 testing/scripts/install-shared create mode 100755 testing/scripts/shutdown-umls diff --git a/testing/do-tests b/testing/do-tests index 5b47753..1e8e6ab 100755 --- a/testing/do-tests +++ b/testing/do-tests @@ -314,6 +314,19 @@ do printf("echo \"%s# cat /tmp/tcpdump.log | grep \047%s\047 [%s]\"; ", host, pattern, hit) printf("ssh root@\044ipv4_%s cat /tmp/tcpdump.log | grep \"%s\"; ", host, pattern) } + else if (command == "tcpdumpcount") + { + printf("if [ \044TDUP_%s == \"true\" ]; then stop_tcpdump %s; fi; \n", host, host) + printf("echo -e \"%s# [ \\\\140cat /tmp/tcpdump.log | grep \047%s\047 | tee -a /dev/stderr | wc -l\\\\140 -eq %s ] [YES]\"; ", host, pattern, hit) + printf("tcpdumpcount=\`ssh root@\044ipv4_%s cat /tmp/tcpdump.log | grep \"%s\" | tee -a /dev/stderr | wc -l\`; ", host, pattern) + printf("[ \044tcpdumpcount -eq %s ]; ", hit) + hit="YES" + } + else if (command == "cmd") + { + printf("echo \"%s# %s [%s]\"; ", host, pattern, hit) + printf("ssh root@\044ipv4_%s %s; ", host, pattern) + } else { printf("echo \"%s# %s | grep \047%s\047 [%s]\"; ", host, command, pattern, hit) diff --git a/testing/scripts/build-umlrootfs b/testing/scripts/build-umlrootfs index 1a983b8..5c35185 100755 --- a/testing/scripts/build-umlrootfs +++ b/testing/scripts/build-umlrootfs @@ -89,21 +89,27 @@ mount -o loop gentoo-fs $LOOPDIR >> $LOGFILE 2>&1 tar xjpf $ROOTFS -C $LOOPDIR >> $LOGFILE 2>&1 cecho "done" - ###################################################### # copying default /etc/hosts to the root filesystem # cecho " * Copying '$HOSTCONFIGDIR/default/etc/hosts' to the root filesystem" cp -fp $HOSTCONFIGDIR/default/etc/hosts $LOOPDIR/etc/hosts -# ##################################################### # extracting strongSwan into the root filesystem # - cecho " * Extracting strongSwan into the root filesystem" tar xjf $STRONGSWAN -C $LOOPDIR/root >> $LOGFILE 2>&1 +###################################################### +# setting up mountpoint for shared source tree +# +if [ "${SHAREDTREE+set}" = "set" ]; then + cecho " * setting up shared strongswan tree at '$SHAREDTREE'" + mkdir $LOOPDIR/root/strongswan-shared + echo "" >> $LOOPDIR/etc/fstab + echo "none /root/strongswan-shared hostfs $SHAREDTREE" >> $LOOPDIR/etc/fstab +fi ###################################################### # installing strongSwan and setting the local timezone @@ -140,6 +146,9 @@ cecho-n " * Compiling $STRONGSWANVERSION within the root file system as chroot.. chroot $LOOPDIR /bin/bash /install.sh >> $LOGFILE 2>&1 cecho "done" +rm -f $INSTALLSHELL + + ###################################################### # copying the host's ssh public key # diff --git a/testing/scripts/install-shared b/testing/scripts/install-shared new file mode 100755 index 0000000..4cfac9e --- /dev/null +++ b/testing/scripts/install-shared @@ -0,0 +1,38 @@ +#!/bin/bash +# Install strongSwan from mounted strongswan-shared tree +# +# Copyright (C) 2006 Martin Willi +# Hochschule fuer Technik Rapperswil +# Copyright (C) 2004 Eric Marchionni, Patrik Rayo +# Zuercher Hochschule Winterthur +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. See . +# +# 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. +# + +DIR=`dirname $0` + +source $DIR/function.sh + +[ -f $DIR/../testing.conf ] || die "Configuration file 'testing.conf' not found" + +source $DIR/../testing.conf + +cecho "installing strongSwan from shared tree" +cecho-n " on: " + +for host in $STRONGSWANHOSTS +do + eval HOSTLOGIN="root@`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $1 }' | awk '{ print $1 }'`" + cecho-n "$host... " + ssh $HOSTLOGIN 'cd ~/strongswan-shared && make install' > /dev/null +done + +cecho diff --git a/testing/scripts/shutdown-umls b/testing/scripts/shutdown-umls new file mode 100755 index 0000000..e71e466 --- /dev/null +++ b/testing/scripts/shutdown-umls @@ -0,0 +1,38 @@ +#!/bin/bash +# Install strongSwan from mounted strongswan-shared tree +# +# Copyright (C) 2006 Martin Willi +# Hochschule fuer Technik Rapperswil +# Copyright (C) 2004 Eric Marchionni, Patrik Rayo +# Zuercher Hochschule Winterthur +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. See . +# +# 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. +# + +DIR=`dirname $0` + +source $DIR/function.sh + +[ -f $DIR/../testing.conf ] || die "Configuration file 'testing.conf' not found" + +source $DIR/../testing.conf + +cecho "shutting down" +cecho-n " " + +for host in $STRONGSWANHOSTS +do + eval HOSTLOGIN="root@`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F, '{ print $1 }' | awk '{ print $1 }'`" + cecho-n "$host... " + ssh $HOSTLOGIN 'shutdown now -h' > /dev/null +done + +cecho diff --git a/testing/testing.conf b/testing/testing.conf index 8535723..0ea02d8 100755 --- a/testing/testing.conf +++ b/testing/testing.conf @@ -61,6 +61,11 @@ UMLKERNEL=$BUILDDIR/linux-uml-$KERNELVERSION # Directory where test results will be stored TESTRESULTSDIR=$UMLTESTDIR/testresults +# Path to a full strongswan tree on the host system, which is +# mounted into /root/strongswan-shared. This gives us an easy +# way to apply and test changes instantly. +#SHAREDTREE=/home/mwilli/strongswan/trunk + # Timezone for the UMLs, look in /usr/share/zoneinfo! TZUML="Europe/Zurich" -- 2.7.4