cmd: Add full support for copy concatenation and ascii/binary.
[wine/multimedia.git] / programs / cmd / tests / test_builtins.cmd.exp
blobf6e7d110e44f587bebce66531ec4c9a5af5873c2
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] ------------
8 @pwd@>echo word@space@
9 word
11 @pwd@>echo 'singlequotedword'@space@
12 'singlequotedword'
14 @pwd@>echo "doublequotedword"@space@
15 "doublequotedword"
16 at-echoed-word
18 @pwd@>echo "/?"@space@
19 "/?"
21 @pwd@>echo.
24 @pwd@>echo .@space@
27 @pwd@>echo.word
28 word
30 @pwd@>echo .word@space@
31 .word
33 @pwd@>echo:
36 @pwd@>echo :@space@
39 @pwd@>echo:word
40 word
42 @pwd@>echo :word@space@
43 :word
45 @pwd@>echo off now@space@
46 off now
48 @pwd@>echo word@space@@space@
49 word@space@
51 @pwd@>echo word@space@@space@@space@
52 word@space@@space@
54 @pwd@>echo word@space@
55 word
57 @pwd@>echo@tab@word@space@
58 word
60 @pwd@>echo@tab@word@space@@tab@@space@
61 word@space@@tab@
63 @pwd@>echo@tab@word@tab@@space@@space@
64 word@tab@@space@
66 @pwd@>echo word@space@
67 word
69 @pwd@>echo@space@@tab@word@space@
70 @tab@word
72 @pwd@>echo@space@@space@@tab@word@space@
73 @space@@tab@word
75 @pwd@>echo@tab@@tab@word@space@
76 @tab@word
78 @pwd@>echo @tab@ on @space@@space@
79 noecho1
80 noecho2
81 echo3
82 ------------ Testing 'echo' [OFF] ------------
83 word
84 'singlequotedword'
85 "doublequotedword"
86 at-echoed-word
87 "/?"
90 word
91 .word
94 word
95 :word
96 on again
97 word@space@
98 word@space@@space@
99 word
100 word
101 word@space@@tab@
102 word@tab@@space@
103 word
104 @tab@word
105 @space@@tab@word
106 @tab@word
107 ------------ Testing mixed echo modes ------------
108 @echo on
109 if 1==1 echo foo
110 if 1==1 @echo bar
111 @echo off
112 if 1==1 echo foo2
113 if 1==1 @echo bar2
115 @todo_wine@@pwd@>if 1 == 1 echo foo@space@
118 @todo_wine@@pwd@>if 1 == 1@space@
120 foo2
121 bar2
122 ------------ Testing parameterization ------------
123 'a', 'b', 'c'
124 '"a b c"', '', ''
125 '"a b"\c', '', ''
126 'a', '~`+', '.{}!+b'
127 'a', 'b', ''
128 '"a;b"', '', ''
129 'a', 'b', ''
130 'a[b]{c}(d)e', '', ''
131 'a', '', ''
132 second line
133 'a', 'b', 'c'
134 'a', 'b', 'c'
135 'a', 'b', ''
136 ------------ Testing rem ------------
138 @pwd@>rem Hello@space@
140 @pwd@>rem Hello@space@
142 @pwd@>rem Hello || foo@space@
144 @pwd@>rem echo lol@space@
146 @pwd@>rem echo foo & echo bar@space@
148 @pwd@>rem @tab@ Hello@space@
150 @pwd@>rem@tab@ Hello@space@
152 @pwd@>rem@tab@echo foo & echo bar@space@
153 ------------ Testing redirection operators ------------
154 --- stdout redirection
156 foo@space@
157 foo@tab@
158 foo@space@
159 foo@tab@
160 foo7@space@@or_broken@foo@tab@
161 foo9@space@@or_broken@foo@tab@
162 foo1
163 foo11
164 foo12
165 foo13
166 foo14
167 foo15
168 --- stdout appending
170 foo@space@
171 foob@space@
172 foob@space@
173 fooc@space@
174 foob@space@
175 fooc@space@
176 food1
177 foob@space@
178 fooc@space@
179 food1
180 food2
181 food21
182 @todo_wine@foo7@space@@space@@or_broken@not supported@space@
183 @todo_wine@foo@or_broken@not supported
184 --- redirections within IF statements
185 @todo_wine@foo1
186 -----
187 foo2
188 foo3
189 file does not exist, ok
190 foo4
191 baz5
192 baz6@space@
193 baz7
194 baz8
196 foo@space@
202 ------------ Testing circumflex escape character ------------
203 hello, world
204 hello, world
205 hell^o, world
206 hell^o, world
207 helloworld
208 hello
209 world
210 hello
212 finished
215 foo | echo bar
216 foo & echo bar
217 bak &
218 baz@space@
219 0@or_broken@1
220 foo > foo
222 ffoof
223 FOO=bar | baz
225 FOO=bar ^| baz
226 bar | baz
228 ------------ Testing 'set' ------------
231 FOOBAR not defined
233 FOOBAR = baz
235 baz2
238 FOOBAR= bar
239 FOOBAR = baz2
240 FOOBAR = baz2
241 FOOBAR not defined
244 foobar
245 FOO not defined
246 BAZ=bazbaz
247 bazbaz
248 set "FOO=bar" should not include the quotes in the variable value
252 'foo@space@'
253 'foo@tab@'
254 ------------ Testing variable expansion ------------
255 ~dp0 should be directory containing batch file
256 @pwd@\
257 @pwd@\
258 CD value @pwd@@or_broken@CD value@space@
265 ERRORLEVEL
268 0ERRORLEVEL
274 ------------ Testing variable substrings ------------
278 @todo_wine@'ty'@or_broken@''
279 't'@or_broken@''
280 ert@or_broken@qwerty
281 e@or_broken@qwerty
282 ''@or_broken@'qwerty'
283 r@or_broken@qwerty
284 ------------ Testing variable substitution ------------
285 --- in FOR variables
286 "A B"
288 "A B"
290 'A B'@or_broken@''
291 'C'@or_broken@''
292 @pwd@\C D@or_broken@%~ff
293 @pwd@\E@or_broken@%~ff
294 @drive@
295 @drive@
296 @path@@or_broken@%~pd
297 @path@@or_broken@%~pd
300 '.OOL'
301 '.TABC'
303 @todo_wine@'@drive@@shortpath@R S'@or_broken@''
304 @todo_wine@'@drive@@shortpath@T'@or_broken@''
305 @todo_wine@'@drive@@shortpath@ABCDEFGHIJK.LMNOP'@or_broken@''
306 ''@or_broken@'%~ai'
307 ''@or_broken@'%~ai'
308 '--a------'@or_broken@'%~ai'
309 '5'@or_broken@'%~zi'
310 ''@or_broken@'%~ti'
311 ''@or_broken@'%~ti'
312 ''@or_broken@'%~zi'
313 ''@or_broken@'%~zi'
314 @drive@@path@
315 @drive@@path@
316 @drive@
317 @drive@
318 @drive@
319 @drive@
321 '.eh'
322 --- in parameters
323 "A B"
325 'A B'@or_broken@''
326 'C'@or_broken@''
327 @pwd@\C D
328 @pwd@\E
329 @drive@
330 @drive@
331 @path@
332 @path@
335 '.OOL'
336 '.TABC'
338 @todo_wine@'@drive@@shortpath@R S'@or_broken@''
339 @todo_wine@'@drive@@shortpath@T'@or_broken@''
340 @todo_wine@'@drive@@shortpath@ABCDEFGHIJK.LMNOP'@or_broken@''
341 @drive@@path@
342 @drive@@path@
343 @drive@
344 @drive@
345 @drive@
346 @drive@
348 '.eh'@or_broken@''
349 ------------ Testing variable delayed expansion ------------
350 --- default mode (load-time expansion)
352 !FOO!
355 --- runtime (delayed) expansion mode
357 @todo_wine@foo@or_broken@!FOO!
359 @todo_wine@bar@or_broken@foo
361 0@or_broken@1
363 !FOO!
364 --- using /V cmd flag
366 @todo_wine@foo@or_broken@!FOO!
368 !FOO!
369 ------------ Testing conditional execution ------------
370 --- unconditional ampersand
371 foo1
372 bar2@space@
373 foo2
374 foobar deleted
375 --- on success conditional and
376 @todo_wine@foo3 not created
377 bar4@space@
378 foo4
379 --- on failure conditional or
380 foo5
381 foo6@space@
382 @todo_wine@------------ Testing cd ------------
383 singleFile
384 Current dir: @pwd@\foobar@or_broken@Current dir:@space@
385 @pwd@\foobar
386 @pwd@
387 @pwd@\foobar
388 @pwd@
389 @pwd@\foobar
390 @pwd@
391 @pwd@
392 @pwd@
393 @pwd@\foobar\bar bak
394 @pwd@\foobar\bar bak
395 @pwd@\foobar\bar bak
396 @pwd@\foobar\bar bak
397 @pwd@\foobar\bar bak
398 @pwd@
399 @pwd@\foobar
400 ------------ Testing type ------------
402 @pwd@>type foobaz@space@
405 @pwd@>echo ---@space@
408 ---1
410 ---2
412 ---3
413 ------------ Testing NUL ------------
418 @todo_wine@foo created
419 ------------ Testing if/else ------------
420 if/else should work with blocks
421 if seems to work
422 else seems to work
423 if seems not to detect /c as parameter
424 Testing case sensitivity with and without /i option
425 if seems to default to case sensitivity
426 if /i seems to work
427 if /I seems to work
428 Testing string comparisons
429 equal
430 non equal
431 non equal
432 equal
433 Testing tabs handling
434 doom
435 doom
436 doom
438 quake
439 quake
440 quake
441 ------------ Testing for ------------
442 --- plain FOR
470 `echo
473 'echo
476 "echo A B"
477 "A B"
479 --- imbricated FORs
480 @todo_wine@X Y
481 @todo_wine@X Y
482 @todo_wine@A C
483 @todo_wine@A D
484 @todo_wine@B C
485 @todo_wine@B D
486 @todo_wine@A C
487 @todo_wine@A D
488 @todo_wine@B C
489 @todo_wine@B D
490 --- basic wildcards
491 bazbaz
492 --- for /d
493 baz@space@
494 foo@space@
495 bar@space@
496 PASSED
497 xxx - Should be xxx
498 Expected second line
499 --- for /R
500 Plain directory enumeration
501 Plain directory enumeration from provided root
502 File enumeration
503 File enumeration from provided root
504 Mixed enumeration
505 Mixed enumeration from provided root
506 With duplicates enumeration
507 Strip missing wildcards, keep unwildcarded names
508 for /R passed
509 --- for /L
520 ErrorLevel 0
521 ErrorLevel 0
541 --- for /a
542 ------ individual operations
544 @todo_wine@3
545 @todo_wine@-1
546 @todo_wine@3
547 @todo_wine@6
548 @todo_wine@10
549 @todo_wine@4
550 @todo_wine@4
551 @todo_wine@-4
553 @todo_wine@2
554 @todo_wine@2
555 @todo_wine@-2
556 @todo_wine@1
557 @todo_wine@4
558 0@or_broken@1073741824
559 0@or_broken@-1073741824
560 @todo_wine@-4
561 @todo_wine@9
562 @todo_wine@2
564 @todo_wine@-1
565 @todo_wine@-3
567 @todo_wine@1
568 @todo_wine@1
569 @todo_wine@4
570 @todo_wine@1
571 @todo_wine@5
572 @todo_wine@5
573 @todo_wine@7
574 @todo_wine@5
575 @todo_wine@5
576 @todo_wine@5
577 @todo_wine@4
578 @todo_wine@6
579 @todo_wine@1
580 ------ precedence and grouping
581 @todo_wine@4
582 @todo_wine@10
583 @todo_wine@18@or_broken@10
584 @todo_wine@2@or_broken@0
585 @todo_wine@2@or_broken@0
586 0@or_broken@4
587 @todo_wine@4
588 @todo_wine@3@or_broken@4
589 ------ octal and hexadecimal
590 @todo_wine@3@or_broken@4
591 @todo_wine@18
592 @todo_wine@18
593 @todo_wine@15
594 ------ variables
595 @todo_wine@3
596 @todo_wine@3@or_broken@foo not defined
597 @todo_wine@3@or_broken@0
598 @todo_wine@3@or_broken@0
599 @todo_wine@3@or_broken@0
600 @todo_wine@9@or_broken@0
602 @todo_wine@4@or_broken@0
603 @todo_wine@-7@or_broken@0
604 @todo_wine@-1@or_broken@0
605 @todo_wine@5@or_broken@0
606 @todo_wine@4@or_broken@0
607 @todo_wine@1@or_broken@0
609 @todo_wine@5@or_broken@0
611 --- for /F
612 ------ string argument
613 @todo_wine@a
614 @todo_wine@a
616 @todo_wine@a
617 @todo_wine@a
618 ------ fileset argument
619 --------- basic blank handling
626 --------- multi-line with empty lines
630 --------- multiple files
641 ------ eol option
642 @todo_wine@ad
643 @todo_wine@z@y
645 @todo_wine@no output
646 @todo_wine@no output
647 ------ delims option
648 @todo_wine@a
649 @todo_wine@a@space@
650 @todo_wine@a d
651 @todo_wine@a
652 @todo_wine@C r
653 foo bar baz
654 @todo_wine@c:\
655 ------ skip option
656 @todo_wine@c
657 @todo_wine@no output
658 @todo_wine@no output
659 ------------ Testing del /a ------------
660 not-r.test not found after delete, good
661 r.test found before delete, good
662 r.test not found after delete, good
663 ------------ Testing del /q ------------
664 del /q * succeeded on file1
665 del /q * succeeded on file2.dat
666 ------------ Testing del /s ------------
667 ------------ Testing rename ------------
668 --- ren and rename are synonymous
669 foo renamed to bar
670 bar renamed to foo
671 --- name collision
674 --- rename read-only files
675 read-only file renamed
676 --- rename directories
677 dir renamed
678 read-only dir renamed
679 --- rename in other directory
680 rename impossible in other directory
681 original file still present
682 ------------ Testing move ------------
683 --- file move
684 file move succeeded
685 @todo_wine@file move with overwrite succeeded@or_broken@file overwrite impossible!
686 @todo_wine@bar@or_broken@baz
687 read-only files are moveable
688 file moved in subdirectory
689 @todo_wine@moving a file to itself is a no-op@or_broken@moving a file to itself should be a no-op!
690 @todo_wine@ErrorLevel: 0@or_broken@ErrorLevel: 1
691 --- directory move
692 simple directory move succeeded
693 moving a directory to itself gives error; errlevel 1
694 ------ dir in dir move
696 bar2
697 foo2
698 ------------ Testing mkdir ------------
699 --- md and mkdir are synonymous
702 --- creating an already existing directory/file must fail
705 --- multilevel path creation
714 --- trailing backslashes
716 dir created
718 --- invalid chars
719 mkdir ? gives errorlevel 1
720 mkdir ?\foo gives errorlevel 1
721 mkdir foo\? gives errorlevel 1
722 ok, foo created
723 mkdir foo\bar\? gives errorlevel 1
724 ok, foo\bar created
725 --- multiple directories at once
726 foo created
727 bar created
728 foobar created
729 bar\baz created
730 bazbaz created
731 zabzab created
732 mkdir foo\* errorlevel 1
733 ok, foo created
734 ------------ Testing rmdir ------------
736 dir removed
738 dir removed
741 file not removed
743 non-empty dir not removed
745 non-empty dir not removed
746 recursive rmdir succeeded
747 recursive rmdir succeeded
748 foo removed
749 bar removed
750 foobar removed
751 bar\baz removed
752 ------------ Testing pushd/popd ------------
753 @pwd@
754 --- popd is no-op when dir stack is empty
755 @pwd@
756 --- pushing non-existing dir
757 @pwd@
758 --- basic behaviour
759 @pwd@\foobar
760 @pwd@
761 @pwd@\foobar\baz
762 @pwd@\foobar
763 @pwd@\foobar
764 @pwd@
765 @pwd@\foobar
766 @pwd@
767 ------------ Testing attrib ------------
768 A @pwd@\foobar\foo@or_broken@A @pwd@\foobar\foo@or_broken@A I @pwd@\foobar\foo
769 --- read-only attribute
770 A R @pwd@\foobar\foo@or_broken@A R @pwd@\foobar\foo@or_broken@A R I @pwd@\foobar\foo
772 foo original contents
773 Read-only file not deleted
774 Read-only file forcibly deleted
775 --- recursive behaviour
776 @todo_wine@A @pwd@\foobar\baz\level2@or_broken@A @pwd@\foobar\baz\level2@or_broken@A I @pwd@\foobar\baz\level2
777 @todo_wine@A R @pwd@\foobar\level1@or_broken@A R @pwd@\foobar\level1@or_broken@A R I @pwd@\foobar\level1
778 @todo_wine@A R @pwd@\foobar\baz\level2@or_broken@A R @pwd@\foobar\baz\level2@or_broken@A R I @pwd@\foobar\baz\level2
779 A @pwd@\foobar\bar@or_broken@A @pwd@\foobar\bar@or_broken@A I @pwd@\foobar\bar
780 --- folders processing
781 @pwd@\foobar@or_broken@ @pwd@\foobar@or_broken@ I @pwd@\foobar
782 @todo_wine@ R @pwd@\foobar\baz@or_broken@ R @pwd@\foobar\baz@or_broken@ @pwd@\foobar\baz@or_broken@ R I @pwd@\foobar\baz
783 @todo_wine@A @pwd@\foobar\baz\toto@or_broken@A @pwd@\foobar\baz\toto@or_broken@A I @pwd@\foobar\baz\toto
784 toto
785 lulu
786 file created in read-only dir
787 ------------ Testing assoc ------------
788 --- setting association
790 .foo=bar
791 .foo=bar
793 .foo=bar
794 --- resetting association
798 ------------ Testing ftype ------------
799 --- setting association
801 footype=foo_opencmd
802 .foo=footype
803 footype=foo_opencmd
805 footype=foo_opencmd
806 --- resetting association
807 @todo_wine@original value@or_broken@buggyXP@or_broken@!FOO!
808 ------------ Testing CALL ------------
809 --- external script
810 foo@space@
811 foo 8
812 foo@space@@space@
813 foo bar@space@
814 foo ""@space@
815 "" bar@space@
816 foo ''@space@
817 '' bar@space@
818 --- internal routines
819 bar :testRoutine
820 foo@space@
821 foo bar
822 foo ""
823 "" bar
824 foo ''
825 '' bar
826 --- with builtins
827 @todo_wine@0
828 @todo_wine@foo created
829 @todo_wine@Should expand foobaz
830 @todo_wine@batfile
831 @todo_wine@robinfile
832 @todo_wine@1
833 @todo_wine@1
834 non-builtin dir
835 ------------ Testing SHIFT ------------
836 'p1' 'p2' 'p3' 'p4' 'p5'
837 'p2' 'p3' 'p4' 'p5' ''
838 'p3' 'p4' 'p5' '' ''
839 'p3' 'p5' '' '' ''
840 'p3' 'p5' '' '' ''
841 'p5' '' '' '' ''
842 ------------ Testing cmd invocation ------------
843 --- a batch file can delete itself
844 file correctly deleted
845 --- a batch file can alter itself
846 @todo_wine@bar
847 ---------- Testing copy
848 Passed: Found expected dummy.file
849 Passed: Found expected dir1\file1
850 Passed: Found expected dir1\file1
851 Passed: Found expected dir1\file99
852 Passed: Found expected file1
853 Passed: Did not find dir2
854 Passed: Did not find dir2\file1
855 Passed: Found expected dir1\file1
856 Passed: Found expected dir1\file2
857 Passed: Found expected dir1\file3
858 Passed: Found expected dir1\file1
859 Passed: Found expected dir1\file2
860 Passed: Found expected dir1\file3
861 Passed: Found expected file1
862 Passed: Found expected file2
863 Passed: Found expected file3
864 Passed: Did not find dir2
865 Passed: Did not find dir2\file1
866 Passed: Did not find dir2\file2
867 Passed: Did not find dir2\file3
868 Passed: Found expected testfile
869 Passed: Found expected testfile
870 Passed: Found expected testfile
871 Passed: Found expected testfile
872 Passed: Found expected testfile
873 Passed: Found expected dir1\fred
874 Passed: Found expected dir1\fred
875 Passed: Found expected fred
876 Passed: Found expected fred
877 Passed: file size check on file1 [5]@or_broken@Skipping file size check on NT4
878 Passed: file size check on file2 [8]@or_broken@Skipping file size check on NT4
879 Passed: file size check on file3 [11]@or_broken@Skipping file size check on NT4
880 Passed: file size check on file1_default [5]@or_broken@Skipping file size check on NT4
881 Passed: file size check on file1_default2 [5]@or_broken@Skipping file size check on NT4
882 Passed: file size check on file1_plus_eof [6]@or_broken@Skipping file size check on NT4
883 Passed: file size check on file2_plus_eof [9]@or_broken@Skipping file size check on NT4
884 Passed: file size check on file3_plus_eof [12]@or_broken@Skipping file size check on NT4
885 Passed: file size check on file12_plus_eof [14]@or_broken@Skipping file size check on NT4
886 Passed: file size check on file12_no_eof [13]@or_broken@Skipping file size check on NT4
887 Passed: file size check on file12_eof2 [14]@or_broken@Skipping file size check on NT4
888 Passed: file size check on file1_binary_srccopy [6]@or_broken@Skipping file size check on NT4
889 Passed: file size check on file1_ascii_srccopy [5]@or_broken@Skipping file size check on NT4
890 Passed: file size check on file123_default_copy [25]@or_broken@Skipping file size check on NT4
891 Passed: file size check on file123_ascii_copy [25]@or_broken@Skipping file size check on NT4
892 Passed: file size check on file123_binary_copy [27]@or_broken@Skipping file size check on NT4
893 Passed: file size check on file123_mixed_copy1 [26]@or_broken@Skipping file size check on NT4
894 Passed: file size check on file123_mixed_copy2 [27]@or_broken@Skipping file size check on NT4
895 Passed: file size check on file123_mixed_copy3 [26]@or_broken@Skipping file size check on NT4
896 Passed: file size check on file123_mixed_copy4 [25]@or_broken@Skipping file size check on NT4
897 Passed: file size check on file123_mixed_copy5 [28]@or_broken@Skipping file size check on NT4
898 Passed: file size check on file123_mixed_copy6 [19]@or_broken@Skipping file size check on NT4
899 Passed: file size check on file123_mixed_copy7 [6]@or_broken@Skipping file size check on NT4
900 Passed: file size check on file123_mixed_copy8 [7]@or_broken@Skipping file size check on NT4
901 Passed: errorlevel invalid check 1
902 Passed: Did not find dir1\file1
903 Passed: errorlevel invalid check 2
904 Passed: errorlevel invalid check 3
905 ------------ Testing setlocal/endlocal ------------
906 --- enable/disable extensions
907 @todo_wine@ErrLev:@space@
908 ErrLev: 0
909 ErrLev: 0
910 @todo_wine@ErrLev:@space@@or_broken@ErrLev: 0
911 ErrLev: 0
912 --- setlocal with corresponding endlocal
913 globalval
914 localval
915 @pwd@\foobar\foobar2
916 globalval
917 @pwd@\foobar
918 globalval
919 @pwd@\foobar
920 --- setlocal with no corresponding endlocal
921 globalval
922 localval
923 @pwd@\foobar\foobar2
924 globalval
925 @pwd@\foobar
926 --- setlocal within same batch program
927 Var1 ok 1
928 Var2 ok 2
929 Var3 ok 3
930 Directory is ok 1
931 Var1 ok 1
932 Var2 ok 2
933 Var3 ok 3
934 Directory is ok 2
935 Var1 ok 1
936 Var2 ok 2
937 Var3 ok 3
938 Directory is ok 3
939 --- Mismatched set and end locals
940 --- Extra setlocal in called batch
941 value2
942 2set1endvalue1
943 @pwd@\foobar\foodir3
944 Finished:
945 value2
946 @pwd@\foobar\foodir2
947 value1
948 @pwd@\foobar
949 --- Extra endlocal in called batch
950 value2
951 value2
952 @pwd@\foobar\foodir2
953 value2
954 @pwd@\foobar\foodir2
955 Finished:
956 value2
957 @pwd@\foobar\foodir2
958 value1
959 @pwd@\foobar
960 --- endlocal in called function rather than batch pgm is ineffective
969 ------------ Testing Errorlevel ------------
970 9009
972 errorlevel just right, good
973 errorlevel with leading zero just right, good
974 errorlevel with negative number OK
975 abc0def@or_broken@abc1def
976 errorlevel zero, good@or_broken@errorlevel nonzero, bad
977 7 should be 7
978 7 should still be 7
979 ------------ Testing GOTO ------------
980 goto with no leading space worked
981 goto with a leading space worked
982 goto with a leading tab worked
983 goto with a following space worked
984 ------------ Testing PATH ------------
985 PATH=original
986 PATH=try2
987 PATH=try3
988 ------------ Testing combined CALLs/GOTOs ------------
989 world
990 cheball
991 barbare
995 cheball
996 barbare