Changeset 19 for trunk/test/testrun_2d.sh
- Timestamp:
- Feb 12, 2006, 10:49:56 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/testrun_2d.sh
r1 r19 1 1 #! /bin/sh 2 2 3 SERVER_BUILDOPTS="--quiet $TRUST --enable-xml-log --enable-debug --enable-network=server --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=REQ_FROM_SERVER$PW_DIR/testrc_2 --with-data-file=REQ_FROM_SERVER$PW_DIR/.samhain_file --with-logserver=${SH_LOCALHOST} --with-log-file=$PW_DIR/.samhain_log --with-pid-file=$PW_DIR/.samhain_lock --with-database=postgresql"; export SERVER_BUILDOPTS 3 4 4 # The following two are the ANSI sequences for start and end embolden 5 case $TERM in 6 vt*|ansi*|con*|xterm*|linux*|screen*) 7 S=[1m 8 E=[m 9 ;; 10 *) 11 S= 12 E= 13 ;; 14 esac 5 CLIENT_BUILDOPTS="--quiet $TRUST --prefix=$PW_DIR --localstatedir=$PW_DIR --enable-network=client --disable-mail --disable-external-scripts --enable-login-watch --enable-xml-log --enable-db-reload --with-logserver=localhost --with-config-file=REQ_FROM_SERVER$PW_DIR/testrc_2 --with-data-file=REQ_FROM_SERVER$PW_DIR/.samhain_file --with-log-file=$PW_DIR/.samhain_log --with-pid-file=$PW_DIR/.samhain_lock"; export CLIENT_BUILDOPTS 15 6 16 PW_DIR=`pwd` 7 check_psql_log () { 8 DATE="$1" 17 9 18 if test x$UID != x; then 19 TRUST="--with-trusted=0,2,$UID" 20 else 21 TRUST="--with-trusted=0,2" 22 fi 10 rm -f test_log_db 11 PGPASSWORD=samhain; export PGPASSWORD 12 psql -U samhain -d samhain -c "SELECT * FROM log WHERE entry_status = 'NEW' and log_time > '${DATE}';" >test_log_db 13 # 14 egrep "START.*Yule" test_log_db >/dev/null 2>&1 15 if [ $? -ne 0 ]; then 16 [ -z "$verbose" ] || log_msg_fail "Server start"; 17 return 1 18 fi 19 egrep "NEW CLIENT" test_log_db >/dev/null 2>&1 20 if [ $? -ne 0 ]; then 21 [ -z "$verbose" ] || log_msg_fail "Client connect"; 22 return 1 23 fi 24 egrep "Checking.*/bin" test_log_db >/dev/null 2>&1 25 if [ $? -ne 0 ]; then 26 [ -z "$verbose" ] || log_msg_fail "Client file check"; 27 return 1 28 fi 29 egrep "EXIT.*Samhain" test_log_db >/dev/null 2>&1 30 if [ $? -ne 0 ]; then 31 [ -z "$verbose" ] || log_msg_fail "Client exit"; 32 return 1 33 fi 34 egrep "EXIT.*Yule.*SIGTERM" test_log_db >/dev/null 2>&1 35 if [ $? -ne 0 ]; then 36 [ -z "$verbose" ] || log_msg_fail "Server exit"; 37 return 1 38 fi 39 return 0 40 } 23 41 24 echo; echo "${S}__ STARTING TEST RUN CLIENT/SERVER __${E}"; echo; 25 echo Working directory: $PW_DIR 26 27 MAKE=`which gmake` 28 if test "x$?" = x1 ; then 29 MAKE="make -s" 30 else 31 MAKE=`which gmake | sed -e "s%\([a-z:]\) .*%\1%g"` 32 if test "x$MAKE" = x; then 33 MAKE="make -s" 34 elif test "x$MAKE" = xno; then 35 MAKE="make -s" 36 else 37 if test "x$MAKE" = "xwhich:"; then 38 MAKE="make -s" 39 else 40 MAKE="gmake -s" 41 gmake -v >/dev/null 2>&1 || MAKE="make -s" 42 fi 43 fi 44 fi 45 46 echo MAKE is $MAKE 47 echo 48 49 # --with-database=postgresql 50 # export MYLIB=-L/usr/local/pgsql/lib 51 # export MYINC=-I/usr/local/pgsql/include 52 # export LD_LIBRARY_PATH=/usr/local/pgsql/lib 53 54 # --with-database=mysql 55 # export MYLIB=-L/usr/local/mysql/lib 56 # export MYINC=-I/usr/local/mysql/include 57 # export LD_LIBRARY_PATH=/usr/local/mysql/lib 42 MAXTEST=1; export MAXTEST 58 43 59 44 testrun2d () 60 45 { 61 # 62 # test standalone compilation 63 # 64 echo "${S}Building client and server${E}"; echo; 65 # 66 if test -r "Makefile"; then 67 $MAKE distclean 46 log_start "RUN FULL CLIENT/SERVER W/POSTGRESQL" 47 # 48 if [ -z "$doall" ]; then 49 log_skip 1 $MAXTEST 'Client/server w/postgresql (or use --really-all)' 50 return 0 51 fi 52 if [ x"$1" = x ]; then 53 [ -z "$quiet" ] && log_msg_fail "Missing hostname" 54 fi 55 PSQL=`find_path psql` 56 if [ -z "$PSQL" ]; then 57 log_skip 1 $MAXTEST "psql not found"; 58 return 1 59 else 60 PGPASSWORD="samhain"; export PGPASSWORD 61 TEST=`psql -U samhain -d samhain -c "SELECT * FROM log LIMIT 1;" 2>/dev/null` 62 if [ $? -ne 0 -o -z "$TEST" ]; then 63 log_skip 1 $MAXTEST "psql not default setup" 64 return 1 68 65 fi 69 # 70 ${TOP_SRCDIR}/configure --quiet $TRUST --enable-network=client --enable-xml-log --enable-login-watch --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$PW_DIR/testrc_2 --with-log-file=$PW_DIR/.samhain_log --with-pid-file=$PW_DIR/.samhain_lock --with-data-file=$PW_DIR/.samhain_file 71 # 72 if test x$? = x0; then 73 echo "configure completed, exit status 0"; echo; 74 $MAKE > /dev/null 75 if test x$? = x0; then 76 echo "$MAKE completed, exit status $?"; echo; 77 else 78 echo "${S}ERROR:${E} make failed, exit status $?"; echo; 79 exit 80 fi 81 66 fi 67 # 68 SH_LOCALHOST=$1; export SH_LOCALHOST 69 # 70 DATE=`date '+%Y-%m-%d %T'` 71 # 72 testrun2a_internal 73 # 74 ORIGINAL="DatabaseSeverity=none" 75 REPLACEMENT="DatabaseSeverity=info" 76 ex $RCFILE <<EOF 77 :%s/$ORIGINAL/$REPLACEMENT/g 78 :wq 79 EOF 80 # 81 do_test_1_a 82 if [ $? -ne 0 ]; then 83 [ -z "$quiet" ] && log_fail 1 ${MAXTEST} "Client/server w/postgresql"; 84 else 85 # 86 check_psql_log "${DATE}" 87 if [ $? -ne 0 ]; then 88 [ -z "$quiet" ] && log_fail 1 ${MAXTEST} "Client/server w/postgresql"; 82 89 else 83 echo "${S}ERROR:${E} configure failed, exit status $?"; echo; 84 exit 90 [ -z "$quiet" ] && log_ok 1 ${MAXTEST} "Client/server w/postgresql"; 85 91 fi 86 87 # save binary and build server 88 # 89 cp samhain samhain.build 90 make clean 91 92 ${TOP_SRCDIR}/configure --quiet $TRUST --enable-network=server --enable-xml-log --enable-login-watch --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$PW_DIR/testrc_2 --with-log-file=$PW_DIR/.samhain_log --with-pid-file=$PW_DIR/.samhain_lock --with-data-file=$PW_DIR/.samhain_file --enable-udp --enable-identity=rainer 93 # 94 if test x$? = x0; then 95 echo "configure completed, exit status 0"; echo; 96 $MAKE > /dev/null 97 if test x$? = x0; then 98 echo "$MAKE completed, exit status $?"; echo; 99 else 100 echo "${S}ERROR:${E} make failed, exit status $?"; echo; 101 exit 102 fi 103 104 else 105 echo "${S}ERROR:${E} configure failed, exit status $?"; echo; 106 exit 107 fi 108 109 ################################################################# 110 # 111 # 112 echo "${S}Initialize database${E}"; echo; 113 114 rm -f ./.samhain_file 115 rm -f ./.samhain_log 116 rm -f ./.samhain_lock 117 118 cp ${SCRIPTDIR}/testrc_2.in testrc_2 119 120 echo "./samhain.build -t init" 121 ./samhain.build -t init 122 123 SHINI=$? 124 125 # Create a password 126 127 SHPW=`./yule -G 2>&1 | grep -v 'ERRO'` 128 if test x"$SHPW" = x; then 129 echo "password not generated -- aborting" 130 exit 1 131 fi 132 133 # Set in client 134 135 echo "./samhain_setpwd samhain.build new $SHPW" 136 ./samhain_setpwd samhain.build new $SHPW 137 138 mv samhain.build.new samhain.new 139 140 rm -f ./.samhain_log 141 rm -f ./.samhain_lock 142 143 SHCLT=`./yule -P $SHPW 2>&1 | grep -v 'ERRO' | sed s%HOSTNAME%${SH_LOCALHOST}%` 144 145 echo $SHCLT >> testrc_2 146 147 if test x$SHINI = x0; then 148 echo; echo "${S}Start Server${E}: ./yule &"; echo; 149 su -c "./yule &" 150 PROC_Y=$! 151 sleep 5 152 153 echo; echo "${S}Start Client${E}: ./samhain.new -l none -p none -e info -t check"; 154 155 ./samhain.new -t check -p none -l none -e info 156 if test x$? = x0; then 157 echo "${S}check completed${E}" 158 else 159 echo "${S}ERROR:${E} -- check -- failed, exit status $?" 160 echo 161 su -c "kill $PROC_Y" 162 exit 163 fi 164 165 su -c "kill $PROC_Y" 166 sleep 5 167 else 168 echo "${S}ERROR:${E} -- init -- failed, exit status $SHINI"; 169 echo; 170 exit 171 fi 172 92 fi 93 # 94 if [ -n "$cleanup" ]; then 95 rm -f ./rc.${SH_LOCALHOST} 96 rm -f ./file.${SH_LOCALHOST} 97 ALTHOST=`find_hostname` 98 rm -f "./file.${ALTHOST}" 99 rm -f "./rc.${ALTHOST}" 100 fi 101 # 102 log_end "RUN FULL CLIENT/SERVER W/POSTGRESQL" 173 103 } 174 104 175 if test x$1 = x; then176 echo177 echo "Please provide the local hostname as argument."178 echo179 exit 8180 fi181 182 SH_LOCALHOST=$1; export SH_LOCALHOST183 184 testrun2d185 186 187 echo; echo "${S}__ END TEST RUN CLIENT/SERVER __${E}"; echo;188 189 exit190
Note:
See TracChangeset
for help on using the changeset viewer.