2 @pwd@
>echo Tests
for cmd
's builtin commands@space@
3 Tests for cmd's builtin commands
5 @pwd@
>echo
------------ Testing
'echo' [ON] ------------@space@
6 ------------ Testing
'echo' [ON] ------------
11 @pwd@
>echo
'singlequotedword'@space@
14 @pwd@
>echo
"doublequotedword"@space@
18 @pwd@
>echo
"/?"@space@
30 @pwd@
>echo .word@space@
42 @pwd@
>echo
:word@space@
54 @pwd@
>echo
/word@space@
57 @pwd@
>echo
off now@space@
60 @pwd@
>echo word@space@@space@
63 @pwd@
>echo word@space@@space@@space@
66 @pwd@
>echo word@space@
69 @pwd@
>echo@tab@word@space@
72 @pwd@
>echo@tab@word@space@@tab@@space@
75 @pwd@
>echo@tab@word@tab@@space@@space@
78 @pwd@
>echo word@space@
81 @pwd@
>echo@space@@tab@word@space@
84 @pwd@
>echo@space@@space@@tab@word@space@
87 @pwd@
>echo@tab@@tab@word@space@
90 @pwd@
>echo @tab@
on @space@@space@
91 --- @ with chains and brackets
93 @todo_wine@@pwd@
>(echo the @ character chains until
&& ) && echo and can
hide brackets ||
() ||@space@
94 @todo_wine@the @ character chains until
95 @todo_wine@we leave the current depth
96 @todo_wine@and can
hide brackets
101 ------------ Testing
'echo' [OFF] ------------
130 ------------ Testing mixed echo modes
------------
138 @todo_wine@@pwd@
>if 1 == 1 echo foo@space@
141 @todo_wine@@pwd@
>if 1 == 1@space@
145 ------------ Testing parameterization
------------
153 'a[b]{c}(d)e', '', ''
159 ------------ Testing
rem ------------
161 @pwd@
>rem Hello@space@
163 @pwd@
>rem Hello@space@
165 @pwd@
>rem Hello || foo@space@
167 @pwd@
>rem echo lol@space@
169 @pwd@
>rem echo foo
& echo bar@space@
171 @pwd@
>rem @tab@ Hello@space@
173 @pwd@
>rem@tab@ Hello@space@
175 @pwd@
>rem@tab@echo foo
& echo bar@space@
176 ------------ Testing redirection operators
------------
177 --- stdout redirection
183 foo7@space@@or_broken@foo@tab@
184 foo9@space@@or_broken@foo@tab@
205 @todo_wine@foo7@space@@space@@or_broken@not supported@space@
206 @todo_wine@foo@or_broken@not supported
207 --- redirections within
IF statements
213 file does not exist
, ok
226 ------------ Testing circumflex escape character
------------
252 ------------ Testing chains
------------
387 b3
:[b2
:[b1
,b2
],b3
]@or_broken@b3
:[b2
:,b3
]
388 c4
:[c3
:[c2
:[c1
,c2
],c3
],c4
]@or_broken@c4
:[c3
:[c2
:,c3
],c4
]@or_broken@c4
:[c3
:,c4
]
390 e3
:[e2
:[e1
,e2
],e3
]@or_broken@e3
:[e2
:,e3
]
391 f4
:[f3
:[f2
:[f1
,f2
],f3
],f4
]@or_broken@f4
:[f3
:[f2
:,f3
],f4
]@or_broken@f4
:[f3
:,f4
]
404 --- chain
else (if true
)
433 --- chain
else (if false
)
446 ------------ Testing
'set' ------------
449 WINE_FOOBAR not defined
459 WINE_FOOBAR not defined
466 set "WINE_FOO=bar" should not include the quotes in the variable value
482 ------------ Testing 'choice
' ------------
483 @todo_wine@Example message [A,B,C]?A@or_broken@choice unavailable
484 @todo_wine@1@or_broken@9009
485 @todo_wine@Example message [A,B,C]?B@or_broken@choice unavailable
486 @todo_wine@2@or_broken@9009
487 @todo_wine@[D,E,F]?F@or_broken@choice unavailable
488 @todo_wine@3@or_broken@9009
489 @todo_wine@[A,B,C,X,Y,Z]?Y@or_broken@choice unavailable
490 @todo_wine@5@or_broken@9009
491 @todo_wine@A@or_broken@choice unavailable
492 @todo_wine@1@or_broken@9009
493 @todo_wine@[a,b,c,A,B,C]?A@or_broken@choice unavailable
494 @todo_wine@4@or_broken@9009
495 @todo_wine@255@or_broken@9009
496 ------------ Testing variable expansion ------------
497 ~p0 should be path containing batch file
500 ~dp0 should be directory containing batch file
503 CD value @pwd@@or_broken@CD value@space@
519 ------------ Testing variable substrings ------------
527 ''@or_broken@'qwerty
'
529 ------------ Testing variable substitution ------------
537 @drive@@path@C D@or_broken@%~ff
538 @drive@@path@E@or_broken@%~ff
541 @path@@or_broken@%~pd
542 @path@@or_broken@%~pd
548 '@drive@@shortpath@R S
'@or_broken@''
549 '@drive@@shortpath@T
'@or_broken@''
550 '@drive@@shortpath@ABCDEFGHIJK.LMNOP
'@or_broken@''
553 '--a
------'@or_broken@'--a
--------'@or_broken@'--a
--c
---'@or_broken@'%~ai
'
584 '@drive@@shortpath@R S
'@or_broken@''
585 '@drive@@shortpath@T
'@or_broken@''
586 '@drive@@shortpath@ABCDEFGHIJK.LMNOP
'@or_broken@''
595 ------------ Testing parameter zero ------------
597 [:func] [@drive@] [@path@] [test] [.cmd] [@drive@@shortpath@test.cmd]
598 ------------ Testing variable delayed expansion ------------
599 --- default mode (load-time expansion)
604 --- runtime (delayed) expansion mode
606 foo@or_broken@!WINE_FOO!
613 --- using /V cmd flag
615 foo@or_broken@!WINE_FOO!
618 ------------ Testing conditional execution ------------
619 --- unconditional ampersand
624 --- on success conditional and
625 @todo_wine@foo3 not created
628 --- on failure conditional or
631 @todo_wine@------------ Testing cd ------------
633 Current dir: @drive@@path@foobar@or_broken@Current dir:@space@
642 @drive@@path@foobar\bar bak
643 @drive@@path@foobar\bar bak
644 @drive@@path@foobar\bar bak
645 @drive@@path@foobar\bar bak
646 @drive@@path@foobar\bar bak
649 ------------ Testing type ------------
651 @pwd@>type foobaz@space@
654 @pwd@>echo ---@space@
676 ------------ Testing NUL ------------
682 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
683 Passed: file size check on b.b [8]@or_broken@Skipping file size check on NT4
684 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
685 Passed: file size check on b.b [8]@or_broken@Skipping file size check on NT4
686 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
687 Passed: file size check on subdir\a.a [8]@or_broken@Skipping file size check on NT4
688 ------------ Testing if/else ------------
689 --- if/else should work with blocks
692 if seems not to detect /c as parameter
693 else if seems to work
694 else if seems to work
695 else if seems to work
697 expected post-embedded if
698 comparison operators surrounded by brackets seem to work
699 comparison operators surrounded by brackets seem to work
700 comparison operators surrounded by brackets seem to work
701 comparison operators surrounded by brackets seem to work
704 --- case sensitivity with and without /i option
705 if seems to default to case sensitivity
708 --- string comparisons
721 --- comparison operators
723 LSS string can be used as operand for LSS comparison
724 floats are handled as strings
725 numbers in quotes are handled as strings
726 negative numbers as well@or_broken@NT4
727 if /i seems to work for LSS
738 b LSS B@or_broken@NT4
739 a LSS B@or_broken@NT4
758 b LEQ B@or_broken@NT4
760 a LEQ B@or_broken@NT4
815 ------------ Testing if/exist ------------
817 exist explicit unknown file works
818 exist explicit in subdir works
819 exist simple wildcard works
821 negate exist wildcard works
822 exist wildcard bad subdir broken works
824 exist subdir with . ok
825 exist subdir with \ ok
826 exist subdir with \ and quotes ok
828 negative numbers handled
829 negative numbers handled
831 also in negative form
833 also in negative form
857 string/hexa compare ok
858 string/hexa compare ok
887 ------ for numbers and stringified numbers
888 strings and integers not equal
889 strings and integers not equal
892 '1' GEQ 1@or_broken@NT4
897 non NT4@or_broken@1 GEQ '1'
904 --- unconditional ampersand after if one line
917 ------------ Testing for ------------
968 --- wildcards in subdirs
980 Plain directory enumeration
981 Plain directory enumeration from provided root
983 File enumeration from provided root
985 Mixed enumeration from provided root
986 With duplicates enumeration
987 Strip missing wildcards, keep unwildcarded names
989 --- Complex wildcards unix and windows slash
990 Windows slashes, valid path
991 ASIS: foobar\baz\bazbaz
992 WC : foobar\baz\bazbaz
993 Windows slashes, invalid path
994 ASIS: foobar\jim\bazbaz
995 Unix slashes, valid path
996 ASIS: foobar/baz/bazbaz
998 Unix slashes, invalid path
999 ASIS: foobar/jim/bazbaz
1033 --- rems inside for loops
1034 --- ifs inside for loops
1048 ------ individual operations
1049 WINE_foo correctly 3
1050 WINE_foo correctly -1
1051 WINE_foo correctly 3
1052 WINE_foo correctly 6
1053 WINE_foo correctly 10
1054 WINE_foo correctly 4
1055 WINE_foo correctly 4
1056 WINE_foo correctly -4
1057 WINE_foo correctly 0
1058 WINE_foo correctly 2
1059 WINE_foo correctly 2
1060 WINE_foo correctly -2
1061 WINE_foo correctly 1
1062 WINE_foo correctly 4
1063 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 1073741824 [0]
1064 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly -1073741824 [0]
1065 WINE_foo correctly -4
1066 WINE_foo correctly 9
1067 WINE_foo correctly 2
1068 WINE_foo correctly 0
1069 WINE_foo correctly -1
1070 WINE_foo correctly -3
1071 WINE_foo correctly 0
1072 WINE_foo correctly 1
1073 WINE_foo correctly 1
1074 WINE_foo correctly 4
1075 WINE_foo correctly 1
1076 WINE_foo correctly 5
1077 WINE_foo correctly 5
1078 WINE_foo correctly 7
1079 WINE_foo correctly 5
1080 WINE_foo correctly 5
1081 WINE_foo correctly 5
1082 WINE_foo correctly 4
1083 WINE_foo correctly 6
1084 WINE_foo correctly 1
1085 WINE_foo correctly 4
1086 ------ precedence and grouping
1087 WINE_foo correctly 10
1088 WINE_foo correctly 18@or_broken@ERROR: WINE_foo incorrectly [18]
1089 WINE_foo correctly 2@or_broken@ERROR: WINE_foo incorrectly 0 [2]
1090 WINE_foo correctly 2@or_broken@ERROR: WINE_foo incorrectly [2]
1091 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 4 [0]
1092 WINE_foo correctly 4@or_broken@ERROR: WINE_foo incorrectly [4]
1093 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly [3]
1094 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly [3]
1095 ------ octal and hexadecimal
1096 WINE_foo correctly 18
1097 WINE_foo correctly 18
1098 WINE_foo correctly 15
1099 WINE_foo correctly 3
1101 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
1102 WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
1103 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
1104 WINE_bar correctly 4@or_broken@ERROR: WINE_bar incorrectly [4]
1105 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
1106 WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
1107 WINE_baz correctly 4@or_broken@ERROR: WINE_baz incorrectly [4]
1108 WINE_foo correctly 9@or_broken@ERROR: WINE_foo incorrectly 3 [9]
1109 WINE_bar correctly 9@or_broken@ERROR: WINE_bar incorrectly 3 [9]
1110 WINE_foo correctly 0
1111 WINE_foo correctly 4
1112 WINE_bar correctly 4
1113 WINE_foo correctly -7@or_broken@ERROR: WINE_foo incorrectly 4 [-7]
1114 WINE_bar correctly -7@or_broken@ERROR: WINE_bar incorrectly 4 [-7]
1115 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly -7 [-1]
1116 WINE_bar correctly -1@or_broken@ERROR: WINE_bar incorrectly -7 [-1]
1117 WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
1118 WINE_bar correctly 1@or_broken@ERROR: WINE_bar incorrectly [1]
1119 WINE_foo correctly 4@or_broken@ERROR: WINE_foo incorrectly 1 [4]
1120 WINE_bar correctly 4@or_broken@ERROR: WINE_bar incorrectly 1 [4]
1121 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 4 [1]
1122 WINE_bar correctly 1@or_broken@ERROR: WINE_bar incorrectly 4 [1]
1123 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 1 [0]
1124 WINE_bar correctly 0@or_broken@ERROR: WINE_bar incorrectly 1 [0]
1125 WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
1126 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly [7]
1127 WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
1128 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly [7]
1129 WINE_foo correctly 19@or_broken@ERROR: WINE_foo incorrectly 0 [19]
1130 WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
1131 WINE_baz correctly 4
1133 WINE_foo correctly 1
1134 WINE_foo correctly 1
1135 WINE_foo correctly 1
1136 WINE_bar correctly 2
1137 WINE_foo correctly 1
1138 WINE_bar correctly 2
1139 WINE_foo correctly 1
1140 WINE_bar correctly 2
1141 WINE_foo correctly 1
1142 WINE_bar correctly 2
1143 WINE_foo correctly 1
1144 WINE_bar correctly 2
1145 WINE_baz correctly 3
1146 WINE_foo correctly 1
1147 WINE_bar correctly 2
1148 WINE_baz correctly 3
1149 WINE_foo correctly 1
1150 WINE_bar correctly 2
1151 WINE_baz correctly 3
1152 WINE_foo correctly 1
1153 WINE_bar correctly 2
1154 WINE_baz correctly 3
1155 WINE_foo correctly 1
1156 WINE_bar correctly 2
1157 WINE_baz correctly 3
1158 WINE_foo correctly 1
1159 WINE_foo correctly 1
1160 WINE_bar correctly 5
1161 WINE_baz correctly 2
1162 WINE_foo correctly 18
1163 WINE_foo correctly 3
1164 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly 4 [7]
1165 --- whitespace are ignored between double char operators
1166 WINE_foo correctly 10@or_broken@ERROR: WINE_foo incorrectly 4 [10]
1167 WINE_bar correctly 50@or_broken@ERROR: WINE_bar incorrectly 5 [50]
1168 WINE_foo correctly 772@or_broken@ERROR: WINE_foo incorrectly 4 [772]
1169 WINE_bar correctly 7720@or_broken@ERROR: WINE_bar incorrectly 5 [7720]
1170 --- invalid operator sequence
1173 ----- negative prefix
1174 WINE_foo correctly -1
1175 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1176 WINE_foo correctly 6
1177 WINE_foo correctly 0
1178 WINE_foo correctly 6
1179 WINE_foo correctly 2
1180 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
1181 WINE_foo correctly 5
1182 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly -5 [3]
1183 ----- assignment tests involving the end destination
1184 WINE_foo correctly 11@or_broken@ERROR: WINE_foo incorrectly 3 [11]
1185 WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 2 [6]
1186 WINE_bar correctly 9@or_broken@ERROR: WINE_bar incorrectly [9]
1187 WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 2 [6]
1188 WINE_bar correctly 10@or_broken@ERROR: WINE_bar incorrectly [10]
1189 WINE_baz correctly 7@or_broken@ERROR: WINE_baz incorrectly [7]
1190 WINE_foo correctly 7@or_broken@ERROR: WINE_foo incorrectly 2 [7]
1191 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly 2 [7]
1192 ----- equal precedence on stack
1193 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 0 [1]
1194 WINE_foo correctly 0
1195 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1196 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
1197 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1198 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly [-1]
1199 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly [-1]
1200 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1201 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
1202 WINE_foo correctly -1
1203 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly -1 [0]
1204 WINE_foo correctly 0
1205 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 0 [1]
1206 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly 0 [-1]
1207 WINE_foo correctly 25@or_broken@ERROR: WINE_foo incorrectly 20 [25]
1208 WINE_foo correctly 20
1209 WINE_foo correctly 1
1210 WINE_foo correctly 4
1211 WINE_foo correctly 7
1212 WINE_foo correctly 8@or_broken@ERROR: WINE_foo incorrectly 4 [8]
1213 WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 5 [6]
1214 WINE_bar correctly 6@or_broken@ERROR: WINE_bar incorrectly 5 [6]
1216 ------ string argument
1219 a@or_broken@no output
1220 XaX@or_broken@no output
1222 a@or_broken@no output
1224 a@or_broken@no output
1226 a@or_broken@no output
1228 a@or_broken@no output
1229 ------ fileset argument
1230 --------- basic blank handling
1237 --------- multi-line with empty lines
1241 --------- multiple files
1252 ------ command argument
1253 Passed1@or_broken@Missing functionality - Broken1
1254 Passed2@or_broken@Missing functionality - Broken2
1255 Passed3@or_broken@Missing functionality - Broken3
1256 Passed4@or_broken@Missing functionality - Broken4
1257 Passed5@or_broken@Missing functionality - Broken5
1258 Passed6@or_broken@Missing functionality - Broken6
1259 Passed7@or_broken@Missing functionality - Broken7
1261 and@or_broken@Broken NT4 functionality1
1262 Line@or_broken@Broken NT4 functionality2
1263 Line@or_broken@Broken NT4 functionality3
1269 ------ delims option
1284 ------ tokens= option
1285 h=%h i=a j=%j k=%k l=%l m=%m o=%o
1286 h=%h i=b j=%j k=%k l=%l m=%m o=%o
1287 h=%h i=a j=c k=e l=f m=g o=%o
1288 h=%h i=a j=e k=f g l=%l m=%m o=%o
1289 h=%h i=f j=i k=j k l m n o p q r s t u v w x y z l=%l m=%m o=%o
1290 h=%h i=f j=i k=j k l m n;;== o p q r s t u v w x y z l=%l m=%m o=%o
1291 h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o
1292 h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o
1293 h=%h i=a j=b k= l= m=%m n=%n o=%o
1294 h=%h i=a j=e k=y l=z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z m=%m n=%n o=%o
1295 h=%h i=a j=b k= l= m= n=%n o=%o
1296 h=%h i=a j=b k= l= m= n= o=%o
1297 u=a v=b w=c x=d y=e z=f A=%A a=%a
1298 @todo_wine@U=a V=b W=c X=d Y=e Z=f A=%A a=m
1299 h=%h i=a j=b k=c l=e m=%m o=%o@or_broken@h=%h i=a j=b k=c l=e m= o=%o
1300 h=%h i=e j=%j k=%k l=%l m=%m o=%o
1301 h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o@or_broken@h=%h i=a j=b k=c l=d e f g m= n=%n o=%o
1302 h=%h i=a j=c k= l= m=%m n=%n o=%o@or_broken@h=%h i=a j=c k= l= m= n=%n o=%o
1303 h=%h i=b j=c k= l= m=%m n=%n o=%o@or_broken@h=%h i=b j=c k= l= m= n=%n o=%o
1304 h=%h i=b j=c k= l= m=%m n=%n o=%o@or_broken@h=%h i=b j=c k= l= m= n=%n o=%o
1308 ------ parameter splitting
1309 :forFParameterSplittingFunc myparam1=myvalue1 myparam2=myparam2 mytest@space@@space@@space@
1310 :forFParameterSplittingFunc myparam1=myvalue1 myparam2=myparam2 mytest@space@@space@@space@
1314 ------------ Testing del ------------
1316 errorlevel is 0, good
1317 successfully deleted 'file
'
1318 attempting to delete 'file
', even though it is not present
1319 errorlevel is 0, good
1320 ------------ Testing del /a ------------
1321 not-r.test not found after delete, good
1322 r.test found before delete, good
1323 r.test not found after delete, good
1324 ------------ Testing del /q ------------
1325 del /q * succeeded on file1
1326 del /q * succeeded on file2.dat
1327 ------------ Testing del /s ------------
1328 ------------ Testing rename ------------
1329 --- ren and rename are synonymous
1335 --- rename read-only files
1336 read-only file renamed
1337 --- rename directories
1339 read-only dir renamed
1340 --- rename in other directory
1341 rename impossible in other directory
1342 original file still present
1343 ------------ Testing move ------------
1346 file move with overwrite succeeded@or_broken@file overwrite impossible!
1348 read-only files are moveable
1349 file moved in subdirectory
1350 moving a file to itself is a no-op@or_broken@moving a file to itself should be a no-op!
1351 ErrorLevel: 0@or_broken@ErrorLevel: 1
1353 simple directory move succeeded
1354 moving a directory to itself gives error; errlevel 1
1355 ------ dir in dir move
1359 ------------ Testing mkdir ------------
1360 --- md and mkdir are synonymous
1363 --- creating an already existing directory/file must fail
1366 --- multilevel path creation
1375 --- trailing backslashes
1380 mkdir ? gives errorlevel 1
1381 mkdir ?\foo gives errorlevel 1
1382 mkdir foo\? gives errorlevel 1
1384 mkdir foo\bar\? gives errorlevel 1
1386 --- multiple directories at once
1393 mkdir foo\* errorlevel 1
1395 ------------ Testing rmdir ------------
1404 non-empty dir not removed
1406 non-empty dir not removed
1407 recursive rmdir succeeded
1408 recursive rmdir succeeded
1413 ------------ Testing pushd/popd ------------
1415 --- popd is no-op when dir stack is empty
1417 --- pushing non-existing dir
1422 @drive@@path@foobar\baz
1428 ------------ Testing attrib ------------
1429 A@spaces@@drive@@path@foobar\foo@or_broken@A I@spaces@@drive@@path@foobar\foo
1430 --- read-only attribute
1431 A R@spaces@@drive@@path@foobar\foo@or_broken@A R I@spaces@@drive@@path@foobar\foo
1433 foo original contents
1434 Read-only file not deleted
1435 Read-only file forcibly deleted
1436 --- recursive behaviour
1437 A@spaces@@drive@@path@foobar\baz\level2@or_broken@A I@spaces@@drive@@path@foobar\baz\level2
1438 A R@spaces@@drive@@path@foobar\level1@or_broken@A R I@spaces@@drive@@path@foobar\level1
1439 A R@spaces@@drive@@path@foobar\baz\level2@or_broken@A R I@spaces@@drive@@path@foobar\baz\level2
1440 A@spaces@@drive@@path@foobar\bar@or_broken@A I@spaces@@drive@@path@foobar\bar
1441 --- folders processing
1442 @spaces@@drive@@path@foobar@or_broken@ I@spaces@@drive@@path@foobar
1443 @todo_wine@ R@spaces@@drive@@path@foobar\baz@or_broken@@spaces@@drive@@path@foobar\baz@or_broken@ R I@spaces@@drive@@path@foobar\baz
1444 A@spaces@@drive@@path@foobar\baz\toto@or_broken@A I@spaces@@drive@@path@foobar\baz\toto
1447 file created in read-only dir
1448 ------------ Testing assoc ------------
1449 --- setting association
1455 --- resetting association
1459 ------------ Testing ftype ------------
1460 --- setting association
1467 --- resetting association
1468 @todo_wine@original value@or_broken@buggyXP@or_broken@!WINE_FOO!
1469 ------------ Testing CALL ------------
1479 --- internal routines
1490 Should expand foobaz
1501 ------------ Testing SHIFT ------------
1502 'p1
' 'p2
' 'p3
' 'p4
' 'p5
'
1503 'p2
' 'p3
' 'p4
' 'p5
' ''
1504 'p3
' 'p4
' 'p5
' '' ''
1508 ------------ Testing cmd invocation ------------
1509 --- a batch file can delete itself
1510 file correctly deleted
1511 --- a batch file can alter itself
1513 ---------- Testing copy
1514 Passed: Found expected dummy.file
1515 Passed: Found expected dir1\file1
1516 Passed: Found expected dir1\file1
1517 Passed: Found expected dir1\file99
1518 Passed: Found expected file1
1519 Passed: Did not find dir2
1520 Passed: Did not find dir2\file1
1521 Passed: Found expected dir1\file1
1522 Passed: Found expected dir1\file2
1523 Passed: Found expected dir1\file3
1524 Passed: Found expected dir1\file1
1525 Passed: Found expected dir1\file2
1526 Passed: Found expected dir1\file3
1527 Passed: Found expected file1
1528 Passed: Found expected file2
1529 Passed: Found expected file3
1530 Passed: Did not find dir2
1531 Passed: Did not find dir2\file1
1532 Passed: Did not find dir2\file2
1533 Passed: Did not find dir2\file3
1534 Passed: Found expected testfile
1535 Passed: Found expected testfile
1536 Passed: Found expected testfile
1537 Passed: Found expected testfile
1538 Passed: Found expected testfile
1539 Passed: Found expected dir1\fred
1540 Passed: Found expected dir1\fred
1541 Passed: Found expected fred
1542 Passed: Found expected fred
1543 Passed: file size check on file1 [5]@or_broken@Skipping file size check on NT4
1544 Passed: file size check on file2 [8]@or_broken@Skipping file size check on NT4
1545 Passed: file size check on file3 [11]@or_broken@Skipping file size check on NT4
1546 Passed: file size check on file1_default [5]@or_broken@Skipping file size check on NT4
1547 Passed: file size check on file1_default2 [5]@or_broken@Skipping file size check on NT4
1548 Passed: file size check on file1_plus_eof [6]@or_broken@Skipping file size check on NT4
1549 Passed: file size check on file2_plus_eof [9]@or_broken@Skipping file size check on NT4
1550 Passed: file size check on file3_plus_eof [12]@or_broken@Skipping file size check on NT4
1551 Passed: file size check on file12_plus_eof [14]@or_broken@Skipping file size check on NT4
1552 Passed: file size check on file12_no_eof [13]@or_broken@Skipping file size check on NT4
1553 Passed: file size check on file12_eof2 [14]@or_broken@Skipping file size check on NT4
1554 Passed: file size check on file1 [24]@or_broken@Skipping file size check on NT4
1555 Passed: file size check on file2 [16]@or_broken@Skipping file size check on NT4
1556 Passed: file size check on file3 [13]@or_broken@Skipping file size check on NT4
1557 Passed: file size check on file1_binary_srccopy [6]@or_broken@Skipping file size check on NT4
1558 Passed: file size check on file1_ascii_srccopy [5]@or_broken@Skipping file size check on NT4
1559 Passed: file size check on file123_default_copy [25]@or_broken@Skipping file size check on NT4
1560 Passed: file size check on file123_ascii_copy [25]@or_broken@Skipping file size check on NT4
1561 Passed: file size check on file123_binary_copy [27]@or_broken@Skipping file size check on NT4
1562 Passed: file size check on file123_mixed_copy1 [26]@or_broken@Skipping file size check on NT4
1563 Passed: file size check on file123_mixed_copy2 [27]@or_broken@Skipping file size check on NT4
1564 Passed: file size check on file123_mixed_copy3 [26]@or_broken@Skipping file size check on NT4
1565 Passed: file size check on file123_mixed_copy4 [25]@or_broken@Skipping file size check on NT4
1566 Passed: file size check on file123_mixed_copy5 [28]@or_broken@Skipping file size check on NT4
1567 Passed: file size check on file123_mixed_copy6 [19]@or_broken@Skipping file size check on NT4
1568 Passed: file size check on file123_mixed_copy7 [6]@or_broken@Skipping file size check on NT4
1569 Passed: file size check on file123_mixed_copy8 [7]@or_broken@Skipping file size check on NT4
1570 Passed: errorlevel invalid check 1
1571 Passed: Did not find dir1\file1
1572 Passed: errorlevel invalid check 2
1573 Passed: errorlevel invalid check 3
1574 ------------ Testing setlocal/endlocal ------------
1575 --- enable/disable extensions
1576 @todo_wine@ErrLev:@space@
1579 @todo_wine@ErrLev:@space@@or_broken@ErrLev: 0
1581 --- setlocal with corresponding endlocal
1584 @drive@@path@foobar\foobar2
1589 --- setlocal with no corresponding endlocal
1592 @drive@@path@foobar\foobar2
1595 --- setlocal within same batch program
1608 --- Mismatched set and end locals
1609 --- Extra setlocal in called batch
1612 @drive@@path@foobar\foodir3
1615 @drive@@path@foobar\foodir2
1618 --- Extra endlocal in called batch
1621 @drive@@path@foobar\foodir2
1623 @drive@@path@foobar\foodir2
1626 @drive@@path@foobar\foodir2
1629 --- endlocal in called function rather than batch pgm is ineffective
1638 ------------ Testing Errorlevel ------------
1641 errorlevel just right, good
1642 errorlevel with leading zero just right, good
1643 errorlevel with negative number OK
1644 abc0def@or_broken@abc1def
1645 errorlevel zero, good@or_broken@errorlevel nonzero, bad
1648 ------------ Testing GOTO ------------
1649 goto with no leading space worked
1650 goto with colon and no leading space worked
1651 goto with a leading space worked
1652 goto with a leading tab worked
1653 goto with a following space worked
1654 goto with following amphersands worked
1655 goto with redirections worked
1656 Ignoring double colons worked
1657 label with mixed whitespace and no echo worked
1658 Correctly ignored trailing information
1672 ------------ Testing PATH ------------
1676 ------------ Testing start /W ------------
1677 start /W seems to really wait
1678 ------------ Testing changing the drive letter ----------
1681 Normal+space+garbage
1685 ------------ Testing combined CALLs/GOTOs ------------