quartz: Remove unused variables.
[wine] / programs / cmd / tests / 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 off now@space@
46 off now
47
48 @pwd@>echo word@space@@space@
49 word@space@
50
51 @pwd@>echo word@space@@space@@space@
52 word@space@@space@
53
54 @pwd@>echo word@space@
55 word
56
57 @pwd@>echo@tab@word@space@
58 word
59
60 @pwd@>echo@tab@word@space@@tab@@space@
61 word@space@@tab@
62
63 @pwd@>echo@tab@word@tab@@space@@space@
64 word@tab@@space@
65
66 @pwd@>echo word@space@
67 word
68
69 @pwd@>echo@space@@tab@word@space@
70 @tab@word
71
72 @pwd@>echo@space@@space@@tab@word@space@
73 @space@@tab@word
74
75 @pwd@>echo@tab@@tab@word@space@
76 @tab@word
77
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 "/?"
88
89 .
90 word
91 .word
92
93 :
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
114
115 @todo_wine@@pwd@>if 1 == 1 echo foo@space@
116 foo
117
118 @todo_wine@@pwd@>if 1 == 1@space@
119 bar
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 ------------
137
138 @pwd@>rem Hello@space@
139
140 @pwd@>rem  Hello@space@
141
142 @pwd@>rem   Hello || foo@space@
143
144 @pwd@>rem echo lol@space@
145
146 @pwd@>rem echo foo & echo bar@space@
147
148 @pwd@>rem @tab@  Hello@space@
149
150 @pwd@>rem@tab@  Hello@space@
151
152 @pwd@>rem@tab@echo foo & echo bar@space@
153 ------------ Testing redirection operators ------------
154 --- stdout redirection
155 foo
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
169 foo
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
195 baz
196 foo@space@
197 baz
198 foo
199 A
200 B
201 C
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
211
212 finished
213 baz
214 baz
215 foo | echo bar
216 foo & echo bar
217 bak &
218 baz@space@
219 0@or_broken@1
220 foo > foo
221 <
222 ffoof
223 WINE_FOO=bar | baz
224 0
225 WINE_FOO=bar ^| baz
226 bar | baz
227 0
228 ------------ Testing 'set' ------------
229 1
230 0
231 WINE_FOOBAR not defined
232   baz
233 WINE_FOOBAR =  baz
234 0
235   baz2
236 0
237  bar
238 WINE_FOOBAR= bar
239 WINE_FOOBAR =  baz2
240 WINE_FOOBAR =  baz2
241 WINE_FOOBAR not defined
242 1
243 bar
244 foobar
245 WINE_FOO not defined
246 WINE_BAZ=bazbaz
247 bazbaz
248 set "WINE_FOO=bar" should not include the quotes in the variable value
249 bar
250 foo
251 ''
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@
259 %
260 P
261 P
262 S
263 P
264 PS
265 ERRORLEVEL
266 0
267 00
268 0ERRORLEVEL
269 0
270 0%
271 P0
272 0S
273 P0S
274 ------------ Testing variable substrings ------------
275 q
276 qwe
277 er
278 '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"
287 C
288 "A B"
289 C
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
298 L M
299 N
300 '.OOL'
301 '.TABC'
302 ''
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@
320 ''
321 '.eh'
322 --- in parameters
323 "A B"
324 C
325 'A B'@or_broken@''
326 'C'@or_broken@''
327 @pwd@\C D
328 @pwd@\E
329 @drive@
330 @drive@
331 @path@
332 @path@
333 L M
334 N
335 '.OOL'
336 '.TABC'
337 ''
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@
347 ''
348 '.eh'@or_broken@''
349 ------------ Testing variable delayed expansion ------------
350 --- default mode (load-time expansion)
351 foo
352 !WINE_FOO!
353 foo
354 foo
355 --- runtime (delayed) expansion mode
356 foo
357 @todo_wine@foo@or_broken@!WINE_FOO!
358 foo
359 @todo_wine@bar@or_broken@foo
360 0
361 0@or_broken@1
362 foo
363 !WINE_FOO!
364 --- using /V cmd flag
365 foo
366 @todo_wine@foo@or_broken@!WINE_FOO!
367 foo
368 !WINE_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 ------------
401
402 @pwd@>type foobaz@space@
403 bar
404
405 @pwd@>echo ---@space@
406 ---
407 bar
408 ---1
409 bar
410 ---2
411 bar
412 ---3
413 ------------ Testing NUL ------------
414 bar
415 bar
416 bar
417 NUL
418 foo created
419 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
420 Passed: file size check on b.b [8]@or_broken@Skipping file size check on NT4
421 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
422 Passed: file size check on b.b [8]@or_broken@Skipping file size check on NT4
423 Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
424 Passed: file size check on subdir\a.a [8]@or_broken@Skipping file size check on NT4
425 ------------ Testing if/else ------------
426 --- if/else should work with blocks
427 if seems to work
428 else seems to work
429 if seems not to detect /c as parameter
430 --- case sensitivity with and without /i option
431 if seems to default to case sensitivity
432 if /i seems to work
433 if /I seems to work
434 --- string comparisons
435 equal
436 non equal
437 non equal
438 equal
439 --- tabs handling
440 doom
441 doom
442 doom
443 lol
444 quake
445 quake
446 quake
447 --- comparison operators
448 ------ for strings
449 LSS string can be used as operand for LSS comparison
450 floats are handled as strings
451 numbers in quotes are handled as strings
452 negative numbers as well@or_broken@NT4
453 if /i seems to work for LSS
454 A LSS B
455 A LSS AB
456 A LSS BA
457 A LSS AA
458 B LSS BA
459 AB LSS B
460 AB LSS BA
461 AA LSS B
462 AA LSS AB
463 AA LSS BA
464 b LSS B@or_broken@NT4
465 a LSS B@or_broken@NT4
466 a LSS B insensitive
467 A LSS b
468 A LSS b insensitive
469 A LEQ A
470 A LEQ B
471 A LEQ AB
472 A LEQ BA
473 A LEQ AA
474 B LEQ B
475 B LEQ BA
476 AB LEQ B
477 AB LEQ AB
478 AB LEQ BA
479 BA LEQ BA
480 AA LEQ B
481 AA LEQ AB
482 AA LEQ BA
483 AA LEQ AA
484 b LEQ B@or_broken@NT4
485 b LEQ B insensitive
486 a LEQ B@or_broken@NT4
487 a LEQ B insensitive
488 A LEQ b
489 A LEQ b insensitive
490 A EQU A
491 B EQU B
492 AB EQU AB
493 BA EQU BA
494 AA EQU AA
495 A EQU a insensitive
496 A NEQ B
497 A NEQ AB
498 A NEQ BA
499 A NEQ AA
500 B NEQ A
501 B NEQ AB
502 B NEQ BA
503 B NEQ AA
504 AB NEQ A
505 AB NEQ B
506 AB NEQ BA
507 AB NEQ AA
508 BA NEQ A
509 BA NEQ B
510 BA NEQ AB
511 BA NEQ AA
512 AA NEQ A
513 AA NEQ B
514 AA NEQ AB
515 AA NEQ BA
516 A GEQ A
517 B GEQ A
518 B GEQ B
519 B GEQ AB
520 B GEQ AA
521 AB GEQ A
522 AB GEQ AB
523 AB GEQ AA
524 BA GEQ A
525 BA GEQ B
526 BA GEQ AB
527 BA GEQ BA
528 BA GEQ AA
529 AA GEQ A
530 AA GEQ AA
531 B GTR A
532 B GTR AB
533 B GTR AA
534 AB GTR A
535 AB GTR AA
536 BA GTR A
537 BA GTR B
538 BA GTR AB
539 BA GTR AA
540 AA GTR A
541 ------ for numbers
542 negative numbers handled
543 negative numbers handled
544 octal handled
545 also in negative form
546 hexa handled
547 also in negative form
548 11 LSS 101
549 0 LSS 1
550 0 LSS 10
551 0 LSS 9
552 1 LSS 10
553 1 LSS 9
554 9 LSS 10
555 0 LEQ 0
556 0 LEQ 1
557 0 LEQ 10
558 0 LEQ 9
559 1 LEQ 1
560 1 LEQ 10
561 1 LEQ 9
562 10 LEQ 10
563 9 LEQ 10
564 9 LEQ 9
565 0 EQU 0
566 1 EQU 1
567 10 EQU 10
568 9 EQU 9
569 octal ok
570 hexa ok
571 string/hexa compare ok
572 string/hexa compare ok
573 0 NEQ 1
574 0 NEQ 10
575 0 NEQ 9
576 1 NEQ 0
577 1 NEQ 10
578 1 NEQ 9
579 10 NEQ 0
580 10 NEQ 1
581 10 NEQ 9
582 9 NEQ 0
583 9 NEQ 1
584 9 NEQ 10
585 0 GEQ 0
586 1 GEQ 0
587 1 GEQ 1
588 10 GEQ 0
589 10 GEQ 1
590 10 GEQ 10
591 10 GEQ 9
592 9 GEQ 0
593 9 GEQ 1
594 9 GEQ 9
595 1 GTR 0
596 10 GTR 0
597 10 GTR 1
598 10 GTR 9
599 9 GTR 0
600 9 GTR 1
601 ------ for numbers and stringified numbers
602 strings and integers not equal
603 strings and integers not equal
604 foo
605 "10" GEQ "1"
606 '1' GEQ 1@or_broken@NT4
607 1 GEQ "1"
608 "1" GEQ "1"
609 '1' GEQ "1"
610 "10" GEQ "1"
611 non NT4@or_broken@1 GEQ '1'
612 '1' GEQ '1'
613 foo
614 1 GEQ "10"
615 foo
616 '1' GEQ "10"
617 "10" GEQ "10"
618 ------------ Testing for ------------
619 --- plain FOR
620 A
621 B
622 C
623 %I
624 %I
625 %I
626 %j
627 %j
628 %j
629 A
630 B
631 C
632 1
633 4
634 1
635 A
636 B
637 C
638 X
639 X2
640 X3
641 foo
642 M
643 X
644 M
645 N
646 O
647 `echo
648 A
649 B`
650 'echo
651 A
652 B'
653 "echo A B"
654 "A B"
655 C
656 --- imbricated FORs
657 X Y
658 X Y
659 A C
660 A D
661 B C
662 B D
663 A C
664 A D
665 B C
666 B D
667 --- basic wildcards
668 bazbaz
669 --- for /d
670 baz@space@
671 foo@space@
672 bar@space@
673 PASSED
674 xxx - Should be xxx
675 Expected second line
676 --- for /R
677 Plain directory enumeration
678 Plain directory enumeration from provided root
679 File enumeration
680 File enumeration from provided root
681 Mixed enumeration
682 Mixed enumeration from provided root
683 With duplicates enumeration
684 Strip missing wildcards, keep unwildcarded names
685 for /R passed
686 --- for /L
687 1
688 3
689 5
690 1
691 3
692 5
693 0
694 2
695 1
696 -1
697 ErrorLevel 0
698 ErrorLevel 0
699 1
700 2
701 3
702 4
703 1
704 3
705 4
706 3
707 2
708 1
709 4
710 2
711 0
712 1
713 1
714 -1
715 -1
716 1
717 3
718 --- for /a
719 ------ individual operations
720 0
721 @todo_wine@3
722 @todo_wine@-1
723 @todo_wine@3
724 @todo_wine@6
725 @todo_wine@10
726 @todo_wine@4
727 @todo_wine@4
728 @todo_wine@-4
729 0
730 @todo_wine@2
731 @todo_wine@2
732 @todo_wine@-2
733 @todo_wine@1
734 @todo_wine@4
735 0@or_broken@1073741824
736 0@or_broken@-1073741824
737 @todo_wine@-4
738 @todo_wine@9
739 @todo_wine@2
740 0
741 @todo_wine@-1
742 @todo_wine@-3
743 0
744 @todo_wine@1
745 @todo_wine@1
746 @todo_wine@4
747 @todo_wine@1
748 @todo_wine@5
749 @todo_wine@5
750 @todo_wine@7
751 @todo_wine@5
752 @todo_wine@5
753 @todo_wine@5
754 @todo_wine@4
755 @todo_wine@6
756 @todo_wine@1
757 ------ precedence and grouping
758 @todo_wine@4
759 @todo_wine@10
760 @todo_wine@18@or_broken@10
761 @todo_wine@2@or_broken@0
762 @todo_wine@2@or_broken@0
763 0@or_broken@4
764 @todo_wine@4
765 @todo_wine@3@or_broken@4
766 ------ octal and hexadecimal
767 @todo_wine@3@or_broken@4
768 @todo_wine@18
769 @todo_wine@18
770 @todo_wine@15
771 ------ variables
772 @todo_wine@3
773 @todo_wine@3@or_broken@WINE_foo not defined
774 @todo_wine@3@or_broken@0
775 @todo_wine@3@or_broken@0
776 @todo_wine@3@or_broken@0
777 @todo_wine@9@or_broken@0
778 0
779 @todo_wine@4@or_broken@0
780 @todo_wine@-7@or_broken@0
781 @todo_wine@-1@or_broken@0
782 @todo_wine@5@or_broken@0
783 @todo_wine@4@or_broken@0
784 @todo_wine@1@or_broken@0
785 0
786 @todo_wine@5@or_broken@0
787
788 --- for /F
789 ------ string argument
790 a
791 a@or_broken@no output
792 a
793 a@or_broken@no output
794 a
795 a@or_broken@no output
796 a
797 a@or_broken@no output
798 a
799 a@or_broken@no output
800 ------ fileset argument
801 --------- basic blank handling
802 a
803 a
804 a
805 a
806 a
807 b
808 --------- multi-line with empty lines
809 a
810 b
811 c
812 --------- multiple files
813 a
814 b
815 c
816 q
817 kkk
818 q
819 kkk
820 a
821 b
822 c
823 ------ command argument
824 Passed1@or_broken@Missing functionality - Broken1
825 Passed2@or_broken@Missing functionality - Broken2
826 Passed3@or_broken@Missing functionality - Broken3
827 ------ eol option
828 and@or_broken@Broken NT4 functionality1
829 Line@or_broken@Broken NT4 functionality2
830 Line@or_broken@Broken NT4 functionality3
831 ad
832 z@y
833 a|d
834 no output
835 no output
836 ------ delims option
837 a
838 a@space@
839 a d
840 a
841 C r
842 foo bar baz
843 @todo_wine@c:\
844 ------ skip option
845 c
846 no output
847 no output
848 c
849 c
850 no output
851 ------ tokens= option
852 h=%h i=a j=%j k=%k l=%l m=%m o=%o
853 h=%h i=b j=%j k=%k l=%l m=%m o=%o
854 h=%h i=a j=c k=e l=f m=g o=%o
855 h=%h i=a j=e k=f g l=%l m=%m o=%o
856 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
857 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
858 h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o
859 h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o
860 h=%h i=a j=b k= l= m=%m n=%n o=%o
861 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
862 h=%h i=a j=b k= l= m= n=%n o=%o
863 h=%h i=a j=b k= l= m= n= o=%o
864 u=a v=b w=c x=d y=e z=f A=%A a=%a
865 @todo_wine@U=a V=b W=c X=d Y=e Z=f A=%A a=m
866 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
867 h=%h i=e j=%j k=%k l=%l m=%m o=%o
868 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
869 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
870 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
871 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
872 ------------ Testing del /a ------------
873 not-r.test not found after delete, good
874 r.test found before delete, good
875 r.test not found after delete, good
876 ------------ Testing del /q ------------
877 del /q * succeeded on file1
878 del /q * succeeded on file2.dat
879 ------------ Testing del /s ------------
880 ------------ Testing rename ------------
881 --- ren and rename are synonymous
882 foo renamed to bar
883 bar renamed to foo
884 --- name collision
885 foo
886 bar
887 --- rename read-only files
888 read-only file renamed
889 --- rename directories
890 dir renamed
891 read-only dir renamed
892 --- rename in other directory
893 rename impossible in other directory
894 original file still present
895 ------------ Testing move ------------
896 --- file move
897 file move succeeded
898 @todo_wine@file move with overwrite succeeded@or_broken@file overwrite impossible!
899 @todo_wine@bar@or_broken@baz
900 read-only files are moveable
901 file moved in subdirectory
902 @todo_wine@moving a file to itself is a no-op@or_broken@moving a file to itself should be a no-op!
903 @todo_wine@ErrorLevel: 0@or_broken@ErrorLevel: 1
904 --- directory move
905 simple directory move succeeded
906 moving a directory to itself gives error; errlevel 1
907 ------ dir in dir move
908 foo
909 bar2
910 foo2
911 ------------ Testing mkdir ------------
912 --- md and mkdir are synonymous
913 0
914 0
915 --- creating an already existing directory/file must fail
916 1
917 1
918 --- multilevel path creation
919 0
920 0
921 0
922 0
923 0
924 1
925 0
926 0
927 --- trailing backslashes
928 0
929 dir created
930 0
931 --- invalid chars
932 mkdir ? gives errorlevel 1
933 mkdir ?\foo gives errorlevel 1
934 mkdir foo\? gives errorlevel 1
935 ok, foo created
936 mkdir foo\bar\? gives errorlevel 1
937 ok, foo\bar created
938 --- multiple directories at once
939 foo created
940 bar created
941 foobar created
942 bar\baz created
943 bazbaz created
944 zabzab created
945 mkdir foo\* errorlevel 1
946 ok, foo created
947 ------------ Testing rmdir ------------
948 0
949 dir removed
950 0
951 dir removed
952 0
953 0
954 file not removed
955 0
956 non-empty dir not removed
957 0
958 non-empty dir not removed
959 recursive rmdir succeeded
960 recursive rmdir succeeded
961 foo removed
962 bar removed
963 foobar removed
964 bar\baz removed
965 ------------ Testing pushd/popd ------------
966 @pwd@
967 --- popd is no-op when dir stack is empty
968 @pwd@
969 --- pushing non-existing dir
970 @pwd@
971 --- basic behaviour
972 @pwd@\foobar
973 @pwd@
974 @pwd@\foobar\baz
975 @pwd@\foobar
976 @pwd@\foobar
977 @pwd@
978 @pwd@\foobar
979 @pwd@
980 ------------ Testing attrib ------------
981 A            @pwd@\foobar\foo@or_broken@A          @pwd@\foobar\foo@or_broken@A       I    @pwd@\foobar\foo
982 --- read-only attribute
983 A    R       @pwd@\foobar\foo@or_broken@A    R     @pwd@\foobar\foo@or_broken@A    R  I    @pwd@\foobar\foo
984 foo
985 foo original contents
986 Read-only file not deleted
987 Read-only file forcibly deleted
988 --- recursive behaviour
989 A            @pwd@\foobar\baz\level2@or_broken@A          @pwd@\foobar\baz\level2@or_broken@A       I    @pwd@\foobar\baz\level2
990 A    R       @pwd@\foobar\level1@or_broken@A    R     @pwd@\foobar\level1@or_broken@A    R  I    @pwd@\foobar\level1
991 A    R       @pwd@\foobar\baz\level2@or_broken@A    R     @pwd@\foobar\baz\level2@or_broken@A    R  I    @pwd@\foobar\baz\level2
992 A            @pwd@\foobar\bar@or_broken@A          @pwd@\foobar\bar@or_broken@A       I    @pwd@\foobar\bar
993 --- folders processing
994              @pwd@\foobar@or_broken@           @pwd@\foobar@or_broken@        I    @pwd@\foobar
995 @todo_wine@     R       @pwd@\foobar\baz@or_broken@     R     @pwd@\foobar\baz@or_broken@           @pwd@\foobar\baz@or_broken@     R  I    @pwd@\foobar\baz
996 A            @pwd@\foobar\baz\toto@or_broken@A          @pwd@\foobar\baz\toto@or_broken@A       I    @pwd@\foobar\baz\toto
997 toto
998 lulu
999 file created in read-only dir
1000 ------------ Testing assoc ------------
1001 --- setting association
1002 ---
1003 .foo=bar
1004 .foo=bar
1005 +++
1006 .foo=bar
1007 --- resetting association
1008 ---
1009 +++
1010 ---
1011 ------------ Testing ftype ------------
1012 --- setting association
1013 ---
1014 footype=foo_opencmd
1015 .foo=footype
1016 footype=foo_opencmd
1017 +++
1018 footype=foo_opencmd
1019 --- resetting association
1020 @todo_wine@original value@or_broken@buggyXP@or_broken@!WINE_FOO!
1021 ------------ Testing CALL ------------
1022 --- external script
1023 foo@space@
1024 foo 8
1025 foo@space@@space@
1026 foo bar@space@
1027 foo ""@space@
1028 "" bar@space@
1029 foo ''@space@
1030 '' bar@space@
1031 --- internal routines
1032 bar :testRoutine
1033 foo@space@
1034 foo bar
1035 foo ""
1036 "" bar
1037 foo ''
1038 '' bar
1039 --- with builtins
1040 0
1041 foo created
1042 Should expand foobaz
1043 batfile
1044 robinfile
1045 1
1046 1
1047 non-builtin dir
1048 Line one
1049 Line two
1050 Get if
1051 ... and else!
1052 passed
1053 ------------ Testing SHIFT ------------
1054 'p1' 'p2' 'p3' 'p4' 'p5'
1055 'p2' 'p3' 'p4' 'p5' ''
1056 'p3' 'p4' 'p5' '' ''
1057 'p3' 'p5' '' '' ''
1058 'p3' 'p5' '' '' ''
1059 'p5' '' '' '' ''
1060 ------------ Testing cmd invocation ------------
1061 --- a batch file can delete itself
1062 file correctly deleted
1063 --- a batch file can alter itself
1064 @todo_wine@bar
1065 ---------- Testing copy
1066 Passed: Found expected dummy.file
1067 Passed: Found expected dir1\file1
1068 Passed: Found expected dir1\file1
1069 Passed: Found expected dir1\file99
1070 Passed: Found expected file1
1071 Passed: Did not find dir2
1072 Passed: Did not find dir2\file1
1073 Passed: Found expected dir1\file1
1074 Passed: Found expected dir1\file2
1075 Passed: Found expected dir1\file3
1076 Passed: Found expected dir1\file1
1077 Passed: Found expected dir1\file2
1078 Passed: Found expected dir1\file3
1079 Passed: Found expected file1
1080 Passed: Found expected file2
1081 Passed: Found expected file3
1082 Passed: Did not find dir2
1083 Passed: Did not find dir2\file1
1084 Passed: Did not find dir2\file2
1085 Passed: Did not find dir2\file3
1086 Passed: Found expected testfile
1087 Passed: Found expected testfile
1088 Passed: Found expected testfile
1089 Passed: Found expected testfile
1090 Passed: Found expected testfile
1091 Passed: Found expected dir1\fred
1092 Passed: Found expected dir1\fred
1093 Passed: Found expected fred
1094 Passed: Found expected fred
1095 Passed: file size check on file1 [5]@or_broken@Skipping file size check on NT4
1096 Passed: file size check on file2 [8]@or_broken@Skipping file size check on NT4
1097 Passed: file size check on file3 [11]@or_broken@Skipping file size check on NT4
1098 Passed: file size check on file1_default [5]@or_broken@Skipping file size check on NT4
1099 Passed: file size check on file1_default2 [5]@or_broken@Skipping file size check on NT4
1100 Passed: file size check on file1_plus_eof [6]@or_broken@Skipping file size check on NT4
1101 Passed: file size check on file2_plus_eof [9]@or_broken@Skipping file size check on NT4
1102 Passed: file size check on file3_plus_eof [12]@or_broken@Skipping file size check on NT4
1103 Passed: file size check on file12_plus_eof [14]@or_broken@Skipping file size check on NT4
1104 Passed: file size check on file12_no_eof [13]@or_broken@Skipping file size check on NT4
1105 Passed: file size check on file12_eof2 [14]@or_broken@Skipping file size check on NT4
1106 Passed: file size check on file1_binary_srccopy [6]@or_broken@Skipping file size check on NT4
1107 Passed: file size check on file1_ascii_srccopy [5]@or_broken@Skipping file size check on NT4
1108 Passed: file size check on file123_default_copy [25]@or_broken@Skipping file size check on NT4
1109 Passed: file size check on file123_ascii_copy [25]@or_broken@Skipping file size check on NT4
1110 Passed: file size check on file123_binary_copy [27]@or_broken@Skipping file size check on NT4
1111 Passed: file size check on file123_mixed_copy1 [26]@or_broken@Skipping file size check on NT4
1112 Passed: file size check on file123_mixed_copy2 [27]@or_broken@Skipping file size check on NT4
1113 Passed: file size check on file123_mixed_copy3 [26]@or_broken@Skipping file size check on NT4
1114 Passed: file size check on file123_mixed_copy4 [25]@or_broken@Skipping file size check on NT4
1115 Passed: file size check on file123_mixed_copy5 [28]@or_broken@Skipping file size check on NT4
1116 Passed: file size check on file123_mixed_copy6 [19]@or_broken@Skipping file size check on NT4
1117 Passed: file size check on file123_mixed_copy7 [6]@or_broken@Skipping file size check on NT4
1118 Passed: file size check on file123_mixed_copy8 [7]@or_broken@Skipping file size check on NT4
1119 Passed: errorlevel invalid check 1
1120 Passed: Did not find dir1\file1
1121 Passed: errorlevel invalid check 2
1122 Passed: errorlevel invalid check 3
1123 ------------ Testing setlocal/endlocal ------------
1124 --- enable/disable extensions
1125 @todo_wine@ErrLev:@space@
1126 ErrLev: 0
1127 ErrLev: 0
1128 @todo_wine@ErrLev:@space@@or_broken@ErrLev: 0
1129 ErrLev: 0
1130 --- setlocal with corresponding endlocal
1131 globalval
1132 localval
1133 @pwd@\foobar\foobar2
1134 globalval
1135 @pwd@\foobar
1136 globalval
1137 @pwd@\foobar
1138 --- setlocal with no corresponding endlocal
1139 globalval
1140 localval
1141 @pwd@\foobar\foobar2
1142 globalval
1143 @pwd@\foobar
1144 --- setlocal within same batch program
1145 Var1 ok 1
1146 Var2 ok 2
1147 Var3 ok 3
1148 Directory is ok 1
1149 Var1 ok 1
1150 Var2 ok 2
1151 Var3 ok 3
1152 Directory is ok 2
1153 Var1 ok 1
1154 Var2 ok 2
1155 Var3 ok 3
1156 Directory is ok 3
1157 --- Mismatched set and end locals
1158 --- Extra setlocal in called batch
1159 value2
1160 2set1endvalue1
1161 @pwd@\foobar\foodir3
1162 Finished:
1163 value2
1164 @pwd@\foobar\foodir2
1165 value1
1166 @pwd@\foobar
1167 --- Extra endlocal in called batch
1168 value2
1169 value2
1170 @pwd@\foobar\foodir2
1171 value2
1172 @pwd@\foobar\foodir2
1173 Finished:
1174 value2
1175 @pwd@\foobar\foodir2
1176 value1
1177 @pwd@\foobar
1178 --- endlocal in called function rather than batch pgm is ineffective
1179 2
1180 2
1181 1
1182 2
1183 1
1184 2
1185 1
1186 1
1187 ------------ Testing Errorlevel ------------
1188 9009
1189 1
1190 errorlevel just right, good
1191 errorlevel with leading zero just right, good
1192 errorlevel with negative number OK
1193 abc0def@or_broken@abc1def
1194 errorlevel zero, good@or_broken@errorlevel nonzero, bad
1195 7 should be 7
1196 7 should still be 7
1197 ------------ Testing GOTO ------------
1198 goto with no leading space worked
1199 goto with a leading space worked
1200 goto with a leading tab worked
1201 goto with a following space worked
1202 ------------ Testing PATH ------------
1203 PATH=original
1204 PATH=try2
1205 PATH=try3
1206 ------------ Testing combined CALLs/GOTOs ------------
1207 world
1208 cheball
1209 barbare
1210 bar
1211 foo
1212 baz
1213 cheball
1214 barbare