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 @todo_wine@@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 @todo_wine@@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 ------------ Testing 'echo' [OFF] --------------
78 word
79 'singlequotedword'
80 "doublequotedword"
81 at-echoed-word
82 "/?"
83
84 .
85 word
86 .word
87
88 :
89 word
90 :word
91 on again
92 word@space@
93 word@space@@space@
94 word
95 word
96 word@space@@tab@
97 word@tab@@space@
98 word
99 @tab@word
100 @space@@tab@word
101 @tab@word
102 ------------ Testing rem --------------
103
104 @pwd@>rem Hello@space@
105
106 @pwd@>rem Hello@space@
107
108 @pwd@>rem Hello || foo@space@
109
110 @pwd@>rem echo lol@space@
111
112 @pwd@>rem echo foo & echo bar@space@
113
114 @pwd@>rem @tab@ Hello@space@
115
116 @pwd@>rem@tab@ Hello@space@
117
118 @pwd@>rem@tab@echo foo & echo bar@space@
119 ------------ Testing redirection operators --------------
120 ...stdout redirection
121 foo
122 foo@space@
123 @todo_wine@foo1
124 @todo_wine@foo11
125 @todo_wine@foo12
126 ...stdout appending
127 foo
128 foo@space@
129 foob@space@
130 foob@space@
131 fooc@space@
132 foob@space@
133 fooc@space@
134 @todo_wine@food1
135 @todo_wine@foob@space@
136 @todo_wine@fooc@space@
137 @todo_wine@food1
138 @todo_wine@food2
139 @todo_wine@food21
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
145 baz
146 @todo_wine@baz
147 @todo_wine@foo | echo bar
148 @todo_wine@foo & echo bar
149 @todo_wine@bak &
150 @todo_wine@baz@space@
151 @todo_wine@0@or_broken@1
152 @todo_wine@foo > foo
153 @todo_wine@<
154 @todo_wine@ffoof
155 @todo_wine@FOO=bar | baz
156 @todo_wine@0
157 @todo_wine@FOO=bar ^| baz
158 @todo_wine@bar | baz
159 @todo_wine@0
160 ------------ Testing 'set' --------------
161 1
162 @todo_wine@0
163 FOOBAR not defined
164 @todo_wine@ baz
165 FOOBAR = baz
166 @todo_wine@0
167 @todo_wine@ baz2
168 @todo_wine@0
169 bar
170 @todo_wine@FOOBAR= bar
171 @todo_wine@FOOBAR = baz2
172 FOOBAR = baz2
173 FOOBAR not defined
174 1
175 bar
176 foobar
177 FOO not defined
178 BAZ=bazbaz
179 bazbaz
180 set "FOO=bar" should not include the quotes in the variable value
181 bar
182 foo
183 ''
184 'foo@space@'
185 'foo@tab@'
186 ------------ Testing variable expansion --------------
187 ~dp0 should be directory containing batch file
188 @pwd@\
189 @pwd@\
190 CD value @pwd@@or_broken@CD value@space@
191 %
192 P
193 P
194 S
195 P
196 PS
197 ERRORLEVEL
198 0
199 00
200 0ERRORLEVEL
201 0
202 0%
203 P0
204 0S
205 P0S
206 ------------ Testing variable substrings --------------
207 q
208 qwe
209 er
210 @todo_wine@'ty'@or_broken@''
211 't'@or_broken@''
212 ert@or_broken@qwerty
213 e@or_broken@qwerty
214 ''@or_broken@'qwerty'
215 r@or_broken@qwerty
216 ------------ Testing variable substitution --------------
217 ...in FOR variables
218 @todo_wine@"A B"
219 C
220 'A B'@or_broken@''
221 'C'@or_broken@''
222 @pwd@\C D@or_broken@%~ff
223 @pwd@\E@or_broken@%~ff
224 @drive@
225 @drive@
226 @path@@or_broken@%~pd
227 @path@@or_broken@%~pd
228 L M
229 N
230 '.OOL'
231 '.TABC'
232 ''
233 @todo_wine@'@drive@@shortpath@R S'@or_broken@''
234 @todo_wine@'@drive@@shortpath@T'@or_broken@''
235 @todo_wine@'@drive@@shortpath@ABCDEFGHIJK.LMNOP'@or_broken@''
236 @todo_wine@''@or_broken@'%~ai'
237 @todo_wine@''@or_broken@'%~ai'
238 @todo_wine@'--a------'@or_broken@'%~ai'
239 @todo_wine@''@or_broken@'%~ti'
240 @todo_wine@''@or_broken@'%~ti'
241 @todo_wine@''@or_broken@'%~zi'
242 @todo_wine@''@or_broken@'%~zi'
243 @drive@@path@
244 @drive@@path@
245 @drive@
246 @drive@
247 @drive@
248 @drive@
249 ''
250 '.eh'
251 ...in parameters
252 @todo_wine@"A B"
253 C
254 @todo_wine@'A B'@or_broken@''
255 'C'@or_broken@''
256 @todo_wine@@pwd@\C D
257 @pwd@\E
258 @drive@
259 @drive@
260 @path@
261 @path@
262 @todo_wine@L M
263 N
264 @todo_wine@'.OOL'
265 '.TABC'
266 ''
267 @todo_wine@'@drive@@shortpath@R S'@or_broken@''
268 @todo_wine@'@drive@@shortpath@T'@or_broken@''
269 @todo_wine@'@drive@@shortpath@ABCDEFGHIJK.LMNOP'@or_broken@''
270 @drive@@path@
271 @drive@@path@
272 @drive@
273 @drive@
274 @drive@
275 @drive@
276 ''
277 '.eh'@or_broken@''
278 ------------ Testing variable delayed expansion --------------
279 ...default mode (load-time expansion)
280 foo
281 !FOO!
282 foo
283 foo
284 ...runtime (delayed) expansion mode
285 foo
286 @todo_wine@foo@or_broken@!FOO!
287 foo
288 @todo_wine@bar@or_broken@foo
289 0
290 0@or_broken@1
291 foo
292 !FOO!
293 ...using /V cmd flag
294 foo
295 @todo_wine@foo@or_broken@!FOO!
296 foo
297 !FOO!
298 ------------ Testing conditional execution --------------
299 @todo_wine@...unconditional &
300 foo1
301 bar2@space@
302 foo2
303 @todo_wine@foobar deleted
304 @todo_wine@...on success conditional &&
305 @todo_wine@foo3 not created
306 bar4@space@
307 foo4
308 @todo_wine@...on failure conditional ||
309 @todo_wine@foo5
310 @todo_wine@foo6@space@
311 ------------ Testing cd ------------
312 singleFile
313 Current dir: @pwd@\foobar@or_broken@Current dir:@space@
314 @pwd@\foobar
315 @pwd@
316 @pwd@\foobar
317 @pwd@
318 @pwd@\foobar
319 @pwd@
320 @todo_wine@@pwd@
321 @todo_wine@@pwd@
322 @pwd@\foobar\bar bak
323 @pwd@\foobar\bar bak
324 @pwd@\foobar\bar bak
325 @pwd@
326 @pwd@\foobar
327 ------------ Testing type ------------
328
329 @pwd@>type foobaz@space@
330 bar
331
332 @pwd@>echo ***@space@
333 ***
334 bar
335 ***
336 ------------ Testing NUL ------------
337 bar
338 bar
339 bar
340 NUL
341 @todo_wine@foo created
342 ------------ Testing if/else --------------
343 if/else should work with blocks
344 if seems to work
345 else seems to work
346 @todo_wine@if seems not to detect /c as parameter
347 Testing case sensitivity with and without /i option
348 if seems to default to case sensitivity
349 if /i seems to work
350 if /I seems to work
351 doom
352 doom
353 doom
354 lol
355 quake
356 quake
357 quake
358 -----------Testing for -----------
359 ...plain FOR
360 A
361 B
362 C
363 %I
364 %I
365 %I
366 %j
367 %j
368 %j
369 A
370 B
371 C
372 1
373 4
374 1
375 A
376 B
377 C
378 X
379 X2
380 X3
381 foo
382 M
383 X
384 M
385 N
386 O
387 `echo
388 A
389 B`
390 'echo
391 A
392 B'
393 @todo_wine@"echo A B"
394 @todo_wine@"A B"
395 C
396 ...imbricated FORs
397 @todo_wine@X Y
398 @todo_wine@X Y
399 @todo_wine@A C
400 @todo_wine@A D
401 @todo_wine@B C
402 @todo_wine@B D
403 @todo_wine@A C
404 @todo_wine@A D
405 @todo_wine@B C
406 @todo_wine@B D
407 ...basic wildcards
408 bazbaz
409 ...for /d
410 baz
411 foo
412 bar
413 ...for /L
414 1
415 3
416 5
417 1
418 3
419 5
420 0
421 2
422 1
423 -1
424 @todo_wine@ErrorLevel 0
425 @todo_wine@ErrorLevel 0
426 ...for /a
427 ......individual operations
428 0
429 @todo_wine@3
430 @todo_wine@-1
431 @todo_wine@3
432 @todo_wine@6
433 @todo_wine@10
434 @todo_wine@4
435 @todo_wine@4
436 @todo_wine@-4
437 0
438 @todo_wine@2
439 @todo_wine@2
440 @todo_wine@-2
441 @todo_wine@1
442 @todo_wine@4
443 0@or_broken@1073741824
444 0@or_broken@-1073741824
445 @todo_wine@-4
446 @todo_wine@9
447 @todo_wine@2
448 0
449 @todo_wine@-1
450 @todo_wine@-3
451 0
452 @todo_wine@1
453 @todo_wine@1
454 @todo_wine@4
455 @todo_wine@1
456 @todo_wine@5
457 @todo_wine@5
458 @todo_wine@7
459 @todo_wine@5
460 @todo_wine@5
461 @todo_wine@5
462 @todo_wine@4
463 @todo_wine@6
464 @todo_wine@1
465 ......precedence and grouping
466 @todo_wine@4
467 @todo_wine@10
468 @todo_wine@18@or_broken@10
469 @todo_wine@2@or_broken@0
470 @todo_wine@2@or_broken@0
471 0@or_broken@4
472 @todo_wine@4
473 @todo_wine@3@or_broken@4
474 ......octal and hexadecimal
475 @todo_wine@3@or_broken@4
476 @todo_wine@18
477 @todo_wine@18
478 @todo_wine@15
479 ......variables
480 @todo_wine@3
481 @todo_wine@3@or_broken@foo not defined
482 @todo_wine@3@or_broken@0
483 @todo_wine@3@or_broken@0
484 @todo_wine@3@or_broken@0
485 @todo_wine@9@or_broken@0
486 0
487 @todo_wine@4@or_broken@0
488 @todo_wine@-7@or_broken@0
489 @todo_wine@-1@or_broken@0
490 @todo_wine@5@or_broken@0
491 @todo_wine@4@or_broken@0
492 @todo_wine@1@or_broken@0
493 0
494 @todo_wine@5@or_broken@0
495
496 ...for /F
497 ......string argument
498 a
499 a
500 a
501 a
502 a
503 ......fileset argument
504 .........basic blank handling
505 a
506 a
507 a
508 a
509 a
510 b
511 .........multi-line with empty lines
512 a
513 b
514 c
515 .........multiple files
516 a
517 b
518 c
519 q
520 kkk
521 q
522 kkk
523 a
524 b
525 c
526 ......eol option
527 @todo_wine@ad
528 @todo_wine@z@y
529 @todo_wine@a|d
530 @todo_wine@no output
531 @todo_wine@no output
532 ......delims option
533 @todo_wine@a
534 @todo_wine@a@space@
535 @todo_wine@a d
536 @todo_wine@a
537 @todo_wine@C r
538 @todo_wine@foo bar baz
539 @todo_wine@c:\
540 ......skip option
541 @todo_wine@c
542 @todo_wine@no output
543 @todo_wine@no output
544 -----------Testing del /a-----------
545 not-r.test not found after delete, good
546 r.test found before delete, good
547 r.test not found after delete, good
548 ------------ Testing del /q --------------
549 del /q * succeeded on file1
550 del /q * succeeded on file2.dat
551 ------------ Testing del /s --------------
552 ----------- Testing mkdir -----------
553 0
554 0
555 1
556 1
557 0
558 0
559 0
560 0
561 0
562 1
563 0
564 0
565 0
566 dir created
567 0
568 mkdir ? gives errorlevel 1
569 mkdir ?\foo gives errorlevel 1
570 mkdir foo\? gives errorlevel 1
571 ok, foo created
572 mkdir foo\bar\? gives errorlevel 1
573 ok, foo\bar created
574 foo created
575 bar created
576 foobar created
577 bar\baz created
578 mkdir foo\* errorlevel 1
579 ok, foo created
580 ----------- Testing rmdir -----------
581 0
582 dir removed
583 0
584 dir removed
585 0
586 0
587 file not removed
588 0
589 non-empty dir not removed
590 0
591 non-empty dir not removed
592 recursive rmdir succeeded
593 recursive rmdir succeeded
594 foo removed
595 bar removed
596 foobar removed
597 bar\baz removed
598 ------------ Testing attrib --------------
599 @todo_wine@A @pwd@\foobar\foo@or_broken@A @pwd@\foobar\foo@or_broken@A I @pwd@\foobar\foo
600 ... read-only attribute
601 @todo_wine@A R @pwd@\foobar\foo@or_broken@A R @pwd@\foobar\foo@or_broken@A R I @pwd@\foobar\foo
602 foo
603 foo original contents
604 Read-only file not deleted
605 Read-only file forcibly deleted
606 ... recursive behaviour
607 @todo_wine@A @pwd@\foobar\baz\level2@or_broken@A @pwd@\foobar\baz\level2@or_broken@A I @pwd@\foobar\baz\level2
608 @todo_wine@A R @pwd@\foobar\level1@or_broken@A R @pwd@\foobar\level1@or_broken@A R I @pwd@\foobar\level1
609 @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
610 @todo_wine@A @pwd@\foobar\bar@or_broken@A @pwd@\foobar\bar@or_broken@A I @pwd@\foobar\bar
611 ... folders processing
612 @todo_wine@ @pwd@\foobar@or_broken@ @pwd@\foobar@or_broken@ I @pwd@\foobar
613 @todo_wine@ R @pwd@\foobar\baz@or_broken@ R @pwd@\foobar\baz@or_broken@ @pwd@\foobar\baz@or_broken@ R I @pwd@\foobar\baz
614 @todo_wine@A @pwd@\foobar\baz\toto@or_broken@A @pwd@\foobar\baz\toto@or_broken@A I @pwd@\foobar\baz\toto
615 toto
616 lulu
617 file created in read-only dir
618 ------------ Testing CALL --------------
619 foo@space@
620 @todo_wine@foo 8
621 foo@space@@space@
622 foo bar@space@
623 @todo_wine@foo ""@space@
624 @todo_wine@"" bar@space@
625 foo ''@space@
626 '' bar@space@
627 bar :testRoutine
628 foo@space@
629 foo bar
630 @todo_wine@foo ""
631 @todo_wine@"" bar
632 foo ''
633 '' bar
634 @todo_wine@0
635 @todo_wine@foo created
636 @todo_wine@Should expand foobaz
637 @todo_wine@batfile
638 @todo_wine@robinfile
639 @todo_wine@1
640 @todo_wine@1
641 non-builtin dir
642 ------------ Testing setlocal/endlocal ------------
643 ...enable/disable extensions
644 @todo_wine@ErrLev:@space@
645 ErrLev: 0
646 ErrLev: 0
647 @todo_wine@ErrLev:@space@@or_broken@ErrLev: 0
648 ErrLev: 0
649 ...setlocal with corresponding endlocal
650 globalval
651 localval
652 globalval
653 globalval
654 ...setlocal with no corresponding endlocal
655 globalval
656 localval
657 @todo_wine@globalval
658 -----------Testing Errorlevel-----------
659 9009
660 1
661 errorlevel just right, good
662 abc0def@or_broken@abc1def
663 errorlevel zero, good@or_broken@errorlevel nonzero, bad
664 7 should be 7
665 7 should still be 7
666 -----------Testing GOTO-----------
667 goto with no leading space worked
668 goto with a leading space worked
669 goto with a leading tab worked
670 goto with a following space worked
671 -----------Done, jumping to EOF-----------
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.