2019-02-22 03:47:12 +00:00
|
|
|
|
NEW
|
|
|
|
|
PREFIX
|
|
|
|
|
AUTO 4,1
|
|
|
|
|
#!/BIN/SH
|
2019-01-16 04:50:18 +00:00
|
|
|
|
#
|
|
|
|
|
# Tests the While Loop function of shell
|
|
|
|
|
#
|
2019-03-11 03:49:44 +00:00
|
|
|
|
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
|
2019-01-16 04:50:18 +00:00
|
|
|
|
loop
|
2019-03-11 03:49:44 +00:00
|
|
|
|
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
|
2019-04-12 14:53:00 +00:00
|
|
|
|
#
|
|
|
|
|
# This next tests uses the NOT variant of the condition block
|
|
|
|
|
#
|
2019-03-11 03:49:44 +00:00
|
|
|
|
set counter = 0
|
|
|
|
|
set total = 2000
|
2019-04-12 14:53:00 +00:00
|
|
|
|
while ![ $total -eq 0 ]
|
2019-03-11 03:49:44 +00:00
|
|
|
|
set total = $total - 100
|
|
|
|
|
set counter = $counter + 1
|
2019-04-12 14:53:00 +00:00
|
|
|
|
ECHO -N "\e[18;10HTest 3 - Counter : ${count} Total : ${total} "
|
2019-03-11 03:49:44 +00:00
|
|
|
|
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
|
2019-02-22 03:47:12 +00:00
|
|
|
|
MAN
|
|
|
|
|
TEXT /MAKE/USR/SHARE/TESTS/WHILETEST
|