#!/bin/bash #use MAIL="" to avoid sending mail on errors MAIL="gandalf" DIR=`pwd` if [ -z "$1" ]; then echo "Give me a kernel!" exit 1 else if [ -z ${1##/*} ]; then ORIGKERNEL="$1" else ORIGKERNEL="$DIR/$1" fi fi if [ -z "$2" ]; then ORIGUSER="$DIR/netfilter/userspace" else if [ -z ${2##/*} ]; then ORIGUSER="$2" else ORIGUSER="$DIR/$2" fi fi TESTKERNEL="$ORIGKERNEL.pomtest" TESTKERNEL2="$TESTKERNEL.2" TESTUSER="$ORIGUSER.pomtest" TMPFILE="$TESTKERNEL.tmpoutfile" PATCHES="base extra optimizations userspace" echo "Starting test of $1" TIME=$(date +%s) shopt -s nullglob cd netfilter/patch-o-matic rm -rf $TESTKERNEL $TMPFILE cp -al $ORIGKERNEL $TESTKERNEL cp -al $ORIGUSER $TESTUSER for i in submitted pending do for j in $i/{*.patch,*.patch.ipv6} do KERNEL_DIR=$TESTKERNEL NETFILTERDIR=$TESTUSER ./runme --batch $j > $TMPFILE 2>&1 if [ $? -ne 0 ]; then # We have a failure. People please move behind the yellow line if [ ! -z $MAIL ]; then mail -s "`basename $ORIGKERNEL` pom: submitted/pending: $j failed" $MAIL < $TMPFILE fi echo `basename $ORIGKERNEL` pom: submitted/pending: $j failed rm -rf $TESTKERNEL $TMPFILE $TESTUSER exit 1 fi done done rm -f $TMPFILE for i in $PATCHES do for j in $i/{*.patch,*.patch.ipv6} do KERNEL_DIR=$TESTKERNEL NETFILTERDIR=$TESTUSER ./runme --test $j > $TMPFILE 2>&1 if [ $? -ne 0 ]; then # Another failure? What is this, a contest in crappy patches? if [ ! -z $MAIL ]; then mail -s "`basename $ORIGKERNEL` pom: single: $j failed" $MAIL < $TMPFILE fi echo `basename $ORIGKERNEL` pom: single: $j failed fi done done rm -f $TMPFILE cp -al $TESTKERNEL $TESTKERNEL2 for i in $PATCHES do for j in $i/{*.patch,*.patch.ipv6} do KERNEL_DIR=$TESTKERNEL2 NETFILTERDIR=$TESTUSER ./runme --batch $j > $TMPFILE 2>&1 if [ $? -ne 0 ]; then if [ -z "`grep 'Conflicting dependency.' $TMPFILE`" ]; then # Eek! A failure! if [ ! -z $MAIL ]; then mail -s "`basename $ORIGKERNEL` pom: all: $j failed" $MAIL < $TMPFILE fi echo `basename $ORIGKERNEL` pom: all: $j failed fi fi done done rm -rf $TMPFILE $TESTKERNEL2 rm -rf $TESTKERNEL $TESTKERNEL2 $TMPFILE $TESTUSER cd $DIR TIME2=$(date +%s) echo Test of $1 finished in $(($TIME2-$TIME)) seconds