[ADVAPI32_WINETEST] Revert service.c changes from 3c1b7834e1 to avoid testbot hangs...
[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 @todo_wine@foo1
209 -----
210 foo2
211 foo3
212 file does not exist, ok
213 foo4
214 baz5
215 baz6@space@
216 baz7
217 baz8
218 baz
219 foo@space@
220 baz
221 foo
222 A
223 B
224 C
225 ------------ Testing circumflex escape character ------------
226 hello, world
227 hello, world
228 hell^o, world
229 hell^o, world
230 helloworld
231 hello
232 world
233 hello
234
235 finished
236 baz
237 baz
238 foo | echo bar
239 foo & echo bar
240 bak &
241 baz@space@
242 0@or_broken@1
243 foo > foo
244 <
245 ffoof
246 WINE_FOO=bar | baz
247 0
248 WINE_FOO=bar ^| baz
249 bar | baz
250 0
251 ------------ Testing chains ------------
252 --- chain success
253 a1
254 a2
255 b1
256 b2
257 c1
258 @todo_wine@---
259 d1
260 d2
261 d3
262 e1
263 e2
264 e3
265 f1
266 f2
267 @todo_wine@---
268 g1
269 g2
270 g3
271 h1
272 h2
273 h3
274 i1
275 i2
276 @todo_wine@---
277 j1
278 @todo_wine@j3
279 @todo_wine@---
280 k1
281 @todo_wine@---
282 l1
283 @todo_wine@---
284 --- chain failure
285 a1
286 a2
287 b1
288 @todo_wine@---
289 c1
290 c2
291 d1
292 d2
293 d3
294 e1
295 e2
296 @todo_wine@---
297 f1
298 f2
299 f3
300 g1
301 @todo_wine@g3
302 @todo_wine@---
303 h1
304 @todo_wine@---
305 i1
306 @todo_wine@i3
307 @todo_wine@---
308 j1
309 j2
310 j3
311 k1
312 k2
313 @todo_wine@---
314 l1
315 l2
316 l3
317 --- chain brackets
318 a1
319 a2
320 a3
321 b1
322 b2
323 b3
324 c1
325 c2
326 @todo_wine@---
327 d1
328 d2
329 d3
330 e1
331 e2
332 e3
333 f1
334 f2
335 @todo_wine@---
336 g1
337 @todo_wine@---
338 h1
339 @todo_wine@---
340 i1
341 @todo_wine@---
342 j1
343 j2
344 j3
345 k1
346 k2
347 @todo_wine@---
348 l1
349 l2
350 l3
351 m1
352 @todo_wine@---
353 n1
354 @todo_wine@---
355 o1
356 @todo_wine@---
357 p1
358 p2
359 p3
360 q1
361 q2
362 @todo_wine@---
363 r1
364 r2
365 r3
366 --- chain pipe
367 @todo_wine@a@space@
368 @todo_wine@a@space@
369 ---
370 b2
371 c1
372 c3
373 d1
374 @todo_wine@---
375 e1
376 e3
377 f2
378 f3
379 g2
380 @todo_wine@---
381 h2
382 h3
383 i3
384 --- chain pipe input
385 a2:[a1,a2]
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]
388 d2:[d1,d2]
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]
391 --- chain else
392 a1
393 b2
394 @todo_wine@---
395 @todo_wine@c3
396 @todo_wine@---
397 @todo_wine@d3
398 @todo_wine@---
399 @todo_wine@---
400 @todo_wine@---
401 @todo_wine@---
402 @todo_wine@---
403 --- chain else (if true)
404 a1 else echo a2
405 b2 else echo b3
406 c1
407 c2 else echo c3
408 d1
409 @todo_wine@---
410 e1
411 e2 else echo e3
412 f3
413 g1 else echo g2
414 g3
415 h1 else echo h2
416 @todo_wine@---
417 i1 else echo i2
418 i3
419 @todo_wine@j2@space@
420 @todo_wine@---
421 k1
422 k2
423 l1
424 @todo_wine@---
425 m1
426 m2
427 n1
428 o1
429 p1
430 q1
431 --- chain else (if false)
432 @todo_wine@j3
433 ---
434 k3
435 l3
436 m3
437 n3
438 o2
439 o3
440 p2
441 @todo_wine@---
442 q2
443 q3
444 ------------ Testing 'set' ------------
445 1
446 0
447 WINE_FOOBAR not defined
448 baz
449 WINE_FOOBAR = baz
450 0
451 baz2
452 0
453 bar
454 WINE_FOOBAR= bar
455 WINE_FOOBAR = baz2
456 WINE_FOOBAR = baz2
457 WINE_FOOBAR not defined
458 1
459 bar
460 foobar
461 WINE_FOO not defined
462 WINE_BAZ=bazbaz
463 bazbaz
464 set "WINE_FOO=bar" should not include the quotes in the variable value
465 bar
466 foo
467 ''
468 'foo@space@'
469 'foo@tab@'
470 'value@space@'
471 'value'
472 'jim fred'
473 '"jim" fred'
474 'jim fred'
475 'jim'
476 'apple"banana"grape'
477 ------------ Testing variable expansion ------------
478 ~p0 should be path containing batch file
479 @path@
480 @path@
481 ~dp0 should be directory containing batch file
482 @drive@@path@
483 @drive@@path@
484 CD value @pwd@@or_broken@CD value@space@
485 %
486 P
487 P
488 S
489 P
490 PS
491 ERRORLEVEL
492 0
493 00
494 0ERRORLEVEL
495 0
496 0%
497 P0
498 0S
499 P0S
500 ------------ Testing variable substrings ------------
501 q
502 qwe
503 er
504 'ty'@or_broken@''
505 't'@or_broken@''
506 ert@or_broken@qwerty
507 e@or_broken@qwerty
508 ''@or_broken@'qwerty'
509 r@or_broken@qwerty
510 ------------ Testing variable substitution ------------
511 --- in FOR variables
512 "A B"
513 C
514 "A B"
515 C
516 'A B'@or_broken@''
517 'C'@or_broken@''
518 @drive@@path@C D@or_broken@%~ff
519 @drive@@path@E@or_broken@%~ff
520 @drive@
521 @drive@
522 @path@@or_broken@%~pd
523 @path@@or_broken@%~pd
524 L M
525 N
526 '.OOL'
527 '.TABC'
528 ''
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@''
532 ''@or_broken@'%~ai'
533 ''@or_broken@'%~ai'
534 '--a------'@or_broken@'--a--------'@or_broken@'--a--c---'@or_broken@'%~ai'
535 '5'@or_broken@'%~zi'
536 ''@or_broken@'%~ti'
537 ''@or_broken@'%~ti'
538 ''@or_broken@'%~zi'
539 ''@or_broken@'%~zi'
540 @drive@@path@
541 @drive@@path@
542 @drive@
543 @drive@
544 @drive@
545 @drive@
546 ''
547 '.eh'
548 ',,,,,,,,,'
549 --- in parameters
550 "A B"
551 C
552 'A B'@or_broken@''
553 'C'@or_broken@''
554 @drive@@path@C D
555 @drive@@path@E
556 @drive@
557 @drive@
558 @path@
559 @path@
560 L M
561 N
562 '.OOL'
563 '.TABC'
564 ''
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@''
568 @drive@@path@
569 @drive@@path@
570 @drive@
571 @drive@
572 @drive@
573 @drive@
574 ''
575 '.eh'@or_broken@''
576 ------------ Testing variable delayed expansion ------------
577 --- default mode (load-time expansion)
578 foo
579 !WINE_FOO!
580 foo
581 foo
582 --- runtime (delayed) expansion mode
583 foo
584 foo@or_broken@!WINE_FOO!
585 foo
586 bar@or_broken@foo
587 0
588 0@or_broken@1
589 foo
590 !WINE_FOO!
591 --- using /V cmd flag
592 foo
593 foo@or_broken@!WINE_FOO!
594 foo
595 !WINE_FOO!
596 ------------ Testing conditional execution ------------
597 --- unconditional ampersand
598 foo1
599 bar2@space@
600 foo2
601 foobar deleted
602 --- on success conditional and
603 @todo_wine@foo3 not created
604 bar4@space@
605 foo4
606 --- on failure conditional or
607 foo5
608 foo6@space@
609 @todo_wine@------------ Testing cd ------------
610 singleFile
611 Current dir: @drive@@path@foobar@or_broken@Current dir:@space@
612 @drive@@path@foobar
613 @pwd@
614 @drive@@path@foobar
615 @pwd@
616 @drive@@path@foobar
617 @pwd@
618 @pwd@
619 @pwd@
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
625 @pwd@
626 @drive@@path@foobar
627 ------------ Testing type ------------
628
629 @pwd@>type foobaz@space@
630 bar
631
632 @pwd@>echo ---@space@
633 ---
634 bar
635 ---1
636 bar
637 ---2
638 bar
639 ---3
640 ------------ Testing NUL ------------
641 bar
642 bar
643 bar
644 NUL
645 foo created
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
654 if seems to work
655 else seems to work
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
662 if /i seems to work
663 if /I seems to work
664 --- string comparisons
665 equal
666 non equal
667 non equal
668 equal
669 --- tabs handling
670 doom
671 doom
672 doom
673 lol
674 quake
675 quake
676 quake
677 --- comparison operators
678 ------ for strings
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
684 A LSS B
685 A LSS AB
686 A LSS BA
687 A LSS AA
688 B LSS BA
689 AB LSS B
690 AB LSS BA
691 AA LSS B
692 AA LSS AB
693 AA LSS BA
694 b LSS B@or_broken@NT4
695 a LSS B@or_broken@NT4
696 a LSS B insensitive
697 A LSS b
698 A LSS b insensitive
699 A LEQ A
700 A LEQ B
701 A LEQ AB
702 A LEQ BA
703 A LEQ AA
704 B LEQ B
705 B LEQ BA
706 AB LEQ B
707 AB LEQ AB
708 AB LEQ BA
709 BA LEQ BA
710 AA LEQ B
711 AA LEQ AB
712 AA LEQ BA
713 AA LEQ AA
714 b LEQ B@or_broken@NT4
715 b LEQ B insensitive
716 a LEQ B@or_broken@NT4
717 a LEQ B insensitive
718 A LEQ b
719 A LEQ b insensitive
720 A EQU A
721 B EQU B
722 AB EQU AB
723 BA EQU BA
724 AA EQU AA
725 A EQU a insensitive
726 A NEQ B
727 A NEQ AB
728 A NEQ BA
729 A NEQ AA
730 B NEQ A
731 B NEQ AB
732 B NEQ BA
733 B NEQ AA
734 AB NEQ A
735 AB NEQ B
736 AB NEQ BA
737 AB NEQ AA
738 BA NEQ A
739 BA NEQ B
740 BA NEQ AB
741 BA NEQ AA
742 AA NEQ A
743 AA NEQ B
744 AA NEQ AB
745 AA NEQ BA
746 A GEQ A
747 B GEQ A
748 B GEQ B
749 B GEQ AB
750 B GEQ AA
751 AB GEQ A
752 AB GEQ AB
753 AB GEQ AA
754 BA GEQ A
755 BA GEQ B
756 BA GEQ AB
757 BA GEQ BA
758 BA GEQ AA
759 AA GEQ A
760 AA GEQ AA
761 B GTR A
762 B GTR AB
763 B GTR AA
764 AB GTR A
765 AB GTR AA
766 BA GTR A
767 BA GTR B
768 BA GTR AB
769 BA GTR AA
770 AA GTR A
771 ------ for numbers
772 negative numbers handled
773 negative numbers handled
774 octal handled
775 also in negative form
776 hexa handled
777 also in negative form
778 11 LSS 101
779 0 LSS 1
780 0 LSS 10
781 0 LSS 9
782 1 LSS 10
783 1 LSS 9
784 9 LSS 10
785 0 LEQ 0
786 0 LEQ 1
787 0 LEQ 10
788 0 LEQ 9
789 1 LEQ 1
790 1 LEQ 10
791 1 LEQ 9
792 10 LEQ 10
793 9 LEQ 10
794 9 LEQ 9
795 0 EQU 0
796 1 EQU 1
797 10 EQU 10
798 9 EQU 9
799 octal ok
800 hexa ok
801 string/hexa compare ok
802 string/hexa compare ok
803 0 NEQ 1
804 0 NEQ 10
805 0 NEQ 9
806 1 NEQ 0
807 1 NEQ 10
808 1 NEQ 9
809 10 NEQ 0
810 10 NEQ 1
811 10 NEQ 9
812 9 NEQ 0
813 9 NEQ 1
814 9 NEQ 10
815 0 GEQ 0
816 1 GEQ 0
817 1 GEQ 1
818 10 GEQ 0
819 10 GEQ 1
820 10 GEQ 10
821 10 GEQ 9
822 9 GEQ 0
823 9 GEQ 1
824 9 GEQ 9
825 1 GTR 0
826 10 GTR 0
827 10 GTR 1
828 10 GTR 9
829 9 GTR 0
830 9 GTR 1
831 ------ for numbers and stringified numbers
832 strings and integers not equal
833 strings and integers not equal
834 foo
835 "10" GEQ "1"
836 '1' GEQ 1@or_broken@NT4
837 1 GEQ "1"
838 "1" GEQ "1"
839 '1' GEQ "1"
840 "10" GEQ "1"
841 non NT4@or_broken@1 GEQ '1'
842 '1' GEQ '1'
843 foo
844 1 GEQ "10"
845 foo
846 '1' GEQ "10"
847 "10" GEQ "10"
848 --- unconditional ampersand after if one line
849 1@space@
850 2@space@
851 3 else echo 4
852 ---
853 x@space@
854 ---
855 x@space@
856 ---
857 x@space@
858 ---
859 x@space@
860 ---
861 ------------ Testing for ------------
862 --- plain FOR
863 A
864 B
865 C
866 %I
867 %I
868 %I
869 %j
870 %j
871 %j
872 A
873 B
874 C
875 1
876 4
877 1
878 A
879 B
880 C
881 X
882 X2
883 X3
884 foo
885 M
886 X
887 M
888 N
889 O
890 `echo
891 A
892 B`
893 'echo
894 A
895 B'
896 "echo A B"
897 "A B"
898 C
899 --- imbricated FORs
900 X Y
901 X Y
902 A C
903 A D
904 B C
905 B D
906 A C
907 A D
908 B C
909 B D
910 --- basic wildcards
911 bazbaz
912 --- for /d
913 baz@space@
914 foo@space@
915 bar@space@
916 PASSED
917 xxx - Should be xxx
918 Expected second line
919 --- for /R
920 Plain directory enumeration
921 Plain directory enumeration from provided root
922 File enumeration
923 File enumeration from provided root
924 Mixed enumeration
925 Mixed enumeration from provided root
926 With duplicates enumeration
927 Strip missing wildcards, keep unwildcarded names
928 for /R passed
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
937 WC : bazbaz
938 Unix slashes, invalid path
939 ASIS: foobar/jim/bazbaz
940 Done
941 --- for /L
942 1
943 3
944 5
945 1
946 3
947 5
948 0
949 2
950 1
951 -1
952 ErrorLevel 0
953 ErrorLevel 0
954 1
955 2
956 3
957 4
958 1
959 3
960 4
961 3
962 2
963 1
964 4
965 2
966 0
967 1
968 1
969 -1
970 -1
971 1
972 3
973 --- set /a
974 ------ individual operations
975 WINE_foo correctly 3
976 WINE_foo correctly -1
977 WINE_foo correctly 3
978 WINE_foo correctly 6
979 WINE_foo correctly 10
980 WINE_foo correctly 4
981 WINE_foo correctly 4
982 WINE_foo correctly -4
983 WINE_foo correctly 0
984 WINE_foo correctly 2
985 WINE_foo correctly 2
986 WINE_foo correctly -2
987 WINE_foo correctly 1
988 WINE_foo correctly 4
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
992 WINE_foo correctly 9
993 WINE_foo correctly 2
994 WINE_foo correctly 0
995 WINE_foo correctly -1
996 WINE_foo correctly -3
997 WINE_foo correctly 0
998 WINE_foo correctly 1
999 WINE_foo correctly 1
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
1026 ------ variables
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
1058 --- quotes
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
1097 4
1098 4
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]
1141 --- for /F
1142 ------ string argument
1143 a
1144 a@or_broken@no output
1145 a
1146 a@or_broken@no output
1147 a
1148 a@or_broken@no output
1149 a
1150 a@or_broken@no output
1151 a
1152 a@or_broken@no output
1153 ------ fileset argument
1154 --------- basic blank handling
1155 a
1156 a
1157 a
1158 a
1159 a
1160 b
1161 --------- multi-line with empty lines
1162 a
1163 b
1164 c
1165 --------- multiple files
1166 a
1167 b
1168 c
1169 q
1170 kkk
1171 q
1172 kkk
1173 a
1174 b
1175 c
1176 ------ command argument
1177 Passed1@or_broken@Missing functionality - Broken1
1178 Passed2@or_broken@Missing functionality - Broken2
1179 Passed3@or_broken@Missing functionality - Broken3
1180 ------ eol option
1181 and@or_broken@Broken NT4 functionality1
1182 Line@or_broken@Broken NT4 functionality2
1183 Line@or_broken@Broken NT4 functionality3
1184 ad
1185 z@y
1186 a|d
1187 no output
1188 no output
1189 ------ delims option
1190 a
1191 a@space@
1192 a d
1193 a
1194 C r
1195 foo bar baz
1196 c:\
1197 ------ skip option
1198 c
1199 no output
1200 no output
1201 c
1202 c
1203 no output
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 ------------
1229 deleting 'file'
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
1244 foo renamed to bar
1245 bar renamed to foo
1246 --- name collision
1247 foo
1248 bar
1249 --- rename read-only files
1250 read-only file renamed
1251 --- rename directories
1252 dir renamed
1253 read-only dir renamed
1254 --- rename in other directory
1255 rename impossible in other directory
1256 original file still present
1257 ------------ Testing move ------------
1258 --- file move
1259 file move succeeded
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
1266 --- directory move
1267 simple directory move succeeded
1268 moving a directory to itself gives error; errlevel 1
1269 ------ dir in dir move
1270 foo
1271 bar2
1272 foo2
1273 ------------ Testing mkdir ------------
1274 --- md and mkdir are synonymous
1275 0
1276 0
1277 --- creating an already existing directory/file must fail
1278 1
1279 1
1280 --- multilevel path creation
1281 0
1282 0
1283 0
1284 0
1285 0
1286 1
1287 0
1288 0
1289 --- trailing backslashes
1290 0
1291 dir created
1292 0
1293 --- invalid chars
1294 mkdir ? gives errorlevel 1
1295 mkdir ?\foo gives errorlevel 1
1296 mkdir foo\? gives errorlevel 1
1297 ok, foo created
1298 mkdir foo\bar\? gives errorlevel 1
1299 ok, foo\bar created
1300 --- multiple directories at once
1301 foo created
1302 bar created
1303 foobar created
1304 bar\baz created
1305 bazbaz created
1306 zabzab created
1307 mkdir foo\* errorlevel 1
1308 ok, foo created
1309 ------------ Testing rmdir ------------
1310 0
1311 dir removed
1312 0
1313 dir removed
1314 0
1315 0
1316 file not removed
1317 0
1318 non-empty dir not removed
1319 0
1320 non-empty dir not removed
1321 recursive rmdir succeeded
1322 recursive rmdir succeeded
1323 foo removed
1324 bar removed
1325 foobar removed
1326 bar\baz removed
1327 ------------ Testing pushd/popd ------------
1328 @pwd@
1329 --- popd is no-op when dir stack is empty
1330 @pwd@
1331 --- pushing non-existing dir
1332 @pwd@
1333 --- basic behaviour
1334 @drive@@path@foobar
1335 @pwd@
1336 @drive@@path@foobar\baz
1337 @drive@@path@foobar
1338 @drive@@path@foobar
1339 @pwd@
1340 @drive@@path@foobar
1341 @pwd@
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
1346 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
1359 toto
1360 lulu
1361 file created in read-only dir
1362 ------------ Testing assoc ------------
1363 --- setting association
1364 ---
1365 .foo=bar
1366 .foo=bar
1367 +++
1368 .foo=bar
1369 --- resetting association
1370 ---
1371 +++
1372 ---
1373 ------------ Testing ftype ------------
1374 --- setting association
1375 ---
1376 footype=foo_opencmd
1377 .foo=footype
1378 footype=foo_opencmd
1379 +++
1380 footype=foo_opencmd
1381 --- resetting association
1382 @todo_wine@original value@or_broken@buggyXP@or_broken@!WINE_FOO!
1383 ------------ Testing CALL ------------
1384 --- external script
1385 foo@space@
1386 foo 8
1387 foo@space@@space@
1388 foo bar@space@
1389 foo ""@space@
1390 "" bar@space@
1391 foo ''@space@
1392 '' bar@space@
1393 --- internal routines
1394 bar :testRoutine
1395 foo@space@
1396 foo bar
1397 foo ""
1398 "" bar
1399 foo ''
1400 '' bar
1401 --- with builtins
1402 0
1403 foo created
1404 Should expand foobaz
1405 batfile
1406 robinfile
1407 1
1408 1
1409 non-builtin dir
1410 Line one
1411 Line two
1412 Get if
1413 ... and else!
1414 passed
1415 ------------ Testing SHIFT ------------
1416 'p1' 'p2' 'p3' 'p4' 'p5'
1417 'p2' 'p3' 'p4' 'p5' ''
1418 'p3' 'p4' 'p5' '' ''
1419 'p3' 'p5' '' '' ''
1420 'p3' 'p5' '' '' ''
1421 'p5' '' '' '' ''
1422 ------------ Testing cmd invocation ------------
1423 --- a batch file can delete itself
1424 file correctly deleted
1425 --- a batch file can alter itself
1426 bar
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@
1491 ErrLev: 0
1492 ErrLev: 0
1493 @todo_wine@ErrLev:@space@@or_broken@ErrLev: 0
1494 ErrLev: 0
1495 --- setlocal with corresponding endlocal
1496 globalval
1497 localval
1498 @drive@@path@foobar\foobar2
1499 globalval
1500 @drive@@path@foobar
1501 globalval
1502 @drive@@path@foobar
1503 --- setlocal with no corresponding endlocal
1504 globalval
1505 localval
1506 @drive@@path@foobar\foobar2
1507 globalval
1508 @drive@@path@foobar
1509 --- setlocal within same batch program
1510 Var1 ok 1
1511 Var2 ok 2
1512 Var3 ok 3
1513 Directory is ok 1
1514 Var1 ok 1
1515 Var2 ok 2
1516 Var3 ok 3
1517 Directory is ok 2
1518 Var1 ok 1
1519 Var2 ok 2
1520 Var3 ok 3
1521 Directory is ok 3
1522 --- Mismatched set and end locals
1523 --- Extra setlocal in called batch
1524 value2
1525 2set1endvalue1
1526 @drive@@path@foobar\foodir3
1527 Finished:
1528 value2
1529 @drive@@path@foobar\foodir2
1530 value1
1531 @drive@@path@foobar
1532 --- Extra endlocal in called batch
1533 value2
1534 value2
1535 @drive@@path@foobar\foodir2
1536 value2
1537 @drive@@path@foobar\foodir2
1538 Finished:
1539 value2
1540 @drive@@path@foobar\foodir2
1541 value1
1542 @drive@@path@foobar
1543 --- endlocal in called function rather than batch pgm is ineffective
1544 2
1545 2
1546 1
1547 2
1548 1
1549 2
1550 1
1551 1
1552 ------------ Testing Errorlevel ------------
1553 9009
1554 1
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
1560 7 should be 7
1561 7 should still be 7
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 ------------
1574 PATH=original
1575 PATH=try2
1576 PATH=try3
1577 ------------ Testing combined CALLs/GOTOs ------------
1578 world
1579 cheball
1580 barbare
1581 bar
1582 foo
1583 baz
1584 cheball
1585 barbare