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