NEW PREFIX AUTO 4,1 #!/BIN/SH # # Tests the While Loop function of shell # echo "\f\n\n WHILE LOOP Tests" echo "\n\nThis script tests the WHILE LOOP construct." echo "\nThe First tests an incrementing loop adding up the" echo "vaues, in this way it demonstrates creating a Fibonachi" echo "number maker. Test 2 is a decremental loop and Test 3" echo "mixes the two." echo IF [ -N $Log ] ECHO "Begin WHILE LOOP Tests" >> ${Log} ELSE SET T = 0 SET F = 0 SET P = 0 FI set counter = 1 set total = 0 while [ $counter -lt 16 ] set total = $total + $counter ECHO -N "\e[14;10HTest 1 - Counter : ${count} Total : ${total}" set counter = $counter + 1 loop IF [ $total -eq 120 ] IF [ -N $Log ] SET T = $T + 1 SET P = $P + 1 ECHO "WHILE LOOP Test 1 Passed" >> ${Log} FI ELSE IF [ -N $Log ] SET T = $T + 1 SET F = $F + 1 ECHO "WHILE LOOP Test 1 Failed" >> ${Log} FI FI set counter = 100 set total = 10000 while [ $counter -gt 90 ] set total = $total - $counter ECHO -N "\e[16;10HTest 2 - Counter : ${count} Total : ${total}" set counter = $counter - 1 loop IF [ $total -eq 9045 ] IF [ -N $Log ] SET T = $T + 1 SET P = $P + 1 ECHO "WHILE LOOP Test 2 Passed" >> ${Log} FI ELSE IF [ -N $Log ] SET T = $T + 1 SET F = $F + 1 ECHO "WHILE LOOP Test 2 Failed" >> ${Log} FI FI # # This next tests uses the NOT variant of the condition block # set counter = 0 set total = 2000 while ![ $total -eq 0 ] set total = $total - 100 set counter = $counter + 1 ECHO -N "\e[18;10HTest 3 - Counter : ${count} Total : ${total} " loop IF [ $counter -eq 20 ] IF [ -N $Log ] SET T = $T + 1 SET P = $P + 1 ECHO "WHILE LOOP Test 3 Passed" >> ${Log} FI ELSE IF [ -N $Log ] SET T = $T + 1 SET F = $F + 1 ECHO "WHILE LOOP Test 3 Failed" >> ${Log} FI FI ECHO ECHO IF [ -N $Log ] ECHO "End WHILE LOOP Tests" >> ${Log} FI MAN TEXT /MAKE/USR/SHARE/TESTS/WHILETEST