| #!/bin/bash |
| |
| # Copyright 2013 Robin Mittal <robinmittal.it@gmail.com> |
| # Copyright 2013 Divya Kothari <divya.s.kothari@gmail.com> |
| |
| [ -f testing.sh ] && . testing.sh |
| |
| #testing "name" "command" "result" "infile" "stdin" |
| |
| fun_nice_val() |
| { |
| for each_proc in $@ |
| do |
| echo `awk '{ print $18 }' /proc/${each_proc}/stat` |
| done |
| } |
| |
| # creating processes as a test data |
| yes >/dev/null & |
| proc1=$! |
| yes >/dev/null & |
| proc2=$! |
| yes >/dev/null & |
| proc3=$! |
| yes >/dev/null & |
| proc4=$! |
| yes >/dev/null & |
| proc5=$! |
| |
| n_val1=`fun_nice_val $proc1` |
| n_val2=`fun_nice_val $proc2` |
| n_val3=`fun_nice_val $proc3` |
| n_val4=`fun_nice_val $proc4` |
| n_val5=`fun_nice_val $proc5` |
| |
| # Redirecting errors to /dev/null |
| arg="2>/dev/null" |
| |
| for n_v in "-1" "1" |
| do |
| for n_o in "" " -p" |
| do |
| nice_val1=$((`fun_nice_val $proc1` + $n_v)) |
| nice_val2=$((`fun_nice_val $proc2` + $n_v)) |
| nice_val3=$((`fun_nice_val $proc3` + $n_v)) |
| nice_val4=$((`fun_nice_val $proc4` + $n_v)) |
| nice_val5=$((`fun_nice_val $proc5` + $n_v)) |
| testing "renice with -n=$n_v and with$n_o multiple_pids" \ |
| "renice -n $n_v$n_o $proc1 $proc2 $proc3 $proc4 $proc5 && |
| fun_nice_val $proc1 $proc2 $proc3 $proc4 $proc5" \ |
| "$nice_val1\n$nice_val2\n$nice_val3\n$nice_val4\n$nice_val5\n" "" "" |
| |
| nice_val1=$((`fun_nice_val $proc1` + $n_v)) |
| nice_val2=$((`fun_nice_val $proc2` + $n_v)) |
| nice_val3=$((`fun_nice_val $proc3` + $n_v)) |
| nice_val4=$((`fun_nice_val $proc4` + $n_v)) |
| nice_val5=$((`fun_nice_val $proc5` + $n_v)) |
| testing "renice with -n=$n_v and with$n_o multiple_pids (some invalid)" \ |
| "renice -n $n_v$n_o $proc1 $proc2 88888 99999 $proc3 $proc4 $proc5 $arg || |
| fun_nice_val $proc1 $proc2 $proc3 $proc4 $proc5" \ |
| "$nice_val1\n$nice_val2\n$nice_val3\n$nice_val4\n$nice_val5\n" "" "" |
| done |
| done |
| |
| # Starting Boundary Test Here .. |
| loop_cnt=2 |
| echo -n "TEST: Boundary value test for Id($proc1)..[old_nice_val/new_nice_val]:" |
| cnt=0 |
| n_val=1 |
| while [ $cnt -gt -1 ] |
| do |
| old_nice_val=`fun_nice_val $proc1` |
| new_nice_val=`renice -n $n_val $proc1 >/dev/null 2>&1 && fun_nice_val $proc1` |
| echo -n "[$old_nice_val/$new_nice_val]," |
| if [ $old_nice_val -eq 39 -a $old_nice_val -eq $new_nice_val ] |
| then |
| echo -n " [Equals 39,doing -1] " |
| n_val="-1" |
| elif [ $old_nice_val -eq 0 -a $old_nice_val -eq $new_nice_val ] |
| then |
| echo -n " [Equals 0,doing +1] " |
| n_val="1" |
| elif [ $new_nice_val -gt 39 -o $new_nice_val -lt 0 ] |
| then |
| echo " [Test Fail] " |
| echo "FAIL: renice with step 1 ($proc1) (boundary value)" |
| cnt="-1" |
| elif [ $new_nice_val -eq $n_val1 -a $new_nice_val -eq $(($old_nice_val+1)) ] |
| then |
| cnt=$(($cnt + 1)) |
| if [ $cnt -eq $loop_cnt ] |
| then |
| echo " [Test Pass] " |
| echo "PASS: renice with step 1 ($proc1) (boundary value)" |
| cnt="-1" |
| fi |
| else |
| dif=`echo $(($new_nice_val-$old_nice_val))` |
| dif=`echo ${dif/-}` |
| if [ $dif -ne 1 ] |
| then |
| echo " [Test Fail] " |
| echo "FAIL: renice with step 1 ($proc1) (boundary value)" |
| cnt="-1" |
| fi |
| fi |
| done |
| # Boundary test End |
| |
| killall yes >/dev/null 2>&1 |