You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
1.8 KiB
136 lines
1.8 KiB
|
|
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_skip()
|
|
{
|
|
exit 127
|
|
}
|
|
|
|
ts_tc()
|
|
{
|
|
SCRIPT=$1; shift
|
|
DESC=$1; shift
|
|
|
|
$TC $@ 2> $STD_ERR > $STD_OUT
|
|
|
|
if [ -s $STD_ERR ]; then
|
|
ts_err "${SCRIPT}: ${DESC} failed:"
|
|
ts_err "command: $TC $@"
|
|
ts_err "stderr output:"
|
|
ts_err_cat $STD_ERR
|
|
if [ -s $STD_OUT ]; then
|
|
ts_err "stdout output:"
|
|
ts_err_cat $STD_OUT
|
|
fi
|
|
elif [ -s $STD_OUT ]; then
|
|
echo "${SCRIPT}: ${DESC} succeeded with output:"
|
|
cat $STD_OUT
|
|
else
|
|
echo "${SCRIPT}: ${DESC} succeeded"
|
|
fi
|
|
}
|
|
|
|
ts_ip()
|
|
{
|
|
SCRIPT=$1; shift
|
|
DESC=$1; shift
|
|
|
|
$IP $@ 2> $STD_ERR > $STD_OUT
|
|
RET=$?
|
|
|
|
if [ -s $STD_ERR ] || [ "$RET" != "0" ]; then
|
|
ts_err "${SCRIPT}: ${DESC} failed:"
|
|
ts_err "command: $IP $@"
|
|
ts_err "stderr output:"
|
|
ts_err_cat $STD_ERR
|
|
if [ -s $STD_OUT ]; then
|
|
ts_err "stdout output:"
|
|
ts_err_cat $STD_OUT
|
|
fi
|
|
elif [ -s $STD_OUT ]; then
|
|
echo "${SCRIPT}: ${DESC} succeeded with output:"
|
|
cat $STD_OUT
|
|
else
|
|
echo "${SCRIPT}: ${DESC} succeeded"
|
|
fi
|
|
}
|
|
|
|
ts_qdisc_available()
|
|
{
|
|
HELPOUT=`$TC qdisc add $1 help 2>&1`
|
|
if [ "`echo $HELPOUT | grep \"^Unknown qdisc\"`" ]; then
|
|
return 0;
|
|
else
|
|
return 1;
|
|
fi
|
|
}
|
|
|
|
rand_dev()
|
|
{
|
|
echo "dev-$(tr -dc "[:alpha:]" < /dev/urandom | head -c 6)"
|
|
}
|
|
|
|
pr_failed()
|
|
{
|
|
echo " [FAILED]"
|
|
ts_err "matching failed"
|
|
}
|
|
|
|
pr_success()
|
|
{
|
|
echo " [SUCCESS]"
|
|
}
|
|
|
|
test_on()
|
|
{
|
|
echo -n "test on: \"$1\""
|
|
if cat "$STD_OUT" | grep -qE "$1"
|
|
then
|
|
pr_success
|
|
else
|
|
pr_failed
|
|
fi
|
|
}
|
|
|
|
test_on_not()
|
|
{
|
|
echo -n "test on: \"$1\""
|
|
if cat "$STD_OUT" | grep -vqE "$1"
|
|
then
|
|
pr_success
|
|
else
|
|
pr_failed
|
|
fi
|
|
}
|
|
|
|
test_lines_count()
|
|
{
|
|
echo -n "test on lines count ($1): "
|
|
if cat "$STD_OUT" | wc -l | grep -q "$1"
|
|
then
|
|
pr_success
|
|
else
|
|
pr_failed
|
|
fi
|
|
}
|