sync to iproute2-2.6.16-060323
[iproute2.git] / testsuite / lib / generic.sh
diff --git a/testsuite/lib/generic.sh b/testsuite/lib/generic.sh
new file mode 100644 (file)
index 0000000..cc48947
--- /dev/null
@@ -0,0 +1,88 @@
+
+export DEST="127.0.0.1"
+
+ts_log()
+{
+       echo "$@"
+}
+
+ts_err()
+{
+       ts_log "$@" | tee >> $ERRF
+}
+
+ts_cat()
+{
+       cat "$@"
+}
+
+ts_err_cat()
+{
+       ts_cat "$@" | tee >> $ERRF
+}
+
+ts_tc()
+{
+       SCRIPT=$1; shift
+       DESC=$1; shift
+       TMP_ERR=`mktemp /tmp/tc_testsuite.XXXXXX` || exit
+       TMP_OUT=`mktemp /tmp/tc_testsuite.XXXXXX` || exit
+
+       $TC $@ 2> $TMP_ERR > $TMP_OUT
+
+       if [ -s $TMP_ERR ]; then
+               ts_err "${SCRIPT}: ${DESC} failed:"
+               ts_err "command: $TC $@"
+               ts_err "stderr output:"
+               ts_err_cat $TMP_ERR
+               if [ -s $TMP_OUT ]; then
+                       ts_err "stdout output:"
+                       ts_err_cat $TMP_OUT
+               fi
+       elif [ -s $TMP_OUT ]; then
+               echo "${SCRIPT}: ${DESC} succeeded with output:"
+               cat $TMP_OUT
+       else
+               echo "${SCRIPT}: ${DESC} succeeded"
+       fi
+
+       rm $TMP_ERR $TMP_OUT
+}
+
+ts_ip()
+{
+       SCRIPT=$1; shift
+       DESC=$1; shift
+       TMP_ERR=`mktemp /tmp/tc_testsuite.XXXXXX` || exit
+       TMP_OUT=`mktemp /tmp/tc_testsuite.XXXXXX` || exit
+
+       $IP $@ 2> $TMP_ERR > $TMP_OUT
+
+       if [ -s $TMP_ERR ]; then
+               ts_err "${SCRIPT}: ${DESC} failed:"
+               ts_err "command: $IP $@"
+               ts_err "stderr output:"
+               ts_err_cat $TMP_ERR
+               if [ -s $TMP_OUT ]; then
+                       ts_err "stdout output:"
+                       ts_err_cat $TMP_OUT
+               fi
+       elif [ -s $TMP_OUT ]; then
+               echo "${SCRIPT}: ${DESC} succeeded with output:"
+               cat $TMP_OUT
+       else
+               echo "${SCRIPT}: ${DESC} succeeded"
+       fi
+
+       rm $TMP_ERR $TMP_OUT
+}
+
+ts_qdisc_available()
+{
+       HELPOUT=`$TC qdisc add $1 help 2>&1`
+       if [ "`echo $HELPOUT | grep \"^Unknown qdisc\"`" ]; then
+               return 0;
+       else
+               return 1;
+       fi
+}