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
212 file does not exist, ok
225 ------------ Testing circumflex escape character ------------
251 ------------ Testing chains ------------
386 b3:[b2:[b1,b2],b3]@or_broken@b3:[b2:,b3]
387 c4:[c3:[c2:[c1,c2],c3],c4]@or_broken@c4:[c3:[c2:,c3],c4]@or_broken@c4:[c3:,c4]
389 e3:[e2:[e1,e2],e3]@or_broken@e3:[e2:,e3]
390 f4:[f3:[f2:[f1,f2],f3],f4]@or_broken@f4:[f3:[f2:,f3],f4]@or_broken@f4:[f3:,f4]
403 --- chain else (if true)
431 --- chain else (if false)
444 ------------ Testing 'set' ------------
447 WINE_FOOBAR not defined
457 WINE_FOOBAR not defined
464 set "WINE_FOO=bar" should not include the quotes in the variable value
477 ------------ Testing variable expansion ------------
478 ~p0 should be path containing batch file
481 ~dp0 should be directory containing batch file
484 CD value @pwd@@or_broken@CD value@space@
500 ------------ Testing variable substrings ------------
508 ''@or_broken@'qwerty'
510 ------------ Testing variable substitution ------------
518 @drive@@path@C D@or_broken@%~ff
519 @drive@@path@E@or_broken@%~ff
522 @path@@or_broken@%~pd
523 @path@@or_broken@%~pd
529 @todo_wine@'@drive@@shortpath@R S'@or_broken@''
530 @todo_wine@'@drive@@shortpath@T'@or_broken@''
531 @todo_wine@'@drive@@shortpath@ABCDEFGHIJK.LMNOP'@or_broken@''
534 '--a------'@or_broken@'--a--------'@or_broken@'--a--c---'@or_broken@'%~ai'
565 @todo_wine@'@drive@@shortpath@R S'@or_broken@''
566 @todo_wine@'@drive@@shortpath@T'@or_broken@''
567 @todo_wine@'@drive@@shortpath@ABCDEFGHIJK.LMNOP'@or_broken@''
576 ------------ Testing variable delayed expansion ------------
577 --- default mode (load-time expansion)
582 --- runtime (delayed) expansion mode
584 foo@or_broken@!WINE_FOO!
591 --- using /V cmd flag
593 foo@or_broken@!WINE_FOO!
596 ------------ Testing conditional execution ------------
597 --- unconditional ampersand
602 --- on success conditional and
603 @todo_wine@foo3 not created
606 --- on failure conditional or
609 @todo_wine@------------ Testing cd ------------
611 Current dir: @drive@@path@foobar@or_broken@Current dir:@space@
620 @drive@@path@foobar\bar bak
621 @drive@@path@foobar\bar bak
622 @drive@@path@foobar\bar bak
623 @drive@@path@foobar\bar bak
624 @drive@@path@foobar\bar bak
627 ------------ Testing type ------------
629 @pwd@>type foobaz@space@
632 @pwd@>echo ---@space@
640 ------------ Testing NUL ------------
646 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
647 Passed: file size check on b.b [8]@or_broken@Skipping file size check on NT4
648 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
649 Passed: file size check on b.b [8]@or_broken@Skipping file size check on NT4
650 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
651 Passed: file size check on subdir\a.a [8]@or_broken@Skipping file size check on NT4
652 ------------ Testing if/else ------------
653 --- if/else should work with blocks
656 if seems not to detect /c as parameter
657 else if seems to work
658 else if seems to work
659 else if seems to work
660 --- case sensitivity with and without /i option
661 if seems to default to case sensitivity
664 --- string comparisons
677 --- comparison operators
679 LSS string can be used as operand for LSS comparison
680 floats are handled as strings
681 numbers in quotes are handled as strings
682 negative numbers as well@or_broken@NT4
683 if /i seems to work for LSS
694 b LSS B@or_broken@NT4
695 a LSS B@or_broken@NT4
714 b LEQ B@or_broken@NT4
716 a LEQ B@or_broken@NT4
772 negative numbers handled
773 negative numbers handled
775 also in negative form
777 also in negative form
801 string/hexa compare ok
802 string/hexa compare ok
831 ------ for numbers and stringified numbers
832 strings and integers not equal
833 strings and integers not equal
836 '1' GEQ 1@or_broken@NT4
841 non NT4@or_broken@1 GEQ '1'
848 --- unconditional ampersand after if one line
861 ------------ Testing for ------------
920 Plain directory enumeration
921 Plain directory enumeration from provided root
923 File enumeration from provided root
925 Mixed enumeration from provided root
926 With duplicates enumeration
927 Strip missing wildcards, keep unwildcarded names
929 --- Complex wildcards unix and windows slash
930 Windows slashes, valid path
931 ASIS: foobar\baz\bazbaz
932 WC : foobar\baz\bazbaz
933 Windows slashes, invalid path
934 ASIS: foobar\jim\bazbaz
935 Unix slashes, valid path
936 ASIS: foobar/baz/bazbaz
938 Unix slashes, invalid path
939 ASIS: foobar/jim/bazbaz
974 ------ individual operations
976 WINE_foo correctly -1
979 WINE_foo correctly 10
982 WINE_foo correctly -4
986 WINE_foo correctly -2
989 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 1073741824 [0]
990 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly -1073741824 [0]
991 WINE_foo correctly -4
995 WINE_foo correctly -1
996 WINE_foo correctly -3
1000 WINE_foo correctly 4
1001 WINE_foo correctly 1
1002 WINE_foo correctly 5
1003 WINE_foo correctly 5
1004 WINE_foo correctly 7
1005 WINE_foo correctly 5
1006 WINE_foo correctly 5
1007 WINE_foo correctly 5
1008 WINE_foo correctly 4
1009 WINE_foo correctly 6
1010 WINE_foo correctly 1
1011 WINE_foo correctly 4
1012 ------ precedence and grouping
1013 WINE_foo correctly 10
1014 WINE_foo correctly 18@or_broken@ERROR: WINE_foo incorrectly [18]
1015 WINE_foo correctly 2@or_broken@ERROR: WINE_foo incorrectly 0 [2]
1016 WINE_foo correctly 2@or_broken@ERROR: WINE_foo incorrectly [2]
1017 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 4 [0]
1018 WINE_foo correctly 4@or_broken@ERROR: WINE_foo incorrectly [4]
1019 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly [3]
1020 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly [3]
1021 ------ octal and hexadecimal
1022 WINE_foo correctly 18
1023 WINE_foo correctly 18
1024 WINE_foo correctly 15
1025 WINE_foo correctly 3
1027 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
1028 WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
1029 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
1030 WINE_bar correctly 4@or_broken@ERROR: WINE_bar incorrectly [4]
1031 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
1032 WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
1033 WINE_baz correctly 4@or_broken@ERROR: WINE_baz incorrectly [4]
1034 WINE_foo correctly 9@or_broken@ERROR: WINE_foo incorrectly 3 [9]
1035 WINE_bar correctly 9@or_broken@ERROR: WINE_bar incorrectly 3 [9]
1036 WINE_foo correctly 0
1037 WINE_foo correctly 4
1038 WINE_bar correctly 4
1039 WINE_foo correctly -7@or_broken@ERROR: WINE_foo incorrectly 4 [-7]
1040 WINE_bar correctly -7@or_broken@ERROR: WINE_bar incorrectly 4 [-7]
1041 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly -7 [-1]
1042 WINE_bar correctly -1@or_broken@ERROR: WINE_bar incorrectly -7 [-1]
1043 WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
1044 WINE_bar correctly 1@or_broken@ERROR: WINE_bar incorrectly [1]
1045 WINE_foo correctly 4@or_broken@ERROR: WINE_foo incorrectly 1 [4]
1046 WINE_bar correctly 4@or_broken@ERROR: WINE_bar incorrectly 1 [4]
1047 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 4 [1]
1048 WINE_bar correctly 1@or_broken@ERROR: WINE_bar incorrectly 4 [1]
1049 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 1 [0]
1050 WINE_bar correctly 0@or_broken@ERROR: WINE_bar incorrectly 1 [0]
1051 WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
1052 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly [7]
1053 WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
1054 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly [7]
1055 WINE_foo correctly 19@or_broken@ERROR: WINE_foo incorrectly 0 [19]
1056 WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
1057 WINE_baz correctly 4
1059 WINE_foo correctly 1
1060 WINE_foo correctly 1
1061 WINE_foo correctly 1
1062 WINE_bar correctly 2
1063 WINE_foo correctly 1
1064 WINE_bar correctly 2
1065 WINE_foo correctly 1
1066 WINE_bar correctly 2
1067 WINE_foo correctly 1
1068 WINE_bar correctly 2
1069 WINE_foo correctly 1
1070 WINE_bar correctly 2
1071 WINE_baz correctly 3
1072 WINE_foo correctly 1
1073 WINE_bar correctly 2
1074 WINE_baz correctly 3
1075 WINE_foo correctly 1
1076 WINE_bar correctly 2
1077 WINE_baz correctly 3
1078 WINE_foo correctly 1
1079 WINE_bar correctly 2
1080 WINE_baz correctly 3
1081 WINE_foo correctly 1
1082 WINE_bar correctly 2
1083 WINE_baz correctly 3
1084 WINE_foo correctly 1
1085 WINE_foo correctly 1
1086 WINE_bar correctly 5
1087 WINE_baz correctly 2
1088 WINE_foo correctly 18
1089 WINE_foo correctly 3
1090 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly 4 [7]
1091 --- whitespace are ignored between double char operators
1092 WINE_foo correctly 10@or_broken@ERROR: WINE_foo incorrectly 4 [10]
1093 WINE_bar correctly 50@or_broken@ERROR: WINE_bar incorrectly 5 [50]
1094 WINE_foo correctly 772@or_broken@ERROR: WINE_foo incorrectly 4 [772]
1095 WINE_bar correctly 7720@or_broken@ERROR: WINE_bar incorrectly 5 [7720]
1096 --- invalid operator sequence
1099 ----- negative prefix
1100 WINE_foo correctly -1
1101 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1102 WINE_foo correctly 6
1103 WINE_foo correctly 0
1104 WINE_foo correctly 6
1105 WINE_foo correctly 2
1106 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
1107 WINE_foo correctly 5
1108 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly -5 [3]
1109 ----- assignment tests involving the end destination
1110 WINE_foo correctly 11@or_broken@ERROR: WINE_foo incorrectly 3 [11]
1111 WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 2 [6]
1112 WINE_bar correctly 9@or_broken@ERROR: WINE_bar incorrectly [9]
1113 WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 2 [6]
1114 WINE_bar correctly 10@or_broken@ERROR: WINE_bar incorrectly [10]
1115 WINE_baz correctly 7@or_broken@ERROR: WINE_baz incorrectly [7]
1116 WINE_foo correctly 7@or_broken@ERROR: WINE_foo incorrectly 2 [7]
1117 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly 2 [7]
1118 ----- equal precedence on stack
1119 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 0 [1]
1120 WINE_foo correctly 0
1121 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1122 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
1123 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1124 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly [-1]
1125 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly [-1]
1126 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1127 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
1128 WINE_foo correctly -1
1129 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly -1 [0]
1130 WINE_foo correctly 0
1131 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 0 [1]
1132 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly 0 [-1]
1133 WINE_foo correctly 25@or_broken@ERROR: WINE_foo incorrectly 20 [25]
1134 WINE_foo correctly 20
1135 WINE_foo correctly 1
1136 WINE_foo correctly 4
1137 WINE_foo correctly 7
1138 WINE_foo correctly 8@or_broken@ERROR: WINE_foo incorrectly 4 [8]
1139 WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 5 [6]
1140 WINE_bar correctly 6@or_broken@ERROR: WINE_bar incorrectly 5 [6]
1142 ------ string argument
1144 a@or_broken@no output
1146 a@or_broken@no output
1148 a@or_broken@no output
1150 a@or_broken@no output
1152 a@or_broken@no output
1153 ------ fileset argument
1154 --------- basic blank handling
1161 --------- multi-line with empty lines
1165 --------- multiple files
1176 ------ command argument
1177 Passed1@or_broken@Missing functionality - Broken1
1178 Passed2@or_broken@Missing functionality - Broken2
1179 Passed3@or_broken@Missing functionality - Broken3
1181 and@or_broken@Broken NT4 functionality1
1182 Line@or_broken@Broken NT4 functionality2
1183 Line@or_broken@Broken NT4 functionality3
1189 ------ delims option
1204 ------ tokens= option
1205 h=%h i=a j=%j k=%k l=%l m=%m o=%o
1206 h=%h i=b j=%j k=%k l=%l m=%m o=%o
1207 h=%h i=a j=c k=e l=f m=g o=%o
1208 h=%h i=a j=e k=f g l=%l m=%m o=%o
1209 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
1210 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
1211 h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o
1212 h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o
1213 h=%h i=a j=b k= l= m=%m n=%n o=%o
1214 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
1215 h=%h i=a j=b k= l= m= n=%n o=%o
1216 h=%h i=a j=b k= l= m= n= o=%o
1217 u=a v=b w=c x=d y=e z=f A=%A a=%a
1218 @todo_wine@U=a V=b W=c X=d Y=e Z=f A=%A a=m
1219 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
1220 h=%h i=e j=%j k=%k l=%l m=%m o=%o
1221 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
1222 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
1223 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
1224 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
1225 ------ parameter splitting
1226 :forFParameterSplittingFunc myparam1=myvalue1 myparam2=myparam2 mytest@space@@space@@space@
1227 :forFParameterSplittingFunc myparam1=myvalue1 myparam2=myparam2 mytest@space@@space@@space@
1228 ------------ Testing del ------------
1230 errorlevel is 0, good
1231 successfully deleted 'file'
1232 attempting to delete 'file', even though it is not present
1233 errorlevel is 0, good
1234 ------------ Testing del /a ------------
1235 not-r.test not found after delete, good
1236 r.test found before delete, good
1237 r.test not found after delete, good
1238 ------------ Testing del /q ------------
1239 del /q * succeeded on file1
1240 del /q * succeeded on file2.dat
1241 ------------ Testing del /s ------------
1242 ------------ Testing rename ------------
1243 --- ren and rename are synonymous
1249 --- rename read-only files
1250 read-only file renamed
1251 --- rename directories
1253 read-only dir renamed
1254 --- rename in other directory
1255 rename impossible in other directory
1256 original file still present
1257 ------------ Testing move ------------
1260 @todo_wine@file move with overwrite succeeded@or_broken@file overwrite impossible!
1261 @todo_wine@bar@or_broken@baz
1262 read-only files are moveable
1263 file moved in subdirectory
1264 moving a file to itself is a no-op@or_broken@moving a file to itself should be a no-op!
1265 ErrorLevel: 0@or_broken@ErrorLevel: 1
1267 simple directory move succeeded
1268 moving a directory to itself gives error; errlevel 1
1269 ------ dir in dir move
1273 ------------ Testing mkdir ------------
1274 --- md and mkdir are synonymous
1277 --- creating an already existing directory/file must fail
1280 --- multilevel path creation
1289 --- trailing backslashes
1294 mkdir ? gives errorlevel 1
1295 mkdir ?\foo gives errorlevel 1
1296 mkdir foo\? gives errorlevel 1
1298 mkdir foo\bar\? gives errorlevel 1
1300 --- multiple directories at once
1307 mkdir foo\* errorlevel 1
1309 ------------ Testing rmdir ------------
1318 non-empty dir not removed
1320 non-empty dir not removed
1321 recursive rmdir succeeded
1322 recursive rmdir succeeded
1327 ------------ Testing pushd/popd ------------
1329 --- popd is no-op when dir stack is empty
1331 --- pushing non-existing dir
1336 @drive@@path@foobar\baz
1342 ------------ Testing attrib ------------
1343 A @drive@@path@foobar\foo@or_broken@A @drive@@path@foobar\foo@or_broken@A I @drive@@path@foobar\foo
1344 --- read-only attribute
1345 A R @drive@@path@foobar\foo@or_broken@A R @drive@@path@foobar\foo@or_broken@A R I @drive@@path@foobar\foo
1347 foo original contents
1348 Read-only file not deleted
1349 Read-only file forcibly deleted
1350 --- recursive behaviour
1351 A @drive@@path@foobar\baz\level2@or_broken@A @drive@@path@foobar\baz\level2@or_broken@A I @drive@@path@foobar\baz\level2
1352 A R @drive@@path@foobar\level1@or_broken@A R @drive@@path@foobar\level1@or_broken@A R I @drive@@path@foobar\level1
1353 A R @drive@@path@foobar\baz\level2@or_broken@A R @drive@@path@foobar\baz\level2@or_broken@A R I @drive@@path@foobar\baz\level2
1354 A @drive@@path@foobar\bar@or_broken@A @drive@@path@foobar\bar@or_broken@A I @drive@@path@foobar\bar
1355 --- folders processing
1356 @drive@@path@foobar@or_broken@ @drive@@path@foobar@or_broken@ I @drive@@path@foobar
1357 @todo_wine@ R @drive@@path@foobar\baz@or_broken@ R @drive@@path@foobar\baz@or_broken@ @drive@@path@foobar\baz@or_broken@ R I @drive@@path@foobar\baz
1358 A @drive@@path@foobar\baz\toto@or_broken@A @drive@@path@foobar\baz\toto@or_broken@A I @drive@@path@foobar\baz\toto
1361 file created in read-only dir
1362 ------------ Testing assoc ------------
1363 --- setting association
1369 --- resetting association
1373 ------------ Testing ftype ------------
1374 --- setting association
1381 --- resetting association
1382 @todo_wine@original value@or_broken@buggyXP@or_broken@!WINE_FOO!
1383 ------------ Testing CALL ------------
1393 --- internal routines
1404 Should expand foobaz
1415 ------------ Testing SHIFT ------------
1416 'p1' 'p2' 'p3' 'p4' 'p5'
1417 'p2' 'p3' 'p4' 'p5' ''
1418 'p3' 'p4' 'p5' '' ''
1422 ------------ Testing cmd invocation ------------
1423 --- a batch file can delete itself
1424 file correctly deleted
1425 --- a batch file can alter itself
1427 ---------- Testing copy
1428 Passed: Found expected dummy.file
1429 Passed: Found expected dir1\file1
1430 Passed: Found expected dir1\file1
1431 Passed: Found expected dir1\file99
1432 Passed: Found expected file1
1433 Passed: Did not find dir2
1434 Passed: Did not find dir2\file1
1435 Passed: Found expected dir1\file1
1436 Passed: Found expected dir1\file2
1437 Passed: Found expected dir1\file3
1438 Passed: Found expected dir1\file1
1439 Passed: Found expected dir1\file2
1440 Passed: Found expected dir1\file3
1441 Passed: Found expected file1
1442 Passed: Found expected file2
1443 Passed: Found expected file3
1444 Passed: Did not find dir2
1445 Passed: Did not find dir2\file1
1446 Passed: Did not find dir2\file2
1447 Passed: Did not find dir2\file3
1448 Passed: Found expected testfile
1449 Passed: Found expected testfile
1450 Passed: Found expected testfile
1451 Passed: Found expected testfile
1452 Passed: Found expected testfile
1453 Passed: Found expected dir1\fred
1454 Passed: Found expected dir1\fred
1455 Passed: Found expected fred
1456 Passed: Found expected fred
1457 Passed: file size check on file1 [5]@or_broken@Skipping file size check on NT4
1458 Passed: file size check on file2 [8]@or_broken@Skipping file size check on NT4
1459 Passed: file size check on file3 [11]@or_broken@Skipping file size check on NT4
1460 Passed: file size check on file1_default [5]@or_broken@Skipping file size check on NT4
1461 Passed: file size check on file1_default2 [5]@or_broken@Skipping file size check on NT4
1462 Passed: file size check on file1_plus_eof [6]@or_broken@Skipping file size check on NT4
1463 Passed: file size check on file2_plus_eof [9]@or_broken@Skipping file size check on NT4
1464 Passed: file size check on file3_plus_eof [12]@or_broken@Skipping file size check on NT4
1465 Passed: file size check on file12_plus_eof [14]@or_broken@Skipping file size check on NT4
1466 Passed: file size check on file12_no_eof [13]@or_broken@Skipping file size check on NT4
1467 Passed: file size check on file12_eof2 [14]@or_broken@Skipping file size check on NT4
1468 Passed: file size check on file1 [24]@or_broken@Skipping file size check on NT4
1469 Passed: file size check on file2 [16]@or_broken@Skipping file size check on NT4
1470 Passed: file size check on file3 [13]@or_broken@Skipping file size check on NT4
1471 Passed: file size check on file1_binary_srccopy [6]@or_broken@Skipping file size check on NT4
1472 Passed: file size check on file1_ascii_srccopy [5]@or_broken@Skipping file size check on NT4
1473 Passed: file size check on file123_default_copy [25]@or_broken@Skipping file size check on NT4
1474 Passed: file size check on file123_ascii_copy [25]@or_broken@Skipping file size check on NT4
1475 Passed: file size check on file123_binary_copy [27]@or_broken@Skipping file size check on NT4
1476 Passed: file size check on file123_mixed_copy1 [26]@or_broken@Skipping file size check on NT4
1477 Passed: file size check on file123_mixed_copy2 [27]@or_broken@Skipping file size check on NT4
1478 Passed: file size check on file123_mixed_copy3 [26]@or_broken@Skipping file size check on NT4
1479 Passed: file size check on file123_mixed_copy4 [25]@or_broken@Skipping file size check on NT4
1480 Passed: file size check on file123_mixed_copy5 [28]@or_broken@Skipping file size check on NT4
1481 Passed: file size check on file123_mixed_copy6 [19]@or_broken@Skipping file size check on NT4
1482 Passed: file size check on file123_mixed_copy7 [6]@or_broken@Skipping file size check on NT4
1483 Passed: file size check on file123_mixed_copy8 [7]@or_broken@Skipping file size check on NT4
1484 Passed: errorlevel invalid check 1
1485 Passed: Did not find dir1\file1
1486 Passed: errorlevel invalid check 2
1487 Passed: errorlevel invalid check 3
1488 ------------ Testing setlocal/endlocal ------------
1489 --- enable/disable extensions
1490 @todo_wine@ErrLev:@space@
1493 @todo_wine@ErrLev:@space@@or_broken@ErrLev: 0
1495 --- setlocal with corresponding endlocal
1498 @drive@@path@foobar\foobar2
1503 --- setlocal with no corresponding endlocal
1506 @drive@@path@foobar\foobar2
1509 --- setlocal within same batch program
1522 --- Mismatched set and end locals
1523 --- Extra setlocal in called batch
1526 @drive@@path@foobar\foodir3
1529 @drive@@path@foobar\foodir2
1532 --- Extra endlocal in called batch
1535 @drive@@path@foobar\foodir2
1537 @drive@@path@foobar\foodir2
1540 @drive@@path@foobar\foodir2
1543 --- endlocal in called function rather than batch pgm is ineffective
1552 ------------ Testing Errorlevel ------------
1555 errorlevel just right, good
1556 errorlevel with leading zero just right, good
1557 errorlevel with negative number OK
1558 abc0def@or_broken@abc1def
1559 errorlevel zero, good@or_broken@errorlevel nonzero, bad
1562 ------------ Testing GOTO ------------
1563 goto with no leading space worked
1564 goto with colon and no leading space worked
1565 goto with a leading space worked
1566 goto with a leading tab worked
1567 goto with a following space worked
1568 goto with following amphersands worked
1569 goto with redirections worked
1570 Ignoring double colons worked
1571 label with mixed whitespace and no echo worked
1572 Correctly ignored trailing information
1573 ------------ Testing PATH ------------
1577 ------------ Testing combined CALLs/GOTOs ------------