diff --git a/.A2osX Issue List.xlsx b/.A2osX Issue List.xlsx index 4dbaeb8e..0de5a9ae 100644 Binary files a/.A2osX Issue List.xlsx and b/.A2osX Issue List.xlsx differ diff --git a/.Floppies/A2OSX.MAKE.po b/.Floppies/A2OSX.MAKE.po index e86524f3..49a283d2 100644 Binary files a/.Floppies/A2OSX.MAKE.po and b/.Floppies/A2OSX.MAKE.po differ diff --git a/Notes for Developers.md b/Notes for Developers.md index 9cd411c5..ab1c1425 100644 --- a/Notes for Developers.md +++ b/Notes for Developers.md @@ -1,7 +1,8 @@ A2osX is already much more then a "primitive" command line operating system. While A2osX runs on top of ProDos, leveraging its support for block devices such as floppy drives, hard drives, SmartPort drives, etc., it adds a preemptive multitasking kernel with a greatly enhanced shell that supports arguments, redirection, piping, and probably the biggest enhancement, a full scripting language. In addition, at its core, the OS supports multiple virtual terminals (i.e. OA-1 OA-2 gets you different sessions) as well as concurrent external terminals via SSC (getty on SSC serial) or network (TELNETD). A GUI interface is being built and will be part of a future release. -A core element at the foundation of A2osX that enabling its multiuser multitasking capabilities is that it is build on a reusable set of APIs and LIBs (written in Assembly) that all programs can and do use which make them very lean and fast. For instance, there is one network API that any program can call which in turn handles the I/O to different LAN cards via drivers. Key here is that multiple programs can be using the network at the same time such as the TELNETD server and the TELNET client. A key benefit is that the code for doing each program is smaller because the network API is doing a lot of the work. And with CORE APIs like printf and LIBs such as Network only loaded once, much like a DLL in Windows, significant memory is conserved providing the resources needed to support multitasking and multiple users. +A core element at the foundation of A2osX that enabling its multiuser multitasking capabilities is that it is build on a reusable set of APIs and LIBs (written in Assembly) that all programs can and do use which make them very lean and fast. For instance, there is one network API that any program can call which in turn handles the I/O to different LAN cards via drivers. Key here is that multiple programs can be using the network at the same time such as the TELNETD server and the TELNET client. A key benefit is that the code for doing each program is smaller because the network API is doing a lot of the work. And with CORE APIs like printf and LIBs such as Network only loaded once, much like a DLL in Windows, significant memory is coiflevel +nserved providing the resources needed to support multitasking and multiple users. Its because of the Uthernet2 that I got hooked on A2osX and joined on to supported the project. Not only does it have a telnet client, it has other net centric tools and more being added. I will be honest, there is more that needs to be done, but it progressing rapidly and seems like a great foundation for building net apps on an Apple 2. Next post diff --git a/TESTS/BUILDTEST.txt b/TESTS/BUILDTEST.txt index be3483e2..43256f31 100644 --- a/TESTS/BUILDTEST.txt +++ b/TESTS/BUILDTEST.txt @@ -73,6 +73,12 @@ ECHO "\n----------------------------------------\n" >> ${Log} ECHO "\n----------------------------------------\n" >> ${Log} . IFZNTEST ECHO "\n----------------------------------------\n" >> ${Log} +. IFFILETEST +ECHO "\n----------------------------------------\n" >> ${Log} +. IFSTRTEST +ECHO "\n----------------------------------------\n" >> ${Log} +. IFNUMTEST +ECHO "\n----------------------------------------\n" >> ${Log} . CATTEST # # End of Tests diff --git a/TESTS/FORTEST.txt b/TESTS/FORTEST.txt index 1fd9544b..66c74080 100644 --- a/TESTS/FORTEST.txt +++ b/TESTS/FORTEST.txt @@ -6,9 +6,9 @@ AUTO 4,1 # This script tests the new FOR NEXT loop construct. # echo "\f\n\n FOR NEXT Tests" -echo "\n\nThis script tests the FOR var IN 'LIST' construct" -echo "as well as the FOR var IN 'FILE' construct. It also simulates" -echo "the FOR val in CMD construct by doing a SET var = CMD first." +echo "\n\nThis script tests the FOR var IN EXP construct" +echo "EXP can be a string of words separated by spaces, a file" +echo "or the results of a command." echo IF [ -N $Log ] ECHO "Begin FOR NEXT Tests" >> ${Log} @@ -27,6 +27,16 @@ FOR ITEM IN $LIST NEXT ECHO "I counted $COUNT items" ECHO "with a total of $TOTAL" +SET LIST = "1000 4567 -999 -9999 42 59000 -110000 60000 14" +SET COUNT = 0 +SET TOTAL = 0 +FOR ITEM IN $LIST + ECHO $ITEM + SET COUNT = $COUNT + 1 + SET TOTAL = $TOTAL + $ITEM +NEXT +ECHO "I counted $COUNT items" +ECHO "with a total of $TOTAL" SET LIST = "Remy Patrick Adam Admin Zeus Zero" SET COUNT = 0 FOR ITEM IN $LIST diff --git a/TESTS/IFDIRTEST.txt b/TESTS/IFDIRTEST.txt deleted file mode 100644 index a572344e..00000000 --- a/TESTS/IFDIRTEST.txt +++ /dev/null @@ -1,23 +0,0 @@ -NEW - PREFIX -AUTO 4,1 -#!/BIN/SH -# -# -# -echo \f IFDIRTEST Script -echo \n\n -echo Testing for this Dir -IF [ -D /PKA2OSX/TESTS ] - Echo Found Tests by full path -ELSE - Echo Tests Not Found -FI -echo Testing for /BLANK -IF [ -D /BLANK ] - Echo Found /Blank -ELSE - Echo No /BLANK -FI -MAN -TEXT /MAKE/USR/SHARE/TESTS/IFDIRTEST diff --git a/TESTS/IFFDTEST.txt b/TESTS/IFFDTEST.txt deleted file mode 100644 index c7316074..00000000 --- a/TESTS/IFFDTEST.txt +++ /dev/null @@ -1,41 +0,0 @@ -NEW - PREFIX -AUTO 4,1 -#!/BIN/SH -# -# -# -echo "\f IFFDTEST Script" -echo "\n\n" -echo "Testing for this File using -E" -IF [ -E /PKA2OSX/TESTS/IFFILETEST ] - Echo "Found by full path" -ELSE - Echo "Not Found" -FI -echo "Testing for this Dir using -E" -IF [ -E /PKA2OSX/TESTS ] - Echo "Found by full path" -ELSE - Echo "Not Found" -FI -echo "Testing for IFFILETEST" -IF [ -E IFFILETEST ] - Echo "Found" -ELSE - Echo "Not Found" -FI -echo "Testing for ../MANPAGES" -IF [ -E ../MANPAGES ] - Echo "Found" -ELSE - Echo "Not Found" -FI -echo "Testing for IFFILETEST2" -IF [ -E IFFILETEST2 ] - Echo "Found " -ELSE - Echo "Not Found" -FI -MAN -TEXT /MAKE/USR/SHARE/TESTS/IFFDTEST diff --git a/TESTS/IFFILETEST.txt b/TESTS/IFFILETEST.txt index 47e166fc..80e988b2 100644 --- a/TESTS/IFFILETEST.txt +++ b/TESTS/IFFILETEST.txt @@ -3,13 +3,16 @@ NEW AUTO 4,1 #!/BIN/SH # -# +# This script tests the File/Directory options of the +# IF script directive (-D -E -F). # echo "\f\n\n IF File Tests" echo "\n\nThis script tests that the IF -F (FILE) -D" echo "(DIRECTORY) and -E (either FILE or DIRECTORY)" echo "options perform as expected." echo +ECHO "Begin IF File Tests" +ECHO IF [ -N $Log ] ECHO "Begin IF File Tests" >> ${Log} ELSE @@ -21,33 +24,158 @@ FI # this should always work SET T = $T + 1 IF [ -F $0 ] - Echo "IF -F $0 True: Pased" + Echo "IF -F $0 True: Passed" + IF [ -N $Log ] + ECHO "IF -F $0 True: Passed" >> ${Log} + SET P = $P + 1 + FI ELSE - Echo "IF -F $0 False: Pased" + Echo "IF -F $0 False: Failed" + IF [ -N $Log ] + ECHO "IF -F $0 False: Failed" >> ${Log} + SET F = $F + 1 + FI FI # Next Test for BUILDTEST with -F which should be in current dir - -# Next Test for BUILDTEST with -E which should be in current dir - -# Next Test for BUILDTEST with -D which should fail as its a file - -# Next check for TESTDIR with -D a directory created for this test - -# Next check for TESTDIR with -E a directory created for this test - -# Next check for TESTDIR with -F which should fail as its a dir - -echo Testing for IFFILETEST -IF [ -F IFFILETEST ] - Echo Found +SET T = $T + 1 +IF [ -F BUILDTEST ] + Echo "IF -F BUILDTEST True: Passed" + IF [ -N $Log ] + ECHO "IF -F BUILDTEST True: Passed" >> ${Log} + SET P = $P + 1 + FI ELSE - Echo Not Found + Echo "IF -F BUILDTEST False: Failed" + IF [ -N $Log ] + ECHO "IF -F BUILDTEST False: Failed" >> ${Log} + SET F = $F + 1 + FI FI -echo Testing for IFFILETEST2 -IF [ -F IFFILETEST2 ] - Echo Found +# Next Test for BUILDTEST with -E which should be in current dir +SET T = $T + 1 +IF [ -E BUILDTEST ] + Echo "IF -E BUILDTEST True: Passed" + IF [ -N $Log ] + ECHO "IF -E BUILDTEST True: Passed" >> ${Log} + SET P = $P + 1 + FI ELSE - Echo Not Found + Echo "IF -E BUILDTEST False: Failed" + IF [ -N $Log ] + ECHO "IF -E BUILDTEST False: Failed" >> ${Log} + SET F = $F + 1 + FI +FI +# Next Test for BUILDTEST with -D which should fail as its a file +SET T = $T + 1 +IF [ -D BUILDTEST ] + Echo "IF -D BUILDTEST True: Failed" + IF [ -N $Log ] + ECHO "IF -D BUILDTEST True: Failed" >> ${Log} + SET F = $F + 1 + FI +ELSE + Echo "IF -D BUILDTEST False: Passed" + IF [ -N $Log ] + ECHO "IF -D BUILDTEST False: Passed" >> ${Log} + SET P = $P + 1 + FI +FI +# Next check for TESTDIR with -D a directory created for this test +SET T = $T + 1 +IF [ -D TESTDIR ] + Echo "IF -D TESTDIR True: Passed" + IF [ -N $Log ] + ECHO "IF -D TESTDIR True: Passed" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo "IF -D TESTDIR False: Failed" + IF [ -N $Log ] + ECHO "IF -D TESTDIR False: Failed" >> ${Log} + SET F = $F + 1 + FI +FI +# Next check for TESTDIR with -E a directory created for this test +SET T = $T + 1 +IF [ -E TESTDIR ] + Echo "IF -E TESTDIR True: Passed" + IF [ -N $Log ] + ECHO "IF -E TESTDIR True: Passed" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo "IF -E TESTDIR False: Failed" + IF [ -N $Log ] + ECHO "IF -E TESTDIR False: Failed" >> ${Log} + SET F = $F + 1 + FI +FI +# Next check for TESTDIR with -F which should fail as its a dir +SET T = $T + 1 +IF [ -F TESTDIR ] + Echo "IF -F TESTDIR True: Failed" + IF [ -N $Log ] + ECHO "IF -F TESTDIR True: Failed" >> ${Log} + SET F = $F + 1 + FI +ELSE + Echo "IF -F TESTDIR False: Passed" + IF [ -N $Log ] + ECHO "IF -F TESTDIR False: Passed" >> ${Log} + SET P = $P + 1 + FI +FI +# Next Test for BUILDTEST2 with -F which should fail non-existant +SET T = $T + 1 +IF [ -F BUILDTEST2 ] + Echo "IF -F BUILDTEST2 True: Failed" + IF [ -N $Log ] + ECHO "IF -F BUILDTEST2 True: Failed" >> ${Log} + SET F = $F + 1 + FI +ELSE + Echo "IF -F BUILDTEST2 False: Passed" + IF [ -N $Log ] + ECHO "IF -F BUILDTEST2 False: Passed" >> ${Log} + SET P = $P + 1 + FI +FI +# Next Test for BUILDTEST2 with -E which should fail non-existant +SET T = $T + 1 +IF [ -E BUILDTEST2 ] + Echo "IF -E BUILDTEST2 True: Failed" + IF [ -N $Log ] + ECHO "IF -E BUILDTEST2 True: Failed" >> ${Log} + SET F = $F + 1 + FI +ELSE + Echo "IF -E BUILDTEST2 False: Passed" + IF [ -N $Log ] + ECHO "IF -E BUILDTEST2 False: Passed" >> ${Log} + SET P = $P + 1 + FI +FI +# Next Test for BUILDTEST2 with -D which should fail non-existant +SET T = $T + 1 +IF [ -D BUILDTEST2 ] + Echo "IF -D BUILDTEST2 True: Failed" + IF [ -N $Log ] + ECHO "IF -D BUILDTEST2 True: Failed" >> ${Log} + SET F = $F + 1 + FI +ELSE + Echo "IF -D BUILDTEST2 False: Passed" + IF [ -N $Log ] + ECHO "IF -D BUILDTEST2 False: Passed" >> ${Log} + SET P = $P + 1 + FI +FI +# Done IF File Testing +ECHO "\nEnd of IF File Tests\n" +ECHO +IF [ -N $Log ] + ECHO "End IF File Tests" >> ${Log} FI MAN TEXT /MAKE/USR/SHARE/TESTS/IFFILETEST diff --git a/TESTS/IFNUMTEST.txt b/TESTS/IFNUMTEST.txt index b0c548c3..68fcb045 100644 --- a/TESTS/IFNUMTEST.txt +++ b/TESTS/IFNUMTEST.txt @@ -3,94 +3,289 @@ NEW AUTO 4,1 #!/BIN/SH # +# This script tests the Numeric comparison options of the +# IF directive in shell. # # -ECHO "\f If Numeric Tests" -ECHO "\nThis Performs Several Numeric Comparison Tests" -ECHO -N "\n Test 1: 99 = 99 " -IF [ 99 -eq 99 ] -echo True Pass +ECHO "\f\n\n If Numeric Tests" +ECHO "\n\nThis Performs Several Numeric Comparison Tests" +ECHO +ECHO "Begin IF Numeric Tests" +ECHO +IF [ -N $Log ] + ECHO "Begin IF Numeric Tests" >> ${Log} ELSE -echo False Fail + SET T = 0 + SET F = 0 + SET P = 0 FI -ECHO -N " Test 2: 99 = 79 " -IF [ 99 -eq 79 ] -echo True Fail +# First test that 2 of the same constants numbers are equal each other. +SET T = $T + 1 +IF [ 99 -EQ 99 ] + Echo " Test 1 99 -EQ 99 : True : PASSED" + IF [ -N $Log ] + ECHO "Test 1 99 -EQ 99 : True : PASSED" >> ${Log} + SET P = $P + 1 + FI ELSE -echo False Pass + Echo " Test 1 99 -EQ 99 : False : FAILED" + IF [ -N $Log ] + ECHO "Test 1 99 -EQ 99 : False : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO -N " Test 3: 99 <> 99 " +# Second Test that 2 unique numbers fail -EQ test. +SET T = $T + 1 +IF [ 99 -EQ 79 ] + Echo " Test 2 99 -EQ 79 : True : FAILED" + IF [ -N $Log ] + ECHO "Test 2 99 -EQ 79 : True : FAILED" >> ${Log} + SET F = $F + 1 + FI +ELSE + Echo " Test 2 99 -EQ 79 : False : PASSED" + IF [ -N $Log ] + ECHO "Test 2 99 -EQ 79 : False : PASSED" >> ${Log} + SET P = $P + 1 + FI +FI +# Third Test Same Number -NE option +SET T = $T + 1 IF [ 99 -NE 99 ] -echo True Fail + Echo " Test 3 99 -NE 99 : True : FAILED" + IF [ -N $Log ] + ECHO "Test 3 99 -NE 99 : True : FAILED" >> ${Log} + SET F = $F + 1 + FI ELSE -echo False Pass + Echo " Test 3 99 -NE 99 : False : PASSED" + IF [ -N $Log ] + ECHO "Test 3 99 -NE 99 : False : PASSED" >> ${Log} + SET P = $P + 1 + FI FI -ECHO -N " Test 4: 99 <> 79 " +# Forth test different numbers -NE option +SET T = $T + 1 IF [ 99 -NE 79 ] -echo True Pass + Echo " Test 4 99 -NE 79 : True : PASSED" + IF [ -N $Log ] + ECHO "Test 4 99 -NE 79 : True : PASSED" >> ${Log} + SET P = $P + 1 + FI ELSE -echo False Fail + Echo " Test 4 99 -NE 79 : False : FAILED" + IF [ -N $Log ] + ECHO "Test 4 99 -NE 79 : False : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO -N " Test 5: 99 < 79 " +# Fifth Test 99 < 79 +SET T = $T + 1 IF [ 99 -LT 79 ] -ECHO True Fail -ELSE -ECHO False Pass + Echo " Test 5 99 -LT 79 : True : FAILED" + IF [ -N $Log ] + ECHO "Test 5 99 -LT 79 : True : FAILED" >> ${Log} + SET F = $F + 1 + FI +ELSE + Echo " Test 5 99 -LT 79 : False : PASSED" + IF [ -N $Log ] + ECHO "Test 5 99 -LT 79 : False : PASSED" >> ${Log} + SET P = $P + 1 + FI FI -ECHO -N " Test 6: 79 < 99 " +# Sixth Test 79 < 99 +SET T = $T + 1 IF [ 79 -LT 99 ] -ECHO True Pass -ELSE -ECHO False Fail + Echo " Test 6 79 -LT 99 : True : PASSED" + IF [ -N $Log ] + ECHO "Test 6 79 -LT 99 : True : PASSED" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo " Test 6 79 -LT 99 : False : FAILED" + IF [ -N $Log ] + ECHO "Test 6 79 -LT 99 : False : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO -N " Test 7: 99 <= 79 " +# Seventh Test 99 <= 79 +SET T = $T + 1 IF [ 99 -LE 79 ] -ECHO True Fail -ELSE -ECHO False Pass + Echo " Test 7 99 -LE 79 : True : FAILED" + IF [ -N $Log ] + ECHO "Test 7 99 -LE 79 : True : FAILED" >> ${Log} + SET F = $F + 1 + FI +ELSE + Echo " Test 7 99 -LE 79 : False : PASSED" + IF [ -N $Log ] + ECHO "Test 7 99 -LE 79 : False : PASSED" >> ${Log} + SET P = $P + 1 + FI FI -ECHO -N " Test 8: 79 <= 99 " +# Eighth Test 79 <= 99 +SET T = $T + 1 IF [ 79 -LE 99 ] -ECHO True Pass -ELSE -ECHO False Fail + Echo " Test 8 79 -LE 99 : True : PASSED" + IF [ -N $Log ] + ECHO "Test 8 79 -LE 99 : True : PASSED" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo " Test 8 79 -LE 99 : False : FAILED" + IF [ -N $Log ] + ECHO "Test 8 79 -LE 99 : False : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO -N " Test 9: 99 <= 99 " +# Nineth Test 99 <= 99 +SET T = $T + 1 IF [ 99 -LE 99 ] -ECHO True Pass -ELSE -ECHO False Fail + Echo " Test 9 99 -LE 99 : True : PASSED" + IF [ -N $Log ] + ECHO "Test 9 99 -LE 99 : True : PASSED" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo " Test 9 99 -LE 99 : False : FAILED" + IF [ -N $Log ] + ECHO "Test 9 99 -LE 99 : False : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO -N " Test 10: 99 > 79 " +# Tenth Test 99 > 79 +SET T = $T + 1 IF [ 99 -GT 79 ] -ECHO True Pass -ELSE -ECHO False Fail + Echo " Test 10 99 -GT 79 : True : PASSED" + IF [ -N $Log ] + ECHO "Test 10 99 -GT 79 : True : PASSED" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo " Test 10 99 -GT 79 : False : FAILED" + IF [ -N $Log ] + ECHO "Test 10 99 -GT 79 : False : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO -N " Test 11: 79 > 99 " +# Eleventh Test 79 > 99 +SET T = $T + 1 IF [ 79 -GT 99 ] -ECHO True Fail -ELSE -ECHO False Pass + Echo " Test 11 79 -GT 99 : True : FAILED" + IF [ -N $Log ] + ECHO "Test 11 79 -GT 99 : True : FAILED" >> ${Log} + SET F = $F + 1 + FI +ELSE + Echo " Test 11 79 -GT 99 : False : PASSED" + IF [ -N $Log ] + ECHO "Test 11 79 -GT 99 : False : PASSED" >> ${Log} + SET P = $P + 1 + FI FI -ECHO -N " Test 12: 99 => 79 " +# Twelveth Test 99 => 79 +SET T = $T + 1 IF [ 99 -GE 79 ] -ECHO True Pass -ELSE -ECHO False Fail + Echo " Test 12 99 -GE 79 : True : PASSED" + IF [ -N $Log ] + ECHO "Test 12 99 -GE 79 : True : PASSED" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo " Test 12 99 -GE 79 : False : FAILED" + IF [ -N $Log ] + ECHO "Test 12 99 -GE 79 : False : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO -N " Test 13: 79 => 99 " +# Thirteenth Test 79 => 99 +SET T = $T + 1 IF [ 79 -GE 99 ] -ECHO True Fail -ELSE -ECHO False Pass + Echo " Test 13 79 -GE 99 : True : FAILED" + IF [ -N $Log ] + ECHO "Test 13 79 -GE 99 : True : FAILED" >> ${Log} + SET F = $F + 1 + FI +ELSE + Echo " Test 13 79 -GE 99 : False : PASSED" + IF [ -N $Log ] + ECHO "Test 13 79 -GE 99 : False : PASSED" >> ${Log} + SET P = $P + 1 + FI FI -ECHO -N " Test 14: 99 => 99 " +# Fourteenth Test 99 => 99 +SET T = $T + 1 IF [ 99 -GE 99 ] -ECHO True Pass -ELSE -ECHO False Fail + Echo " Test 14 99 -GE 99 : True : PASSED" + IF [ -N $Log ] + ECHO "Test 14 99 -GE 99 : True : PASSED" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo " Test 14 99 -GE 99 : False : FAILED" + IF [ -N $Log ] + ECHO "Test 14 99 -GE 99 : False : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO "\n End of Test\n" +# Fifteenth Test Dec Var to Constant Int +SET ABC = 1234.4321 +SET T = $T + 1 +IF [ $ABC -EQ 1234 ] + Echo " Test 15 Dec Var to Int : True : PASSED" + IF [ -N $Log ] + ECHO "Test 15 Dec Var to Int : True : PASSED" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo " Test 15 Dec Var to Int : False : FAILED" + IF [ -N $Log ] + ECHO "Test 15 Dec Var to Int : False : FAILED" >> ${Log} + SET F = $F + 1 + FI +FI +# Sixteenth Test Upper Limit Rollover +SET ABC = 2147483645 +SET DEF = $ABC + 3 +SET T = $T + 1 +IF [ $DEF -EQ -2147483648 ] + Echo " Test 16 Upper Rollover : True : PASSED" + IF [ -N $Log ] + ECHO "Test 16 Upper Rollover : True : PASSED" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo " Test 16 Upper Rollover : False : FAILED" + IF [ -N $Log ] + ECHO "Test 16 Upper Rollover : False : FAILED" >> ${Log} + SET F = $F + 1 + FI +FI +# Seventeenth Test Lower Limit Rollover +SET GHI = $DEF - 5 +SET T = $T + 1 +IF [ $GHI -EQ 2147483643 ] + Echo " Test 17 Lower Rollover : True : PASSED" + IF [ -N $Log ] + ECHO "Test 17 Lower Rollover : True : PASSED" >> ${Log} + SET P = $P + 1 + FI +ELSE + Echo " Test 17 Lower Rollover : False : FAILED" + IF [ -N $Log ] + ECHO "Test 17 Lower Rollover : False : FAILED" >> ${Log} + SET F = $F + 1 + FI +FI +ECHO +ECHO "End IF Numeric Tests" +ECHO +IF [ -N $Log ] + ECHO "End IF Numeric Tests" >> ${Log} +FI +SET ABC = +SET DEF = +SET GHI = MAN TEXT /MAKE/USR/SHARE/TESTS/IFNUMTEST diff --git a/TESTS/IFSTRTEST.txt b/TESTS/IFSTRTEST.txt index 2b4cd3ef..23fdc4af 100644 --- a/TESTS/IFSTRTEST.txt +++ b/TESTS/IFSTRTEST.txt @@ -3,47 +3,121 @@ NEW AUTO 4,1 #!/BIN/SH # -# +# This script tests the String comparison options of the +# IF directive in shell. # #!/BIN/SH -ECHO "\f IF String Tests" -ECHO "\nThis Performs Several String Comparison Tests\n" -ECHO -N " Test 1 ABC = ABC : " +ECHO "\f\n\n IF String Tests" +ECHO "\n\nThis Performs Several String Comparison Tests" +ECHO +ECHO "Begin IF String Tests" +ECHO +IF [ -N $Log ] + ECHO "Begin IF String Tests" >> ${Log} +ELSE + SET T = 0 + SET F = 0 + SET P = 0 +FI +# First test that 2 of the same constants equal each other. +SET T = $T + 1 IF [ "ABC" = "ABC" ] -echo PASSED + Echo " Test 1 ABC = ABC : PASSED" + IF [ -N $Log ] + ECHO "Test 1 ABC = ABC : PASSED" >> ${Log} + SET P = $P + 1 + FI ELSE -echo FAILED + Echo " Test 1 ABC = ABC : FAILED" + IF [ -N $Log ] + ECHO "Test 1 ABC = ABC : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO -N " Test 2 ABC not DEF : " +# Second Test that 2 unique constants are not equal. +SET T = $T + 1 IF [ "ABC" != "DEF" ] -echo PASSED + Echo " Test 2 ABC != DEF : PASSED" + IF [ -N $Log ] + ECHO "Test 2 ABC != DEF : PASSED" >> ${Log} + SET P = $P + 1 + FI ELSE -echo FAILED + Echo " Test 2 ABC != DEF : FAILED" + IF [ -N $Log ] + ECHO "Test 2 ABC != DEF : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO -N " Test 3 ABC = ABCD : " +# Third test 2 similar but unequal constants are not equal. +SET T = $T + 1 IF [ "ABC" = "ABCD" ] -echo FAILED + Echo " Test 3 ABC = ABCD : FAILED" + IF [ -N $Log ] + ECHO "Test 3 ABC = ABCD : FAILED" >> ${Log} + SET F = $F + 1 + FI ELSE -echo PASSED + Echo " Test 3 ABC = ABCD : PASSED" + IF [ -N $Log ] + ECHO "Test 3 ABC = ABCD : PASSED" >> ${Log} + SET P = $P + 1 + FI FI -ECHO -N " Test 4 ABC not ABC : " +# Fourth test the same constants to be not equal to test for false. +SET T = $T + 1 IF [ "ABC" != "ABC" ] -echo FAILED + Echo " Test 4 ABC != ABC : FAILED" + IF [ -N $Log ] + ECHO "Test 4 ABC != ABC : FAILED" >> ${Log} + SET F = $F + 1 + FI ELSE -echo PASSED + Echo " Test 4 ABC != ABC : PASSED" + IF [ -N $Log ] + ECHO "Test 4 ABC != ABC : PASSED" >> ${Log} + SET P = $P + 1 + FI FI -ECHO -N " Test 5 -N Bad Var : " -IF [ -N $ABC ] -echo FAILED +# Fifth test compare VAR to constant to be equal. +SET ABC = "ABC" +SET T = $T + 1 +IF [ $ABC = "ABC" ] + Echo " Test 5 VAR = ABC : PASSED" + IF [ -N $Log ] + ECHO "Test 5 VAR = ABC : PASSED" >> ${Log} + SET P = $P + 1 + FI ELSE -echo PASSED + Echo " Test 5 VAR = ABC : FAILED" + IF [ -N $Log ] + ECHO "Test 5 VAR = ABC : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO -N " Test 6 -Z Bad Var : " -IF [ -Z $ABC ] -echo PASSED +# Sixth test compare complex VAR to constant to be equal. +SET ABC = "ABC" +SET DEF = "${ABC}123${ABC}456${ABC}" +SET T = $T + 1 +IF [ $DEF = "ABC123ABC456ABC" ] + Echo " Test 6 Complex VAR = ABC123ABC456ABC : PASSED" + IF [ -N $Log ] + ECHO "Test 6 Complex VAR = ABC123ABC456ABC : PASSED" >> ${Log} + SET P = $P + 1 + FI ELSE -echo FAILED + Echo " Test 6 Complex VAR = ABC123ABC456ABC : FAILED" + IF [ -N $Log ] + ECHO "Test 6 Complex VAR = ABC123ABC456ABC : FAILED" >> ${Log} + SET F = $F + 1 + FI FI -ECHO "\n End of Test\n" +ECHO "\nEnd IF String Tests" +ECHO +IF [ -N $Log ] + ECHO "End IF String Tests" >> ${Log} +FI +SET ABC = +SET DEF = MAN TEXT /MAKE/USR/SHARE/TESTS/IFSTRTEST diff --git a/TESTS/LOG.txt b/TESTS/LOG.txt index 697707ce..485b74b8 100644 --- a/TESTS/LOG.txt +++ b/TESTS/LOG.txt @@ -3,15 +3,32 @@ NEW AUTO 4,1 #!/BIN/SH # -IF [ $# -GT 0 ] - IF [ $1 -GT 0 ] - SET B = $1 - ELSE - ECHO "Syntax Error" - FI -ELSE +# This script will display the output of a BUILDTEST log file using MORE +# +SET B = $1 +IF [ -Z $B ] READ -P "WHICH BUILD: " B FI -MORE ${ROOT}VAR/LOG/TESTS/BUILD.${B} +IF [ -Z $B ] + ECHO "You did not enter any response." + ECHO + ECHO "Press Return to Continue" + PAUSE + EXIT +FI +IF [ -F ${ROOT}VAR/LOG/TESTS/BUILD.${B} ] + MORE ${ROOT}VAR/LOG/TESTS/BUILD.${B} + ECHO + ECHO + ECHO "Press Return to Continue" + PAUSE +ELSE + ECHO + ECHO + ECHO "No Log exists for ${B}" + ECHO + ECHO "Press Return to Continue" + PAUSE +FI MAN TEXT /MAKE/USR/SHARE/TESTS/LOG diff --git a/TESTS/SHIFTTEST2.txt b/TESTS/SHIFTTEST2.txt index 064934a8..d3496eb3 100644 --- a/TESTS/SHIFTTEST2.txt +++ b/TESTS/SHIFTTEST2.txt @@ -16,7 +16,7 @@ ECHO 6 Parm is $6 ECHO 7 Parm is $7 ECHO 8 Parm is $8 ECHO 9 Parm is $9 -ECHO Parm Countis $# +ECHO Parm Count is $# Echo All Parms is $* echo Process ID is $$ echo begin shift test - SHIFT 3 TIMES diff --git a/TESTS/TESTMENU.txt b/TESTS/TESTMENU.txt index 5475c84f..5b2c40d6 100644 --- a/TESTS/TESTMENU.txt +++ b/TESTS/TESTMENU.txt @@ -21,6 +21,8 @@ ECHO " 9) Build Test Suite with Logging" ECHO "\n 0) Exit Test System" ECHO "\n" READ -P "Enter Choice: " Z +ECHO +ECHO IF [ $Z = "1" ] CORETEST ELSE