#!/bin/bash # (C)2009 DatuX - Released under GPL source testlib || exit 1 echo " Dit script voert alle tests inclusief installatie uit voor een aantal verschillende producten. Zorg dat je vmware zo geconfigureerd is dat hij je installatie iso file cd als bootcd gebruikt. (meestal latest.iso) Deze CD moet gemaakt zijn met de regres optie. De bootpriority moet staan op 1. harddisk 2. cdrom. Hierna moet je 1x vanaf CD booten en zal de rest vanzelf moeten gaan. DE SERVER OP $IP GAAT DUS GESLOOPT WORDEN NU!! LETOP: Vmware moet je echt stoppen/starten bij een nieuwe cd image. Druk op ENTER om door te gaan" read for PAR in $*; do eval "$PAR=1" &>/dev/null; done if [ "$resume" ]; then resume=resume fi #gebruik resume om te resumen if ! [ "$resume" ]; then rm -r .autoinstall &>/dev/null fi mkdir .autoinstall &>/dev/null function printtestinfo() { echo -e "\e[1;32m" echo "### Testcase: $CASE_DESCRIPTION" echo "Testcase ID: $ID" echo "Key : $KEY" echo "Installmode: $INSTALL_MODE" echo -e "\e[0m" } function failed() { printtestinfo echo -e "Er is een test mislukt!\a" echo "(gebruik $0 resume om opnieuw te proberen en verder te gaan)" exit 1 } # Deze functie word verderop aangeroepen om de hele reeks meerdere malen door te lopen # voor de verschillende producten, keys en installer mogelijkheden. ID=0 export INSTALL_MODE export KEY export CASE_DESCRIPTION export ID function doinstall() { ((ID++)) printtestinfo DONE=.autoinstall/$ID #Volledige installatie vanaf CD doen? if [ "$INSTALL_MODE" ]; then if ! [ -e $DONE.reboot ]; then #Log in op server, maak hem stuk en reboot, zodat we vanaf de CD starten. DESCRIPTION1="Server onbootable maken en rebooten. LETOP: Vmware moet je echt stoppen/starten bij een nieuwe cd image!" CMD='cd /sys/block; for SYS in *; do DEV=/dev/`echo $SYS| sed s@\!@/@g`;[ "`cat $SYS/range`" != "1" ] && [ "`cat $SYS/removable`" == "0" ] && dd if=/dev/zero of=$DEV count=1;done ; reboot -f &>/dev/null &' sshtest || failed if [ "$REBOOTCMD" ]; then echo "Uitvoeren reboot commando: $REBOOTCMD"; eval $REBOOTCMD || failed fi sleep 10 || failed fi touch $DONE.reboot fi #run tests if ! [ -e $DONE.runtests ]; then ./runtests $resume 2>&1 | sed -u "s#^#$ID | #" [ $PIPESTATUS == "0" ] || failed touch $DONE.runtests fi echo echo -e "\e[1;32m" echo "Testcase $ID voltooid." echo -e "\e[0m" } ################ Defineer hier de parameters voor de vershillende test-runs CASE_DESCRIPTION="Advanced business server compleet met alle opties, normale installatie." KEY="QVKHT-G0DP0-BN3SV" INSTALL_MODE="normal.xns" doinstall CASE_DESCRIPTION="Advanced business fileserver, zonder md raid met GPT partitietable" KEY="5D9IQ-7H68M-US8R8" INSTALL_MODE="advanced_noraid_gpt.xns" doinstall CASE_DESCRIPTION="Advanced business internet server, ENGELS" KEY="CKKOW-9QIWE-FAUH7" INSTALL_MODE="normal_en.xns" doinstall CASE_DESCRIPTION="Advanced business mail server, DUITS" KEY="T7EMC-ISBK6-I4WS6" INSTALL_MODE="normal_de.xns" doinstall CASE_DESCRIPTION="Business server" KEY="WSZX3-HPD19-VML2O" INSTALL_MODE="normal.xns" doinstall CASE_DESCRIPTION="Education server" KEY="726BV-VH7S5-OFGP7" INSTALL_MODE="normal.xns" doinstall CASE_DESCRIPTION="Home edition" KEY="TKT2P-K716X-5H5GB" INSTALL_MODE="normal.xns" doinstall CASE_DESCRIPTION="Voice server" INSTALL_MODE="normal.xns" KEY="JY3QQ-XU907-YXQA9" doinstall CASE_DESCRIPTION="Virtual server host" KEY="K0HJ8-I76HQ-R34ZV" INSTALL_MODE="normal.xns" doinstall echo echo "Alle testcases voltooid!" #Alles klaar...zorg dat men niet meer kan resumen: rm -r .autoinstall &>/dev/null