2 @pwd@>echo Tests for cmd's builtin commands@space@
3 Tests for cmd's builtin commands
5 @pwd@>echo ------------ Testing 'echo' [ON] --------------@space@
6 ------------ Testing 'echo' [ON] --------------
11 @pwd@>echo 'singlequotedword'@space@
14 @pwd@>echo "doublequotedword"@space@
18 @pwd@>echo "/?"@space@
30 @pwd@>echo .word@space@
42 @pwd@>echo :word@space@
45 @pwd@>echo off now@space@
48 @pwd@>echo word@space@@space@
51 @pwd@>echo word@space@@space@@space@
54 @todo_wine@@pwd@>echo word@space@
57 @pwd@>echo@tab@word@space@
60 @pwd@>echo@tab@word@space@@tab@@space@
63 @pwd@>echo@tab@word@tab@@space@@space@
66 @todo_wine@@pwd@>echo word@space@
69 @pwd@>echo@space@@tab@word@space@
72 @pwd@>echo@space@@space@@tab@word@space@
75 @pwd@>echo@tab@@tab@word@space@
77 ------------ Testing 'echo' [OFF] --------------
102 ------------ Testing rem --------------
104 @pwd@>rem Hello@space@
106 @pwd@>rem Hello@space@
108 @pwd@>rem Hello || foo@space@
110 @pwd@>rem echo lol@space@
112 @pwd@>rem echo foo & echo bar@space@
114 @pwd@>rem @tab@ Hello@space@
116 @pwd@>rem@tab@ Hello@space@
118 @pwd@>rem@tab@echo foo & echo bar@space@
119 ------------ Testing redirection operators --------------
120 ...stdout redirection
135 @todo_wine@foob@space@
136 @todo_wine@fooc@space@
140 @todo_wine@------------ Testing ^ escape character --------------
141 @todo_wine@hello, world
142 @todo_wine@hello, world
143 @todo_wine@hell^o, world
144 @todo_wine@hell^o, world
147 @todo_wine@foo | echo bar
148 @todo_wine@foo & echo bar
150 @todo_wine@baz@space@
151 @todo_wine@0@or_broken@1
155 @todo_wine@FOO=bar | baz
157 @todo_wine@FOO=bar ^| baz
160 ------------ Testing 'set' --------------
170 @todo_wine@FOOBAR= bar
171 @todo_wine@FOOBAR = baz2
180 set "FOO=bar" should not include the quotes in the variable value
186 ------------ Testing variable expansion --------------
187 ~dp0 should be directory containing batch file
190 CD value @pwd@@or_broken@CD value@space@
206 ------------ Testing variable substrings --------------
210 @todo_wine@'ty'@or_broken@''
214 ''@or_broken@'qwerty'
216 ------------ Testing variable delayed expansion --------------
217 ...default mode (load-time expansion)
222 ...runtime (delayed) expansion mode
224 @todo_wine@foo@or_broken@!FOO!
226 @todo_wine@bar@or_broken@foo
233 @todo_wine@foo@or_broken@!FOO!
236 ------------ Testing conditional execution --------------
237 @todo_wine@...unconditional &
241 @todo_wine@foobar deleted
242 @todo_wine@...on success conditional &&
243 @todo_wine@foo3 not created
246 @todo_wine@...on failure conditional ||
248 @todo_wine@foo6@space@
249 ------------ Testing cd ------------
251 Current dir: @pwd@\foobar@or_broken@Current dir:@space@
265 ------------ Testing type ------------
267 @pwd@>type foobaz@space@
270 @pwd@>echo ***@space@
274 ------------ Testing NUL ------------
279 @todo_wine@foo created
280 ------------ Testing if/else --------------
281 if/else should work with blocks
284 @todo_wine@if seems not to detect /c as parameter
285 Testing case sensitivity with and without /i option
286 if seems to default to case sensitivity
296 -----------Testing for -----------
331 @todo_wine@"echo A B"
362 @todo_wine@ErrorLevel 0
363 @todo_wine@ErrorLevel 0
365 ......individual operations
381 0@or_broken@1073741824
382 0@or_broken@-1073741824
403 ......precedence and grouping
406 @todo_wine@18@or_broken@10
407 @todo_wine@2@or_broken@0
408 @todo_wine@2@or_broken@0
411 @todo_wine@3@or_broken@4
412 ......octal and hexadecimal
413 @todo_wine@3@or_broken@4
419 @todo_wine@3@or_broken@foo not defined
420 @todo_wine@3@or_broken@0
421 @todo_wine@3@or_broken@0
422 @todo_wine@3@or_broken@0
423 @todo_wine@9@or_broken@0
425 @todo_wine@4@or_broken@0
426 @todo_wine@-7@or_broken@0
427 @todo_wine@-1@or_broken@0
428 @todo_wine@5@or_broken@0
429 @todo_wine@4@or_broken@0
430 @todo_wine@1@or_broken@0
432 @todo_wine@5@or_broken@0
435 ......string argument
441 ......fileset argument
442 .........basic blank handling
449 .........multi-line with empty lines
453 .........multiple files
476 @todo_wine@foo bar baz
482 -----------Testing del /a-----------
483 not-r.test not found after delete, good
484 r.test found before delete, good
485 r.test not found after delete, good
486 ------------ Testing del /q --------------
487 del /q * succeeded on file1
488 del /q * succeeded on file2.dat
489 ------------ Testing del /s --------------
490 ----------- Testing mkdir -----------
506 mkdir ? gives errorlevel 1
507 mkdir ?\foo gives errorlevel 1
508 mkdir foo\? gives errorlevel 1
510 mkdir foo\bar\? gives errorlevel 1
516 mkdir foo\* errorlevel 1
518 ----------- Testing rmdir -----------
527 non-empty dir not removed
529 non-empty dir not removed
530 recursive rmdir succeeded
531 recursive rmdir succeeded
536 ------------ Testing attrib --------------
537 @todo_wine@A @pwd@\foobar\foo@or_broken@A @pwd@\foobar\foo@or_broken@A I @pwd@\foobar\foo
538 ... read-only attribute
539 @todo_wine@A R @pwd@\foobar\foo@or_broken@A R @pwd@\foobar\foo@or_broken@A R I @pwd@\foobar\foo
541 foo original contents
542 Read-only file not deleted
543 Read-only file forcibly deleted
544 ... recursive behaviour
545 @todo_wine@A @pwd@\foobar\baz\level2@or_broken@A @pwd@\foobar\baz\level2@or_broken@A I @pwd@\foobar\baz\level2
546 @todo_wine@A R @pwd@\foobar\level1@or_broken@A R @pwd@\foobar\level1@or_broken@A R I @pwd@\foobar\level1
547 @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
548 @todo_wine@A @pwd@\foobar\bar@or_broken@A @pwd@\foobar\bar@or_broken@A I @pwd@\foobar\bar
549 ... folders processing
550 @todo_wine@ @pwd@\foobar@or_broken@ @pwd@\foobar@or_broken@ I @pwd@\foobar
551 @todo_wine@ R @pwd@\foobar\baz@or_broken@ R @pwd@\foobar\baz@or_broken@ @pwd@\foobar\baz@or_broken@ R I @pwd@\foobar\baz
552 @todo_wine@A @pwd@\foobar\baz\toto@or_broken@A @pwd@\foobar\baz\toto@or_broken@A I @pwd@\foobar\baz\toto
555 file created in read-only dir
556 ------------ Testing CALL --------------
561 @todo_wine@foo ""@space@
562 @todo_wine@"" bar@space@
573 @todo_wine@foo created
574 @todo_wine@Should expand foobaz
580 ------------ Testing setlocal/endlocal ------------
581 ...enable/disable extensions
582 @todo_wine@ErrLev:@space@
585 @todo_wine@ErrLev:@space@@or_broken@ErrLev: 0
587 ...setlocal with corresponding endlocal
592 ...setlocal with no corresponding endlocal
596 -----------Testing Errorlevel-----------
599 errorlevel just right, good
600 abc0def@or_broken@abc1def
601 errorlevel zero, good@or_broken@errorlevel nonzero, bad
604 -----------Testing GOTO-----------
605 goto with no leading space worked
606 goto with a leading space worked
607 goto with a leading tab worked
608 goto with a following space worked
609 -----------Done, jumping to EOF-----------