fixed mistakes, extra tests illustrating problems with if command Modified: trunk/reactos/subsys/system/cmd/seta_test.cmd _____
Modified: trunk/reactos/subsys/system/cmd/seta_test.cmd --- trunk/reactos/subsys/system/cmd/seta_test.cmd 2005-09-19 01:14:36 UTC (rev 17925) +++ trunk/reactos/subsys/system/cmd/seta_test.cmd 2005-09-19 05:29:17 UTC (rev 17926) @@ -1,60 +1,67 @@
@echo off -if ("1"=="2") goto failure -if !("1"=="1") goto failure +@rem the next line illustrates a bug in our cmd +set /a a=5%2 +@rem the next two lines illustrate bug in existing if code +if not "=="=="==" goto failure +if "=="=="==" goto next1 +goto failure +:next1 +if "1"=="2" goto failure +if !"1"=="1" goto failure set /a a=1 -if !("%a%"=="1") goto failure +if !"%a%"=="1" goto failure set /a b=a -if !("%b%"=="1") goto failure +if !"%b%"=="1" goto failure set /a a=!5 -if !("%a%"=="0") goto failure +if !"%a%"=="0" goto failure set /a a=~5 -if !("%a%"=="-6") goto failure +if !"%a%"=="-6" goto failure set /a a=5,a=-a -if !("%a%"=="-5") goto failure +if !"%a%"=="-5" goto failure set /a a=5*7 -if !("%a%"=="35") goto failure +if !"%a%"=="35" goto failure set /a a=2000/10 -if !("%a%"=="200") goto failure +if !"%a%"=="200" goto failure set /a a=42%9 -if !("%a%"=="6") goto failure +if !"%a%"=="6" goto failure set /a a=7+9 -if !("%a%"=="16") goto failure +if !"%a%"=="16" goto failure set /a a=9-7 -if !("%a%"=="2") goto failure +if !"%a%"=="2" goto failure set /a a=9^<^<2 -if !("%a%"=="36") goto failure +if !"%a%"=="36" goto failure set /a a=36^>^>2 -if !("%a%"=="9") goto failure +if !"%a%"=="9" goto failure set /a a=42^&9 -if !("%a%"=="8") goto failure +if !"%a%"=="8" goto failure set /a a=32^^9 -if !("%a%"=="41") goto failure +if !"%a%"=="41" goto failure set /a a=10^|22 -if !("%a%"=="30") goto failure +if !"%a%"=="30" goto failure set /a a=2,a*=3 -if !("%a%"=="6") goto failure +if !"%a%"=="6" goto failure set /a a=11,a/=2 -if !("%a%"=="5") goto failure +if !"%a%"=="5" goto failure set /a a=42,a%=9 -if !("%a%"=="6") goto failure +if !"%a%"=="6" goto failure set /a a=7,a+=9 -if !("%a%"=="16") goto failure +if !"%a%"=="16" goto failure set /a a=9,a-=7 -if !("%a%"=="2") goto failure +if !"%a%"=="2" goto failure set /a a=42,a^&=9 -if !("%a%"=="8") goto failure +if !"%a%"=="8" goto failure set /a a=32,a^^=9 -if !("%a%"=="41") goto failure +if !"%a%"=="41" goto failure set /a a=10,a^|=22 -if !("%a%"=="30") goto failure +if !"%a%"=="30" goto failure set /a a=9,a^<^<=2 -if !("%a%"=="36") goto failure +if !"%a%"=="36" goto failure set /a a=36,a^>^>=2 -if !("%a%"=="9") goto failure -set /a a=(1,2) -if !("%a%"=="2") goto failure +if !"%a%"=="9" goto failure +set /a a=1,2 +if !"%a%"=="2" goto failure set /a a=(a=1,a+2) -if ("%a%"=="3") goto success +if "%a%"=="3" goto success goto failure
:success @@ -62,6 +69,6 @@ goto done
:failure -echo FAILURE! (remove the echo off and see the last formula that executed before this line) +echo FAILURE! remove the echo off and see the last formula that executed before this line
:done