[CMD_WINETEST] Sync with Wine Staging 4.0. CORE-15682
[reactos.git] / modules / rostests / winetests / cmd / test_builtins.cmd.exp
1
2 @pwd@>echo Tests for cmd's builtin commands@space@
3 Tests for cmd's builtin commands
4
5 @pwd@>echo ------------ Testing 'echo' [ON] ------------@space@
6 ------------ Testing 'echo' [ON] ------------
7
8 @pwd@>echo word@space@
9 word
10
11 @pwd@>echo 'singlequotedword'@space@
12 'singlequotedword'
13
14 @pwd@>echo "doublequotedword"@space@
15 "doublequotedword"
16 at-echoed-word
17
18 @pwd@>echo "/?"@space@
19 "/?"
20
21 @pwd@>echo.
22
23
24 @pwd@>echo .@space@
25 .
26
27 @pwd@>echo.word
28 word
29
30 @pwd@>echo .word@space@
31 .word
32
33 @pwd@>echo:
34
35
36 @pwd@>echo :@space@
37 :
38
39 @pwd@>echo:word
40 word
41
42 @pwd@>echo :word@space@
43 :word
44
45 @pwd@>echo/
46
47
48 @pwd@>echo /@space@
49 /
50
51 @pwd@>echo/word
52 word
53
54 @pwd@>echo /word@space@
55 /word
56
57 @pwd@>echo off now@space@
58 off now
59
60 @pwd@>echo word@space@@space@
61 word@space@
62
63 @pwd@>echo word@space@@space@@space@
64 word@space@@space@
65
66 @pwd@>echo word@space@
67 word
68
69 @pwd@>echo@tab@word@space@
70 word
71
72 @pwd@>echo@tab@word@space@@tab@@space@
73 word@space@@tab@
74
75 @pwd@>echo@tab@word@tab@@space@@space@
76 word@tab@@space@
77
78 @pwd@>echo word@space@
79 word
80
81 @pwd@>echo@space@@tab@word@space@
82 @tab@word
83
84 @pwd@>echo@space@@space@@tab@word@space@
85 @space@@tab@word
86
87 @pwd@>echo@tab@@tab@word@space@
88 @tab@word
89
90 @pwd@>echo @tab@ on @space@@space@
91 --- @ with chains and brackets
92
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
97 @todo_wine@---
98 noecho1
99 noecho2
100 echo3
101 ------------ Testing 'echo' [OFF] ------------
102 word
103 'singlequotedword'
104 "doublequotedword"
105 at-echoed-word
106 "/?"
107
108 .
109 word
110 .word
111
112 :
113 word
114 :word
115
116 /
117 word
118 /word
119 on again
120 word@space@
121 word@space@@space@
122 word
123 word
124 word@space@@tab@
125 word@tab@@space@
126 word
127 @tab@word
128 @space@@tab@word
129 @tab@word
130 ------------ Testing mixed echo modes ------------
131 @echo on
132 if 1==1 echo foo
133 if 1==1 @echo bar
134 @echo off
135 if 1==1 echo foo2
136 if 1==1 @echo bar2
137
138 @todo_wine@@pwd@>if 1 == 1 echo foo@space@
139 foo
140
141 @todo_wine@@pwd@>if 1 == 1@space@
142 bar
143 foo2
144 bar2
145 ------------ Testing parameterization ------------
146 'a', 'b', 'c'
147 '"a b c"', '', ''
148 '"a b"\c', '', ''
149 'a', '~`+', '.{}!+b'
150 'a', 'b', ''
151 '"a;b"', '', ''
152 'a', 'b', ''
153 'a[b]{c}(d)e', '', ''
154 'a', '', ''
155 second line
156 'a', 'b', 'c'
157 'a', 'b', 'c'
158 'a', 'b', ''
159 ------------ Testing rem ------------
160
161 @pwd@>rem Hello@space@
162
163 @pwd@>rem Hello@space@
164
165 @pwd@>rem Hello || foo@space@
166
167 @pwd@>rem echo lol@space@
168
169 @pwd@>rem echo foo & echo bar@space@
170
171 @pwd@>rem @tab@ Hello@space@
172
173 @pwd@>rem@tab@ Hello@space@
174
175 @pwd@>rem@tab@echo foo & echo bar@space@
176 ------------ Testing redirection operators ------------
177 --- stdout redirection
178 foo
179 foo@space@
180 foo@tab@
181 foo@space@
182 foo@tab@
183 foo7@space@@or_broken@foo@tab@
184 foo9@space@@or_broken@foo@tab@
185 foo1
186 foo11
187 foo12
188 foo13
189 foo14
190 foo15
191 --- stdout appending
192 foo
193 foo@space@
194 foob@space@
195 foob@space@
196 fooc@space@
197 foob@space@
198 fooc@space@
199 food1
200 foob@space@
201 fooc@space@
202 food1
203 food2
204 food21
205 @todo_wine@foo7@space@@space@@or_broken@not supported@space@
206 @todo_wine@foo@or_broken@not supported
207 --- redirections within IF statements
208 foo1
209 foo2
210 -----
211 foo2
212 foo3
213 file does not exist, ok
214 foo4
215 baz5
216 baz6@space@
217 baz7
218 baz8
219 baz
220 foo@space@
221 baz
222 foo
223 A
224 B
225 C
226 ------------ Testing circumflex escape character ------------
227 hello, world
228 hello, world
229 hell^o, world
230 hell^o, world
231 helloworld
232 hello
233 world
234 hello
235
236 finished
237 baz
238 baz
239 foo | echo bar
240 foo & echo bar
241 bak &
242 baz@space@
243 0@or_broken@1
244 foo > foo
245 <
246 ffoof
247 WINE_FOO=bar | baz
248 0
249 WINE_FOO=bar ^| baz
250 bar | baz
251 0
252 ------------ Testing chains ------------
253 --- chain success
254 a1
255 a2
256 b1
257 b2
258 c1
259 @todo_wine@---
260 d1
261 d2
262 d3
263 e1
264 e2
265 e3
266 f1
267 f2
268 @todo_wine@---
269 g1
270 g2
271 g3
272 h1
273 h2
274 h3
275 i1
276 i2
277 @todo_wine@---
278 j1
279 @todo_wine@j3
280 @todo_wine@---
281 k1
282 @todo_wine@---
283 l1
284 @todo_wine@---
285 --- chain failure
286 a1
287 a2
288 b1
289 @todo_wine@---
290 c1
291 c2
292 d1
293 d2
294 d3
295 e1
296 e2
297 @todo_wine@---
298 f1
299 f2
300 f3
301 g1
302 @todo_wine@g3
303 @todo_wine@---
304 h1
305 @todo_wine@---
306 i1
307 @todo_wine@i3
308 @todo_wine@---
309 j1
310 j2
311 j3
312 k1
313 k2
314 @todo_wine@---
315 l1
316 l2
317 l3
318 --- chain brackets
319 a1
320 a2
321 a3
322 b1
323 b2
324 b3
325 c1
326 c2
327 @todo_wine@---
328 d1
329 d2
330 d3
331 e1
332 e2
333 e3
334 f1
335 f2
336 @todo_wine@---
337 g1
338 @todo_wine@---
339 h1
340 @todo_wine@---
341 i1
342 @todo_wine@---
343 j1
344 j2
345 j3
346 k1
347 k2
348 @todo_wine@---
349 l1
350 l2
351 l3
352 m1
353 @todo_wine@---
354 n1
355 @todo_wine@---
356 o1
357 @todo_wine@---
358 p1
359 p2
360 p3
361 q1
362 q2
363 @todo_wine@---
364 r1
365 r2
366 r3
367 --- chain pipe
368 @todo_wine@a@space@
369 @todo_wine@a@space@
370 ---
371 b2
372 c1
373 c3
374 d1
375 @todo_wine@---
376 e1
377 e3
378 f2
379 f3
380 g2
381 @todo_wine@---
382 h2
383 h3
384 i3
385 --- chain pipe input
386 a2:[a1,a2]
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]
389 d2:[d1,d2]
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]
392 --- chain else
393 a1
394 b2
395 @todo_wine@---
396 @todo_wine@c3
397 @todo_wine@---
398 @todo_wine@d3
399 @todo_wine@---
400 @todo_wine@---
401 @todo_wine@---
402 @todo_wine@---
403 @todo_wine@---
404 --- chain else (if true)
405 a1 else echo a2
406 b2 else echo b3
407 c1
408 c2 else echo c3
409 d1
410 @todo_wine@---
411 e1
412 e2 else echo e3
413 f3
414 g1 else echo g2
415 g3
416 h1 else echo h2
417 @todo_wine@---
418 i1 else echo i2
419 i3
420 @todo_wine@j2@space@
421 @todo_wine@---
422 k1
423 k2
424 l1
425 @todo_wine@---
426 m1
427 m2
428 n1
429 o1
430 p1
431 q1
432 @todo_wine@---
433 --- chain else (if false)
434 j3
435 ---
436 k3
437 l3
438 m3
439 n3
440 o2
441 o3
442 p2
443 @todo_wine@---
444 q2
445 q3
446 ------------ Testing 'set' ------------
447 1
448 0
449 WINE_FOOBAR not defined
450 baz
451 WINE_FOOBAR = baz
452 0
453 baz2
454 0
455 bar
456 WINE_FOOBAR= bar
457 WINE_FOOBAR = baz2
458 WINE_FOOBAR = baz2
459 WINE_FOOBAR not defined
460 1
461 bar
462 foobar
463 WINE_FOO not defined
464 WINE_BAZ=bazbaz
465 bazbaz
466 set "WINE_FOO=bar" should not include the quotes in the variable value
467 bar
468 foo
469 ''
470 'foo@space@'
471 'foo@tab@'
472 'value@space@'
473 'value'
474 'jim fred'
475 '"jim" fred'
476 'jim fred'
477 'jim'
478 'apple"banana"grape'
479 I'm here!@space@
480 I'm here!@space@
481 I'm here!@space@
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
498 @path@
499 @path@
500 ~dp0 should be directory containing batch file
501 @drive@@path@
502 @drive@@path@
503 CD value @pwd@@or_broken@CD value@space@
504 %
505 P
506 P
507 S
508 P
509 PS
510 ERRORLEVEL
511 0
512 00
513 0ERRORLEVEL
514 0
515 0%
516 P0
517 0S
518 P0S
519 ------------ Testing variable substrings ------------
520 q
521 qwe
522 er
523 'ty'@or_broken@''
524 't'@or_broken@''
525 ert@or_broken@qwerty
526 e@or_broken@qwerty
527 ''@or_broken@'qwerty'
528 r@or_broken@qwerty
529 ------------ Testing variable substitution ------------
530 --- in FOR variables
531 "A B"
532 C
533 "A B"
534 C
535 'A B'@or_broken@''
536 'C'@or_broken@''
537 @drive@@path@C D@or_broken@%~ff
538 @drive@@path@E@or_broken@%~ff
539 @drive@
540 @drive@
541 @path@@or_broken@%~pd
542 @path@@or_broken@%~pd
543 L M
544 N
545 '.OOL'
546 '.TABC'
547 ''
548 '@drive@@shortpath@R S'@or_broken@''
549 '@drive@@shortpath@T'@or_broken@''
550 '@drive@@shortpath@ABCDEFGHIJK.LMNOP'@or_broken@''
551 ''@or_broken@'%~ai'
552 ''@or_broken@'%~ai'
553 '--a------'@or_broken@'--a--------'@or_broken@'--a--c---'@or_broken@'%~ai'
554 '5'@or_broken@'%~zi'
555 ''@or_broken@'%~ti'
556 ''@or_broken@'%~ti'
557 ''@or_broken@'%~zi'
558 ''@or_broken@'%~zi'
559 @drive@@path@
560 @drive@@path@
561 @drive@
562 @drive@
563 @drive@
564 @drive@
565 ''
566 '.eh'
567 ',,,,,,,,,'
568 --- in parameters
569 "A B"
570 C
571 'A B'@or_broken@''
572 'C'@or_broken@''
573 @drive@@path@C D
574 @drive@@path@E
575 @drive@
576 @drive@
577 @path@
578 @path@
579 L M
580 N
581 '.OOL'
582 '.TABC'
583 ''
584 '@drive@@shortpath@R S'@or_broken@''
585 '@drive@@shortpath@T'@or_broken@''
586 '@drive@@shortpath@ABCDEFGHIJK.LMNOP'@or_broken@''
587 @drive@@path@
588 @drive@@path@
589 @drive@
590 @drive@
591 @drive@
592 @drive@
593 ''
594 '.eh'@or_broken@''
595 ------------ Testing parameter zero ------------
596 :func parm1
597 [:func] [@drive@] [@path@] [test] [.cmd] [@drive@@shortpath@test.cmd]
598 ------------ Testing variable delayed expansion ------------
599 --- default mode (load-time expansion)
600 foo
601 !WINE_FOO!
602 foo
603 foo
604 --- runtime (delayed) expansion mode
605 foo
606 foo@or_broken@!WINE_FOO!
607 foo
608 bar@or_broken@foo
609 0
610 0@or_broken@1
611 foo
612 !WINE_FOO!
613 --- using /V cmd flag
614 foo
615 foo@or_broken@!WINE_FOO!
616 foo
617 !WINE_FOO!
618 ------------ Testing conditional execution ------------
619 --- unconditional ampersand
620 foo1
621 bar2@space@
622 foo2
623 foobar deleted
624 --- on success conditional and
625 @todo_wine@foo3 not created
626 bar4@space@
627 foo4
628 --- on failure conditional or
629 foo5
630 foo6@space@
631 @todo_wine@------------ Testing cd ------------
632 singleFile
633 Current dir: @drive@@path@foobar@or_broken@Current dir:@space@
634 @drive@@path@foobar
635 @pwd@
636 @drive@@path@foobar
637 @pwd@
638 @drive@@path@foobar
639 @pwd@
640 @pwd@
641 @pwd@
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
647 @pwd@
648 @drive@@path@foobar
649 ------------ Testing type ------------
650
651 @pwd@>type foobaz@space@
652 bar
653
654 @pwd@>echo ---@space@
655 ---
656 bar
657 ---1
658 bar
659 ---2
660 bar
661 ---3
662 ------------ Testing NUL ------------
663 bar
664 bar
665 bar
666 NUL
667 foo created
668 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
669 Passed: file size check on b.b [8]@or_broken@Skipping file size check on NT4
670 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
671 Passed: file size check on b.b [8]@or_broken@Skipping file size check on NT4
672 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
673 Passed: file size check on subdir\a.a [8]@or_broken@Skipping file size check on NT4
674 ------------ Testing if/else ------------
675 --- if/else should work with blocks
676 if seems to work
677 else seems to work
678 if seems not to detect /c as parameter
679 else if seems to work
680 else if seems to work
681 else if seems to work
682 expected1
683 expected post-embedded if
684 --- case sensitivity with and without /i option
685 if seems to default to case sensitivity
686 if /i seems to work
687 if /I seems to work
688 --- string comparisons
689 equal
690 non equal
691 non equal
692 equal
693 --- tabs handling
694 doom
695 doom
696 doom
697 lol
698 quake
699 quake
700 quake
701 --- comparison operators
702 ------ for strings
703 LSS string can be used as operand for LSS comparison
704 floats are handled as strings
705 numbers in quotes are handled as strings
706 negative numbers as well@or_broken@NT4
707 if /i seems to work for LSS
708 A LSS B
709 A LSS AB
710 A LSS BA
711 A LSS AA
712 B LSS BA
713 AB LSS B
714 AB LSS BA
715 AA LSS B
716 AA LSS AB
717 AA LSS BA
718 b LSS B@or_broken@NT4
719 a LSS B@or_broken@NT4
720 a LSS B insensitive
721 A LSS b
722 A LSS b insensitive
723 A LEQ A
724 A LEQ B
725 A LEQ AB
726 A LEQ BA
727 A LEQ AA
728 B LEQ B
729 B LEQ BA
730 AB LEQ B
731 AB LEQ AB
732 AB LEQ BA
733 BA LEQ BA
734 AA LEQ B
735 AA LEQ AB
736 AA LEQ BA
737 AA LEQ AA
738 b LEQ B@or_broken@NT4
739 b LEQ B insensitive
740 a LEQ B@or_broken@NT4
741 a LEQ B insensitive
742 A LEQ b
743 A LEQ b insensitive
744 A EQU A
745 B EQU B
746 AB EQU AB
747 BA EQU BA
748 AA EQU AA
749 A EQU a insensitive
750 A NEQ B
751 A NEQ AB
752 A NEQ BA
753 A NEQ AA
754 B NEQ A
755 B NEQ AB
756 B NEQ BA
757 B NEQ AA
758 AB NEQ A
759 AB NEQ B
760 AB NEQ BA
761 AB NEQ AA
762 BA NEQ A
763 BA NEQ B
764 BA NEQ AB
765 BA NEQ AA
766 AA NEQ A
767 AA NEQ B
768 AA NEQ AB
769 AA NEQ BA
770 A GEQ A
771 B GEQ A
772 B GEQ B
773 B GEQ AB
774 B GEQ AA
775 AB GEQ A
776 AB GEQ AB
777 AB GEQ AA
778 BA GEQ A
779 BA GEQ B
780 BA GEQ AB
781 BA GEQ BA
782 BA GEQ AA
783 AA GEQ A
784 AA GEQ AA
785 B GTR A
786 B GTR AB
787 B GTR AA
788 AB GTR A
789 AB GTR AA
790 BA GTR A
791 BA GTR B
792 BA GTR AB
793 BA GTR AA
794 AA GTR A
795 ------------ Testing if/exist ------------
796 exist explicit works
797 exist explicit unknown file works
798 exist explicit in subdir works
799 exist simple wildcard works
800 exist wildcard works
801 negate exist wildcard works
802 exist wildcard bad subdir broken works
803 exist subdir ok
804 exist subdir with . ok
805 exist subdir with \ ok
806 exist subdir with \ and quotes ok
807 ------ for numbers
808 negative numbers handled
809 negative numbers handled
810 octal handled
811 also in negative form
812 hexa handled
813 also in negative form
814 11 LSS 101
815 0 LSS 1
816 0 LSS 10
817 0 LSS 9
818 1 LSS 10
819 1 LSS 9
820 9 LSS 10
821 0 LEQ 0
822 0 LEQ 1
823 0 LEQ 10
824 0 LEQ 9
825 1 LEQ 1
826 1 LEQ 10
827 1 LEQ 9
828 10 LEQ 10
829 9 LEQ 10
830 9 LEQ 9
831 0 EQU 0
832 1 EQU 1
833 10 EQU 10
834 9 EQU 9
835 octal ok
836 hexa ok
837 string/hexa compare ok
838 string/hexa compare ok
839 0 NEQ 1
840 0 NEQ 10
841 0 NEQ 9
842 1 NEQ 0
843 1 NEQ 10
844 1 NEQ 9
845 10 NEQ 0
846 10 NEQ 1
847 10 NEQ 9
848 9 NEQ 0
849 9 NEQ 1
850 9 NEQ 10
851 0 GEQ 0
852 1 GEQ 0
853 1 GEQ 1
854 10 GEQ 0
855 10 GEQ 1
856 10 GEQ 10
857 10 GEQ 9
858 9 GEQ 0
859 9 GEQ 1
860 9 GEQ 9
861 1 GTR 0
862 10 GTR 0
863 10 GTR 1
864 10 GTR 9
865 9 GTR 0
866 9 GTR 1
867 ------ for numbers and stringified numbers
868 strings and integers not equal
869 strings and integers not equal
870 foo
871 "10" GEQ "1"
872 '1' GEQ 1@or_broken@NT4
873 1 GEQ "1"
874 "1" GEQ "1"
875 '1' GEQ "1"
876 "10" GEQ "1"
877 non NT4@or_broken@1 GEQ '1'
878 '1' GEQ '1'
879 foo
880 1 GEQ "10"
881 foo
882 '1' GEQ "10"
883 "10" GEQ "10"
884 --- unconditional ampersand after if one line
885 1@space@
886 2@space@
887 3 else echo 4
888 ---
889 x@space@
890 ---
891 x@space@
892 ---
893 x@space@
894 ---
895 x@space@
896 ---
897 ------------ Testing for ------------
898 --- plain FOR
899 A
900 B
901 C
902 %I
903 %I
904 %I
905 %j
906 %j
907 %j
908 A
909 B
910 C
911 1
912 4
913 1
914 A
915 B
916 C
917 X
918 X2
919 X3
920 foo
921 M
922 X
923 M
924 N
925 O
926 `echo
927 A
928 B`
929 'echo
930 A
931 B'
932 "echo A B"
933 "A B"
934 C
935 --- imbricated FORs
936 X Y
937 X Y
938 A C
939 A D
940 B C
941 B D
942 A C
943 A D
944 B C
945 B D
946 --- basic wildcards
947 bazbaz
948 --- wildcards in subdirs
949 pop\bar1@space@
950 pop\bar2.txt@space@
951 pop\bar3@space@
952 --- for /d
953 baz@space@
954 foo@space@
955 bar@space@
956 PASSED
957 xxx - Should be xxx
958 Expected second line
959 --- for /R
960 Plain directory enumeration
961 Plain directory enumeration from provided root
962 File enumeration
963 File enumeration from provided root
964 Mixed enumeration
965 Mixed enumeration from provided root
966 With duplicates enumeration
967 Strip missing wildcards, keep unwildcarded names
968 for /R passed
969 --- Complex wildcards unix and windows slash
970 Windows slashes, valid path
971 ASIS: foobar\baz\bazbaz
972 WC : foobar\baz\bazbaz
973 Windows slashes, invalid path
974 ASIS: foobar\jim\bazbaz
975 Unix slashes, valid path
976 ASIS: foobar/baz/bazbaz
977 WC : bazbaz
978 Unix slashes, invalid path
979 ASIS: foobar/jim/bazbaz
980 Done
981 --- for /L
982 1
983 3
984 5
985 1
986 3
987 5
988 0
989 2
990 1
991 -1
992 ErrorLevel 0
993 ErrorLevel 0
994 1
995 2
996 3
997 4
998 1
999 3
1000 4
1001 3
1002 2
1003 1
1004 4
1005 2
1006 0
1007 1
1008 1
1009 -1
1010 -1
1011 1
1012 3
1013 --- rems inside for loops
1014 --- ifs inside for loops
1015 a1
1016 b1
1017 d1
1018 a2
1019 b2
1020 d2
1021 a3
1022 c3
1023 d3
1024 a4
1025 c4
1026 d4
1027 --- set /a
1028 ------ individual operations
1029 WINE_foo correctly 3
1030 WINE_foo correctly -1
1031 WINE_foo correctly 3
1032 WINE_foo correctly 6
1033 WINE_foo correctly 10
1034 WINE_foo correctly 4
1035 WINE_foo correctly 4
1036 WINE_foo correctly -4
1037 WINE_foo correctly 0
1038 WINE_foo correctly 2
1039 WINE_foo correctly 2
1040 WINE_foo correctly -2
1041 WINE_foo correctly 1
1042 WINE_foo correctly 4
1043 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 1073741824 [0]
1044 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly -1073741824 [0]
1045 WINE_foo correctly -4
1046 WINE_foo correctly 9
1047 WINE_foo correctly 2
1048 WINE_foo correctly 0
1049 WINE_foo correctly -1
1050 WINE_foo correctly -3
1051 WINE_foo correctly 0
1052 WINE_foo correctly 1
1053 WINE_foo correctly 1
1054 WINE_foo correctly 4
1055 WINE_foo correctly 1
1056 WINE_foo correctly 5
1057 WINE_foo correctly 5
1058 WINE_foo correctly 7
1059 WINE_foo correctly 5
1060 WINE_foo correctly 5
1061 WINE_foo correctly 5
1062 WINE_foo correctly 4
1063 WINE_foo correctly 6
1064 WINE_foo correctly 1
1065 WINE_foo correctly 4
1066 ------ precedence and grouping
1067 WINE_foo correctly 10
1068 WINE_foo correctly 18@or_broken@ERROR: WINE_foo incorrectly [18]
1069 WINE_foo correctly 2@or_broken@ERROR: WINE_foo incorrectly 0 [2]
1070 WINE_foo correctly 2@or_broken@ERROR: WINE_foo incorrectly [2]
1071 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 4 [0]
1072 WINE_foo correctly 4@or_broken@ERROR: WINE_foo incorrectly [4]
1073 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly [3]
1074 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly [3]
1075 ------ octal and hexadecimal
1076 WINE_foo correctly 18
1077 WINE_foo correctly 18
1078 WINE_foo correctly 15
1079 WINE_foo correctly 3
1080 ------ variables
1081 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
1082 WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
1083 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
1084 WINE_bar correctly 4@or_broken@ERROR: WINE_bar incorrectly [4]
1085 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
1086 WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
1087 WINE_baz correctly 4@or_broken@ERROR: WINE_baz incorrectly [4]
1088 WINE_foo correctly 9@or_broken@ERROR: WINE_foo incorrectly 3 [9]
1089 WINE_bar correctly 9@or_broken@ERROR: WINE_bar incorrectly 3 [9]
1090 WINE_foo correctly 0
1091 WINE_foo correctly 4
1092 WINE_bar correctly 4
1093 WINE_foo correctly -7@or_broken@ERROR: WINE_foo incorrectly 4 [-7]
1094 WINE_bar correctly -7@or_broken@ERROR: WINE_bar incorrectly 4 [-7]
1095 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly -7 [-1]
1096 WINE_bar correctly -1@or_broken@ERROR: WINE_bar incorrectly -7 [-1]
1097 WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
1098 WINE_bar correctly 1@or_broken@ERROR: WINE_bar incorrectly [1]
1099 WINE_foo correctly 4@or_broken@ERROR: WINE_foo incorrectly 1 [4]
1100 WINE_bar correctly 4@or_broken@ERROR: WINE_bar incorrectly 1 [4]
1101 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 4 [1]
1102 WINE_bar correctly 1@or_broken@ERROR: WINE_bar incorrectly 4 [1]
1103 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 1 [0]
1104 WINE_bar correctly 0@or_broken@ERROR: WINE_bar incorrectly 1 [0]
1105 WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
1106 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly [7]
1107 WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
1108 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly [7]
1109 WINE_foo correctly 19@or_broken@ERROR: WINE_foo incorrectly 0 [19]
1110 WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
1111 WINE_baz correctly 4
1112 --- quotes
1113 WINE_foo correctly 1
1114 WINE_foo correctly 1
1115 WINE_foo correctly 1
1116 WINE_bar correctly 2
1117 WINE_foo correctly 1
1118 WINE_bar correctly 2
1119 WINE_foo correctly 1
1120 WINE_bar correctly 2
1121 WINE_foo correctly 1
1122 WINE_bar correctly 2
1123 WINE_foo correctly 1
1124 WINE_bar correctly 2
1125 WINE_baz correctly 3
1126 WINE_foo correctly 1
1127 WINE_bar correctly 2
1128 WINE_baz correctly 3
1129 WINE_foo correctly 1
1130 WINE_bar correctly 2
1131 WINE_baz correctly 3
1132 WINE_foo correctly 1
1133 WINE_bar correctly 2
1134 WINE_baz correctly 3
1135 WINE_foo correctly 1
1136 WINE_bar correctly 2
1137 WINE_baz correctly 3
1138 WINE_foo correctly 1
1139 WINE_foo correctly 1
1140 WINE_bar correctly 5
1141 WINE_baz correctly 2
1142 WINE_foo correctly 18
1143 WINE_foo correctly 3
1144 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly 4 [7]
1145 --- whitespace are ignored between double char operators
1146 WINE_foo correctly 10@or_broken@ERROR: WINE_foo incorrectly 4 [10]
1147 WINE_bar correctly 50@or_broken@ERROR: WINE_bar incorrectly 5 [50]
1148 WINE_foo correctly 772@or_broken@ERROR: WINE_foo incorrectly 4 [772]
1149 WINE_bar correctly 7720@or_broken@ERROR: WINE_bar incorrectly 5 [7720]
1150 --- invalid operator sequence
1151 4
1152 4
1153 ----- negative prefix
1154 WINE_foo correctly -1
1155 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1156 WINE_foo correctly 6
1157 WINE_foo correctly 0
1158 WINE_foo correctly 6
1159 WINE_foo correctly 2
1160 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
1161 WINE_foo correctly 5
1162 WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly -5 [3]
1163 ----- assignment tests involving the end destination
1164 WINE_foo correctly 11@or_broken@ERROR: WINE_foo incorrectly 3 [11]
1165 WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 2 [6]
1166 WINE_bar correctly 9@or_broken@ERROR: WINE_bar incorrectly [9]
1167 WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 2 [6]
1168 WINE_bar correctly 10@or_broken@ERROR: WINE_bar incorrectly [10]
1169 WINE_baz correctly 7@or_broken@ERROR: WINE_baz incorrectly [7]
1170 WINE_foo correctly 7@or_broken@ERROR: WINE_foo incorrectly 2 [7]
1171 WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly 2 [7]
1172 ----- equal precedence on stack
1173 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 0 [1]
1174 WINE_foo correctly 0
1175 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1176 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
1177 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1178 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly [-1]
1179 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly [-1]
1180 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
1181 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
1182 WINE_foo correctly -1
1183 WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly -1 [0]
1184 WINE_foo correctly 0
1185 WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 0 [1]
1186 WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly 0 [-1]
1187 WINE_foo correctly 25@or_broken@ERROR: WINE_foo incorrectly 20 [25]
1188 WINE_foo correctly 20
1189 WINE_foo correctly 1
1190 WINE_foo correctly 4
1191 WINE_foo correctly 7
1192 WINE_foo correctly 8@or_broken@ERROR: WINE_foo incorrectly 4 [8]
1193 WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 5 [6]
1194 WINE_bar correctly 6@or_broken@ERROR: WINE_bar incorrectly 5 [6]
1195 --- for /F
1196 ------ string argument
1197 a
1198 XaX
1199 a@or_broken@no output
1200 XaX@or_broken@no output
1201 a
1202 a@or_broken@no output
1203 a
1204 a@or_broken@no output
1205 a
1206 a@or_broken@no output
1207 a
1208 a@or_broken@no output
1209 ------ fileset argument
1210 --------- basic blank handling
1211 a
1212 a
1213 a
1214 a
1215 a
1216 b
1217 --------- multi-line with empty lines
1218 a
1219 b
1220 c
1221 --------- multiple files
1222 a
1223 b
1224 c
1225 q
1226 kkk
1227 q
1228 kkk
1229 a
1230 b
1231 c
1232 ------ command argument
1233 Passed1@or_broken@Missing functionality - Broken1
1234 Passed2@or_broken@Missing functionality - Broken2
1235 Passed3@or_broken@Missing functionality - Broken3
1236 Passed4@or_broken@Missing functionality - Broken4
1237 Passed5@or_broken@Missing functionality - Broken5
1238 Passed6@or_broken@Missing functionality - Broken6
1239 Passed7@or_broken@Missing functionality - Broken7
1240 ------ eol option
1241 and@or_broken@Broken NT4 functionality1
1242 Line@or_broken@Broken NT4 functionality2
1243 Line@or_broken@Broken NT4 functionality3
1244 ad
1245 z@y
1246 a|d
1247 no output
1248 no output
1249 ------ delims option
1250 a
1251 a@space@
1252 a d
1253 a
1254 C r
1255 foo bar baz
1256 c:\
1257 ------ skip option
1258 c
1259 no output
1260 no output
1261 c
1262 c
1263 no output
1264 ------ tokens= option
1265 h=%h i=a j=%j k=%k l=%l m=%m o=%o
1266 h=%h i=b j=%j k=%k l=%l m=%m o=%o
1267 h=%h i=a j=c k=e l=f m=g o=%o
1268 h=%h i=a j=e k=f g l=%l m=%m o=%o
1269 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
1270 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
1271 h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o
1272 h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o
1273 h=%h i=a j=b k= l= m=%m n=%n o=%o
1274 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
1275 h=%h i=a j=b k= l= m= n=%n o=%o
1276 h=%h i=a j=b k= l= m= n= o=%o
1277 u=a v=b w=c x=d y=e z=f A=%A a=%a
1278 @todo_wine@U=a V=b W=c X=d Y=e Z=f A=%A a=m
1279 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
1280 h=%h i=e j=%j k=%k l=%l m=%m o=%o
1281 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
1282 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
1283 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
1284 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
1285 1:3.14,%B
1286 2:3.14,
1287 4:3,14
1288 ------ parameter splitting
1289 :forFParameterSplittingFunc myparam1=myvalue1 myparam2=myparam2 mytest@space@@space@@space@
1290 :forFParameterSplittingFunc myparam1=myvalue1 myparam2=myparam2 mytest@space@@space@@space@
1291 4:3.14,%B
1292 5:3,14
1293 6:14,
1294 ------------ Testing del ------------
1295 deleting 'file'
1296 errorlevel is 0, good
1297 successfully deleted 'file'
1298 attempting to delete 'file', even though it is not present
1299 errorlevel is 0, good
1300 ------------ Testing del /a ------------
1301 not-r.test not found after delete, good
1302 r.test found before delete, good
1303 r.test not found after delete, good
1304 ------------ Testing del /q ------------
1305 del /q * succeeded on file1
1306 del /q * succeeded on file2.dat
1307 ------------ Testing del /s ------------
1308 ------------ Testing rename ------------
1309 --- ren and rename are synonymous
1310 foo renamed to bar
1311 bar renamed to foo
1312 --- name collision
1313 foo
1314 bar
1315 --- rename read-only files
1316 read-only file renamed
1317 --- rename directories
1318 dir renamed
1319 read-only dir renamed
1320 --- rename in other directory
1321 rename impossible in other directory
1322 original file still present
1323 ------------ Testing move ------------
1324 --- file move
1325 file move succeeded
1326 @todo_wine@file move with overwrite succeeded@or_broken@file overwrite impossible!
1327 @todo_wine@bar@or_broken@baz
1328 read-only files are moveable
1329 file moved in subdirectory
1330 moving a file to itself is a no-op@or_broken@moving a file to itself should be a no-op!
1331 ErrorLevel: 0@or_broken@ErrorLevel: 1
1332 --- directory move
1333 simple directory move succeeded
1334 moving a directory to itself gives error; errlevel 1
1335 ------ dir in dir move
1336 foo
1337 bar2
1338 foo2
1339 ------------ Testing mkdir ------------
1340 --- md and mkdir are synonymous
1341 0
1342 0
1343 --- creating an already existing directory/file must fail
1344 1
1345 1
1346 --- multilevel path creation
1347 0
1348 0
1349 0
1350 0
1351 0
1352 1
1353 0
1354 0
1355 --- trailing backslashes
1356 0
1357 dir created
1358 0
1359 --- invalid chars
1360 mkdir ? gives errorlevel 1
1361 mkdir ?\foo gives errorlevel 1
1362 mkdir foo\? gives errorlevel 1
1363 ok, foo created
1364 mkdir foo\bar\? gives errorlevel 1
1365 ok, foo\bar created
1366 --- multiple directories at once
1367 foo created
1368 bar created
1369 foobar created
1370 bar\baz created
1371 bazbaz created
1372 zabzab created
1373 mkdir foo\* errorlevel 1
1374 ok, foo created
1375 ------------ Testing rmdir ------------
1376 0
1377 dir removed
1378 0
1379 dir removed
1380 0
1381 0
1382 file not removed
1383 0
1384 non-empty dir not removed
1385 0
1386 non-empty dir not removed
1387 recursive rmdir succeeded
1388 recursive rmdir succeeded
1389 foo removed
1390 bar removed
1391 foobar removed
1392 bar\baz removed
1393 ------------ Testing pushd/popd ------------
1394 @pwd@
1395 --- popd is no-op when dir stack is empty
1396 @pwd@
1397 --- pushing non-existing dir
1398 @pwd@
1399 --- basic behaviour
1400 @drive@@path@foobar
1401 @pwd@
1402 @drive@@path@foobar\baz
1403 @drive@@path@foobar
1404 @drive@@path@foobar
1405 @pwd@
1406 @drive@@path@foobar
1407 @pwd@
1408 ------------ Testing attrib ------------
1409 A@spaces@@drive@@path@foobar\foo@or_broken@A I@spaces@@drive@@path@foobar\foo
1410 --- read-only attribute
1411 A R@spaces@@drive@@path@foobar\foo@or_broken@A R I@spaces@@drive@@path@foobar\foo
1412 foo
1413 foo original contents
1414 Read-only file not deleted
1415 Read-only file forcibly deleted
1416 --- recursive behaviour
1417 A@spaces@@drive@@path@foobar\baz\level2@or_broken@A I@spaces@@drive@@path@foobar\baz\level2
1418 A R@spaces@@drive@@path@foobar\level1@or_broken@A R I@spaces@@drive@@path@foobar\level1
1419 A R@spaces@@drive@@path@foobar\baz\level2@or_broken@A R I@spaces@@drive@@path@foobar\baz\level2
1420 A@spaces@@drive@@path@foobar\bar@or_broken@A I@spaces@@drive@@path@foobar\bar
1421 --- folders processing
1422 @spaces@@drive@@path@foobar@or_broken@ I@spaces@@drive@@path@foobar
1423 @todo_wine@ R@spaces@@drive@@path@foobar\baz@or_broken@@spaces@@drive@@path@foobar\baz@or_broken@ R I@spaces@@drive@@path@foobar\baz
1424 A@spaces@@drive@@path@foobar\baz\toto@or_broken@A I@spaces@@drive@@path@foobar\baz\toto
1425 toto
1426 lulu
1427 file created in read-only dir
1428 ------------ Testing assoc ------------
1429 --- setting association
1430 ---
1431 .foo=bar
1432 .foo=bar
1433 +++
1434 .foo=bar
1435 --- resetting association
1436 ---
1437 +++
1438 ---
1439 ------------ Testing ftype ------------
1440 --- setting association
1441 ---
1442 footype=foo_opencmd
1443 .foo=footype
1444 footype=foo_opencmd
1445 +++
1446 footype=foo_opencmd
1447 --- resetting association
1448 @todo_wine@original value@or_broken@buggyXP@or_broken@!WINE_FOO!
1449 ------------ Testing CALL ------------
1450 --- external script
1451 foo@space@
1452 foo 8
1453 foo@space@@space@
1454 foo bar@space@
1455 foo ""@space@
1456 "" bar@space@
1457 foo ''@space@
1458 '' bar@space@
1459 --- internal routines
1460 bar :testRoutine
1461 foo@space@
1462 foo bar
1463 foo ""
1464 "" bar
1465 foo ''
1466 '' bar
1467 --- with builtins
1468 0
1469 foo created
1470 Should expand foobaz
1471 batfile
1472 robinfile
1473 1
1474 1
1475 non-builtin dir
1476 Line one
1477 Line two
1478 Get if
1479 ... and else!
1480 passed
1481 ------------ Testing SHIFT ------------
1482 'p1' 'p2' 'p3' 'p4' 'p5'
1483 'p2' 'p3' 'p4' 'p5' ''
1484 'p3' 'p4' 'p5' '' ''
1485 'p3' 'p5' '' '' ''
1486 'p3' 'p5' '' '' ''
1487 'p5' '' '' '' ''
1488 ------------ Testing cmd invocation ------------
1489 --- a batch file can delete itself
1490 file correctly deleted
1491 --- a batch file can alter itself
1492 bar
1493 ---------- Testing copy
1494 Passed: Found expected dummy.file
1495 Passed: Found expected dir1\file1
1496 Passed: Found expected dir1\file1
1497 Passed: Found expected dir1\file99
1498 Passed: Found expected file1
1499 Passed: Did not find dir2
1500 Passed: Did not find dir2\file1
1501 Passed: Found expected dir1\file1
1502 Passed: Found expected dir1\file2
1503 Passed: Found expected dir1\file3
1504 Passed: Found expected dir1\file1
1505 Passed: Found expected dir1\file2
1506 Passed: Found expected dir1\file3
1507 Passed: Found expected file1
1508 Passed: Found expected file2
1509 Passed: Found expected file3
1510 Passed: Did not find dir2
1511 Passed: Did not find dir2\file1
1512 Passed: Did not find dir2\file2
1513 Passed: Did not find dir2\file3
1514 Passed: Found expected testfile
1515 Passed: Found expected testfile
1516 Passed: Found expected testfile
1517 Passed: Found expected testfile
1518 Passed: Found expected testfile
1519 Passed: Found expected dir1\fred
1520 Passed: Found expected dir1\fred
1521 Passed: Found expected fred
1522 Passed: Found expected fred
1523 Passed: file size check on file1 [5]@or_broken@Skipping file size check on NT4
1524 Passed: file size check on file2 [8]@or_broken@Skipping file size check on NT4
1525 Passed: file size check on file3 [11]@or_broken@Skipping file size check on NT4
1526 Passed: file size check on file1_default [5]@or_broken@Skipping file size check on NT4
1527 Passed: file size check on file1_default2 [5]@or_broken@Skipping file size check on NT4
1528 Passed: file size check on file1_plus_eof [6]@or_broken@Skipping file size check on NT4
1529 Passed: file size check on file2_plus_eof [9]@or_broken@Skipping file size check on NT4
1530 Passed: file size check on file3_plus_eof [12]@or_broken@Skipping file size check on NT4
1531 Passed: file size check on file12_plus_eof [14]@or_broken@Skipping file size check on NT4
1532 Passed: file size check on file12_no_eof [13]@or_broken@Skipping file size check on NT4
1533 Passed: file size check on file12_eof2 [14]@or_broken@Skipping file size check on NT4
1534 Passed: file size check on file1 [24]@or_broken@Skipping file size check on NT4
1535 Passed: file size check on file2 [16]@or_broken@Skipping file size check on NT4
1536 Passed: file size check on file3 [13]@or_broken@Skipping file size check on NT4
1537 Passed: file size check on file1_binary_srccopy [6]@or_broken@Skipping file size check on NT4
1538 Passed: file size check on file1_ascii_srccopy [5]@or_broken@Skipping file size check on NT4
1539 Passed: file size check on file123_default_copy [25]@or_broken@Skipping file size check on NT4
1540 Passed: file size check on file123_ascii_copy [25]@or_broken@Skipping file size check on NT4
1541 Passed: file size check on file123_binary_copy [27]@or_broken@Skipping file size check on NT4
1542 Passed: file size check on file123_mixed_copy1 [26]@or_broken@Skipping file size check on NT4
1543 Passed: file size check on file123_mixed_copy2 [27]@or_broken@Skipping file size check on NT4
1544 Passed: file size check on file123_mixed_copy3 [26]@or_broken@Skipping file size check on NT4
1545 Passed: file size check on file123_mixed_copy4 [25]@or_broken@Skipping file size check on NT4
1546 Passed: file size check on file123_mixed_copy5 [28]@or_broken@Skipping file size check on NT4
1547 Passed: file size check on file123_mixed_copy6 [19]@or_broken@Skipping file size check on NT4
1548 Passed: file size check on file123_mixed_copy7 [6]@or_broken@Skipping file size check on NT4
1549 Passed: file size check on file123_mixed_copy8 [7]@or_broken@Skipping file size check on NT4
1550 Passed: errorlevel invalid check 1
1551 Passed: Did not find dir1\file1
1552 Passed: errorlevel invalid check 2
1553 Passed: errorlevel invalid check 3
1554 ------------ Testing setlocal/endlocal ------------
1555 --- enable/disable extensions
1556 @todo_wine@ErrLev:@space@
1557 ErrLev: 0
1558 ErrLev: 0
1559 @todo_wine@ErrLev:@space@@or_broken@ErrLev: 0
1560 ErrLev: 0
1561 --- setlocal with corresponding endlocal
1562 globalval
1563 localval
1564 @drive@@path@foobar\foobar2
1565 globalval
1566 @drive@@path@foobar
1567 globalval
1568 @drive@@path@foobar
1569 --- setlocal with no corresponding endlocal
1570 globalval
1571 localval
1572 @drive@@path@foobar\foobar2
1573 globalval
1574 @drive@@path@foobar
1575 --- setlocal within same batch program
1576 Var1 ok 1
1577 Var2 ok 2
1578 Var3 ok 3
1579 Directory is ok 1
1580 Var1 ok 1
1581 Var2 ok 2
1582 Var3 ok 3
1583 Directory is ok 2
1584 Var1 ok 1
1585 Var2 ok 2
1586 Var3 ok 3
1587 Directory is ok 3
1588 --- Mismatched set and end locals
1589 --- Extra setlocal in called batch
1590 value2
1591 2set1endvalue1
1592 @drive@@path@foobar\foodir3
1593 Finished:
1594 value2
1595 @drive@@path@foobar\foodir2
1596 value1
1597 @drive@@path@foobar
1598 --- Extra endlocal in called batch
1599 value2
1600 value2
1601 @drive@@path@foobar\foodir2
1602 value2
1603 @drive@@path@foobar\foodir2
1604 Finished:
1605 value2
1606 @drive@@path@foobar\foodir2
1607 value1
1608 @drive@@path@foobar
1609 --- endlocal in called function rather than batch pgm is ineffective
1610 2
1611 2
1612 1
1613 2
1614 1
1615 2
1616 1
1617 1
1618 ------------ Testing Errorlevel ------------
1619 9009
1620 1
1621 errorlevel just right, good
1622 errorlevel with leading zero just right, good
1623 errorlevel with negative number OK
1624 abc0def@or_broken@abc1def
1625 errorlevel zero, good@or_broken@errorlevel nonzero, bad
1626 7 should be 7
1627 7 should still be 7
1628 ------------ Testing GOTO ------------
1629 goto with no leading space worked
1630 goto with colon and no leading space worked
1631 goto with a leading space worked
1632 goto with a leading tab worked
1633 goto with a following space worked
1634 goto with following amphersands worked
1635 goto with redirections worked
1636 Ignoring double colons worked
1637 label with mixed whitespace and no echo worked
1638 Correctly ignored trailing information
1639 Begin:
1640 ..First sub
1641 ..First sub
1642 Middle:
1643 ..Third sub
1644 ..Third sub
1645 Near end:
1646 ..Fourth sub
1647 ..Fourth sub
1648 At end:
1649 ..First sub
1650 ..First sub
1651 Finished
1652 ------------ Testing PATH ------------
1653 PATH=original
1654 PATH=try2
1655 PATH=try3
1656 ------------ Testing start /W ------------
1657 start /W seems to really wait
1658 ------------ Testing changing the drive letter ----------
1659 Normal:
1660 Normal+space
1661 Normal+space+garbage
1662 Quoted should fail
1663 Normal+tab
1664 Normal+tab+garbage
1665 ------------ Testing combined CALLs/GOTOs ------------
1666 world
1667 cheball
1668 barbare
1669 bar
1670 foo
1671 baz
1672 cheball
1673 barbare