Home | History | Annotate | Download | only in lib
      1 
      2 export DEST="127.0.0.1"
      3 
      4 ts_log()
      5 {
      6 	echo "$@"
      7 }
      8 
      9 ts_err()
     10 {
     11 	ts_log "$@" | tee >> $ERRF
     12 }
     13 
     14 ts_cat()
     15 {
     16 	cat "$@"
     17 }
     18 
     19 ts_err_cat()
     20 {
     21 	ts_cat "$@" | tee >> $ERRF
     22 }
     23 
     24 ts_skip()
     25 {
     26     exit 127
     27 }
     28 
     29 ts_tc()
     30 {
     31 	SCRIPT=$1; shift
     32 	DESC=$1; shift
     33 
     34 	$TC $@ 2> $STD_ERR > $STD_OUT
     35 
     36 	if [ -s $STD_ERR ]; then
     37 		ts_err "${SCRIPT}: ${DESC} failed:"
     38 		ts_err "command: $TC $@"
     39 		ts_err "stderr output:"
     40 		ts_err_cat $STD_ERR
     41 		if [ -s $STD_OUT ]; then
     42 			ts_err "stdout output:"
     43 			ts_err_cat $STD_OUT
     44 		fi
     45 	elif [ -s $STD_OUT ]; then
     46 		echo "${SCRIPT}: ${DESC} succeeded with output:"
     47 		cat $STD_OUT
     48 	else
     49 		echo "${SCRIPT}: ${DESC} succeeded"
     50 	fi
     51 }
     52 
     53 ts_ip()
     54 {
     55 	SCRIPT=$1; shift
     56 	DESC=$1; shift
     57 
     58 	$IP $@ 2> $STD_ERR > $STD_OUT
     59         RET=$?
     60 
     61 	if [ -s $STD_ERR ] || [ "$RET" != "0" ]; then
     62 		ts_err "${SCRIPT}: ${DESC} failed:"
     63 		ts_err "command: $IP $@"
     64 		ts_err "stderr output:"
     65 		ts_err_cat $STD_ERR
     66 		if [ -s $STD_OUT ]; then
     67 			ts_err "stdout output:"
     68 			ts_err_cat $STD_OUT
     69 		fi
     70 	elif [ -s $STD_OUT ]; then
     71 		echo "${SCRIPT}: ${DESC} succeeded with output:"
     72 		cat $STD_OUT
     73 	else
     74 		echo "${SCRIPT}: ${DESC} succeeded"
     75 	fi
     76 }
     77 
     78 ts_qdisc_available()
     79 {
     80 	HELPOUT=`$TC qdisc add $1 help 2>&1`
     81 	if [ "`echo $HELPOUT | grep \"^Unknown qdisc\"`" ]; then
     82 		return 0;
     83 	else
     84 		return 1;
     85 	fi
     86 }
     87 
     88 rand_dev()
     89 {
     90     echo "dev-$(tr -dc "[:alpha:]" < /dev/urandom | head -c 6)"
     91 }
     92 
     93 pr_failed()
     94 {
     95 	echo " [FAILED]"
     96 	ts_err "matching failed"
     97 }
     98 
     99 pr_success()
    100 {
    101 	echo " [SUCCESS]"
    102 }
    103 
    104 test_on()
    105 {
    106 	echo -n "test on: \"$1\""
    107 	if cat "$STD_OUT" | grep -qE "$1"
    108 	then
    109 		pr_success
    110 	else
    111 		pr_failed
    112 	fi
    113 }
    114 
    115 test_on_not()
    116 {
    117 	echo -n "test on: \"$1\""
    118 	if cat "$STD_OUT" | grep -vqE "$1"
    119 	then
    120 		pr_success
    121 	else
    122 		pr_failed
    123 	fi
    124 }
    125 
    126 test_lines_count()
    127 {
    128 	echo -n "test on lines count ($1): "
    129 	if cat "$STD_OUT" | wc -l | grep -q "$1"
    130 	then
    131 		pr_success
    132 	else
    133 		pr_failed
    134 	fi
    135 }
    136