=?UTF-8?Q?Fr=C3=A9d=C3=A9ric=20Delanoy=20?=: cmd/tests: Simplify 'if' comparison tests.

Alexandre Julliard julliard at winehq.org
Wed Nov 7 14:02:27 CST 2012


Module: wine
Branch: master
Commit: 250ce222b97851d1261023018194268119edf753
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=250ce222b97851d1261023018194268119edf753

Author: Frédéric Delanoy <frederic.delanoy at gmail.com>
Date:   Wed Nov  7 00:51:17 2012 +0100

cmd/tests: Simplify 'if' comparison tests.

---

 programs/cmd/tests/test_builtins.cmd     |   91 +++++++++++----------------
 programs/cmd/tests/test_builtins.cmd.exp |  100 +++++++++++++++---------------
 2 files changed, 86 insertions(+), 105 deletions(-)

diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd
index 7f90549..e7b8516 100644
--- a/programs/cmd/tests/test_builtins.cmd
+++ b/programs/cmd/tests/test_builtins.cmd
@@ -649,7 +649,6 @@ if 1==0 (echo doom) else at tab@echo quake
 
 echo --- comparison operators
 rem NT4 misevaluates conditionals in for loops so we have to use subroutines as workarounds
-rem Imbricated for loops parameters are currently not expanded correctly; this prevents usage of simpler imbricated for loops in tests
 echo ------ for strings
 rem NT4 stops processing of the whole batch file as soon as it finds a
 rem comparison operator non fully uppercased, such as lss instead of LSS, so we
@@ -662,11 +661,9 @@ if not "-1" LSS "1" (echo negative numbers as well) else echo NT4
 if /i foo LSS FoOc echo if /i seems to work for LSS
 if /I not foo LSS FOOb echo if /I seems to be broken for LSS
 set STR_PARMS=A B AB BA AA
-for %%i in (%STR_PARMS%) do call :LSStest %%i A
-for %%i in (%STR_PARMS%) do call :LSStest %%i B
-for %%i in (%STR_PARMS%) do call :LSStest %%i AB
-for %%i in (%STR_PARMS%) do call :LSStest %%i BA
-for %%i in (%STR_PARMS%) do call :LSStest %%i AA
+for %%i in (%STR_PARMS%) do (
+    for %%j in (%STR_PARMS%) do (
+        call :LSStest %%i %%j))
 if b LSS B (echo b LSS B) else echo NT4
 if /I b LSS B echo b LSS B insensitive
 if b LSS A echo b LSS A
@@ -675,11 +672,9 @@ if a LSS B (echo a LSS B) else echo NT4
 if /I a LSS B echo a LSS B insensitive
 if A LSS b echo A LSS b
 if /I A LSS b echo A LSS b insensitive
-for %%i in (%STR_PARMS%) do call :LEQtest %%i A
-for %%i in (%STR_PARMS%) do call :LEQtest %%i B
-for %%i in (%STR_PARMS%) do call :LEQtest %%i AB
-for %%i in (%STR_PARMS%) do call :LEQtest %%i BA
-for %%i in (%STR_PARMS%) do call :LEQtest %%i AA
+for %%i in (%STR_PARMS%) do (
+    for %%j in (%STR_PARMS%) do (
+        call :LEQtest %%i %%j))
 if b LEQ B (echo b LEQ B) else echo NT4
 if /I b LEQ B echo b LEQ B insensitive
 if b LEQ A echo b LEQ A
@@ -688,27 +683,19 @@ if a LEQ B (echo a LEQ B) else echo NT4
 if /I a LEQ B echo a LEQ B insensitive
 if A LEQ b echo A LEQ b
 if /I A LEQ b echo A LEQ b insensitive
-for %%i in (%STR_PARMS%) do call :EQUtest %%i A
-for %%i in (%STR_PARMS%) do call :EQUtest %%i B
-for %%i in (%STR_PARMS%) do call :EQUtest %%i AB
-for %%i in (%STR_PARMS%) do call :EQUtest %%i BA
-for %%i in (%STR_PARMS%) do call :EQUtest %%i AA
+for %%i in (%STR_PARMS%) do (
+    for %%j in (%STR_PARMS%) do (
+        call :EQUtest %%i %%j))
 if /I A EQU a echo A EQU a insensitive
-for %%i in (%STR_PARMS%) do call :NEQtest %%i A
-for %%i in (%STR_PARMS%) do call :NEQtest %%i B
-for %%i in (%STR_PARMS%) do call :NEQtest %%i AB
-for %%i in (%STR_PARMS%) do call :NEQtest %%i BA
-for %%i in (%STR_PARMS%) do call :NEQtest %%i AA
-for %%i in (%STR_PARMS%) do call :GEQtest %%i A
-for %%i in (%STR_PARMS%) do call :GEQtest %%i B
-for %%i in (%STR_PARMS%) do call :GEQtest %%i AB
-for %%i in (%STR_PARMS%) do call :GEQtest %%i BA
-for %%i in (%STR_PARMS%) do call :GEQtest %%i AA
-for %%i in (%STR_PARMS%) do call :GTRtest %%i A
-for %%i in (%STR_PARMS%) do call :GTRtest %%i B
-for %%i in (%STR_PARMS%) do call :GTRtest %%i AB
-for %%i in (%STR_PARMS%) do call :GTRtest %%i BA
-for %%i in (%STR_PARMS%) do call :GTRtest %%i AA
+for %%i in (%STR_PARMS%) do (
+    for %%j in (%STR_PARMS%) do (
+        call :NEQtest %%i %%j))
+for %%i in (%STR_PARMS%) do (
+    for %%j in (%STR_PARMS%) do (
+        call :GEQtest %%i %%j))
+for %%i in (%STR_PARMS%) do (
+    for %%j in (%STR_PARMS%) do (
+        call :GTRtest %%i %%j))
 echo ------ for numbers
 if -1 LSS 1 (echo negative numbers handled)
 if not -1 LSS -10 (echo negative numbers handled)
@@ -718,34 +705,28 @@ if 4 LSS 0x5 (echo hexa handled)
 if not -1 LSS -0x1A (echo also in negative form)
 if 11 LSS 101 (echo 11 LSS 101)
 set INT_PARMS=0 1 10 9
-for %%i in (%INT_PARMS%) do call :LSStest %%i 0
-for %%i in (%INT_PARMS%) do call :LSStest %%i 1
-for %%i in (%INT_PARMS%) do call :LSStest %%i 10
-for %%i in (%INT_PARMS%) do call :LSStest %%i 9
-for %%i in (%INT_PARMS%) do call :LEQtest %%i 0
-for %%i in (%INT_PARMS%) do call :LEQtest %%i 1
-for %%i in (%INT_PARMS%) do call :LEQtest %%i 10
-for %%i in (%INT_PARMS%) do call :LEQtest %%i 9
-for %%i in (%INT_PARMS%) do call :EQUtest %%i 0
-for %%i in (%INT_PARMS%) do call :EQUtest %%i 1
-for %%i in (%INT_PARMS%) do call :EQUtest %%i 10
-for %%i in (%INT_PARMS%) do call :EQUtest %%i 9
+for %%i in (%INT_PARMS%) do (
+    for %%j in (%INT_PARMS%) do (
+        call :LSStest %%i %%j))
+for %%i in (%INT_PARMS%) do (
+    for %%j in (%INT_PARMS%) do (
+        call :LEQtest %%i %%j))
+for %%i in (%INT_PARMS%) do (
+    for %%j in (%INT_PARMS%) do (
+        call :EQUtest %%i %%j))
 if 011 EQU 9 (echo octal ok)
 if 0xA1 EQU 161 (echo hexa ok)
 if 0xA1 EQU "161" (echo hexa should be recognized) else (echo string/hexa compare ok)
 if "0xA1" EQU 161 (echo hexa should be recognized) else (echo string/hexa compare ok)
-for %%i in (%INT_PARMS%) do call :NEQtest %%i 0
-for %%i in (%INT_PARMS%) do call :NEQtest %%i 1
-for %%i in (%INT_PARMS%) do call :NEQtest %%i 10
-for %%i in (%INT_PARMS%) do call :NEQtest %%i 9
-for %%i in (%INT_PARMS%) do call :GEQtest %%i 0
-for %%i in (%INT_PARMS%) do call :GEQtest %%i 1
-for %%i in (%INT_PARMS%) do call :GEQtest %%i 10
-for %%i in (%INT_PARMS%) do call :GEQtest %%i 9
-for %%i in (%INT_PARMS%) do call :GTRtest %%i 0
-for %%i in (%INT_PARMS%) do call :GTRtest %%i 1
-for %%i in (%INT_PARMS%) do call :GTRtest %%i 10
-for %%i in (%INT_PARMS%) do call :GTRtest %%i 9
+for %%i in (%INT_PARMS%) do (
+    for %%j in (%INT_PARMS%) do (
+        call :NEQtest %%i %%j))
+for %%i in (%INT_PARMS%) do (
+    for %%j in (%INT_PARMS%) do (
+        call :GEQtest %%i %%j))
+for %%i in (%INT_PARMS%) do (
+    for %%j in (%INT_PARMS%) do (
+        call :GTRtest %%i %%j))
 echo ------ for numbers and stringified numbers
 if not "1" EQU 1 (echo strings and integers not equal) else echo foo
 if not 1 EQU "1" (echo strings and integers not equal) else echo foo
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index d3612b6..1d42a96 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -446,15 +446,15 @@ numbers in quotes are handled as strings
 negative numbers as well at or_broken@NT4
 if /i seems to work for LSS
 A LSS B
-AB LSS B
-AA LSS B
 A LSS AB
-AA LSS AB
 A LSS BA
+A LSS AA
 B LSS BA
+AB LSS B
 AB LSS BA
+AA LSS B
+AA LSS AB
 AA LSS BA
-A LSS AA
 b LSS B at or_broken@NT4
 a LSS B at or_broken@NT4
 a LSS B insensitive
@@ -462,18 +462,18 @@ A LSS b
 A LSS b insensitive
 A LEQ A
 A LEQ B
-B LEQ B
-AB LEQ B
-AA LEQ B
 A LEQ AB
-AB LEQ AB
-AA LEQ AB
 A LEQ BA
+A LEQ AA
+B LEQ B
 B LEQ BA
+AB LEQ B
+AB LEQ AB
 AB LEQ BA
 BA LEQ BA
+AA LEQ B
+AA LEQ AB
 AA LEQ BA
-A LEQ AA
 AA LEQ AA
 b LEQ B at or_broken@NT4
 b LEQ B insensitive
@@ -487,51 +487,51 @@ AB EQU AB
 BA EQU BA
 AA EQU AA
 A EQU a insensitive
-B NEQ A
-AB NEQ A
-BA NEQ A
-AA NEQ A
 A NEQ B
-AB NEQ B
-BA NEQ B
-AA NEQ B
 A NEQ AB
-B NEQ AB
-BA NEQ AB
-AA NEQ AB
 A NEQ BA
-B NEQ BA
-AB NEQ BA
-AA NEQ BA
 A NEQ AA
+B NEQ A
+B NEQ AB
+B NEQ BA
 B NEQ AA
+AB NEQ A
+AB NEQ B
+AB NEQ BA
 AB NEQ AA
+BA NEQ A
+BA NEQ B
+BA NEQ AB
 BA NEQ AA
+AA NEQ A
+AA NEQ B
+AA NEQ AB
+AA NEQ BA
 A GEQ A
 B GEQ A
-AB GEQ A
-BA GEQ A
-AA GEQ A
 B GEQ B
-BA GEQ B
 B GEQ AB
+B GEQ AA
+AB GEQ A
 AB GEQ AB
+AB GEQ AA
+BA GEQ A
+BA GEQ B
 BA GEQ AB
 BA GEQ BA
-B GEQ AA
-AB GEQ AA
 BA GEQ AA
+AA GEQ A
 AA GEQ AA
 B GTR A
+B GTR AB
+B GTR AA
 AB GTR A
+AB GTR AA
 BA GTR A
-AA GTR A
 BA GTR B
-B GTR AB
 BA GTR AB
-B GTR AA
-AB GTR AA
 BA GTR AA
+AA GTR A
 ------ for numbers
 negative numbers handled
 negative numbers handled
@@ -542,19 +542,19 @@ also in negative form
 11 LSS 101
 0 LSS 1
 0 LSS 10
-1 LSS 10
-9 LSS 10
 0 LSS 9
+1 LSS 10
 1 LSS 9
+9 LSS 10
 0 LEQ 0
 0 LEQ 1
-1 LEQ 1
 0 LEQ 10
+0 LEQ 9
+1 LEQ 1
 1 LEQ 10
+1 LEQ 9
 10 LEQ 10
 9 LEQ 10
-0 LEQ 9
-1 LEQ 9
 9 LEQ 9
 0 EQU 0
 1 EQU 1
@@ -564,34 +564,34 @@ octal ok
 hexa ok
 string/hexa compare ok
 string/hexa compare ok
-1 NEQ 0
-10 NEQ 0
-9 NEQ 0
 0 NEQ 1
-10 NEQ 1
-9 NEQ 1
 0 NEQ 10
-1 NEQ 10
-9 NEQ 10
 0 NEQ 9
+1 NEQ 0
+1 NEQ 10
 1 NEQ 9
+10 NEQ 0
+10 NEQ 1
 10 NEQ 9
+9 NEQ 0
+9 NEQ 1
+9 NEQ 10
 0 GEQ 0
 1 GEQ 0
-10 GEQ 0
-9 GEQ 0
 1 GEQ 1
+10 GEQ 0
 10 GEQ 1
-9 GEQ 1
 10 GEQ 10
 10 GEQ 9
+9 GEQ 0
+9 GEQ 1
 9 GEQ 9
 1 GTR 0
 10 GTR 0
-9 GTR 0
 10 GTR 1
-9 GTR 1
 10 GTR 9
+9 GTR 0
+9 GTR 1
 ------ for numbers and stringified numbers
 strings and integers not equal
 strings and integers not equal




More information about the wine-cvs mailing list