Newer
Older
@pwd@>echo Tests for cmd's builtin commands@space@
Tests for cmd's builtin commands
@pwd@>echo ------------ Testing 'echo' [ON] ------------@space@
------------ Testing 'echo' [ON] ------------
@pwd@>echo word@space@
word
@pwd@>echo 'singlequotedword'@space@
'singlequotedword'
@pwd@>echo "doublequotedword"@space@
"doublequotedword"
at-echoed-word
@pwd@>echo "/?"@space@
"/?"
@pwd@>echo .@space@
.
@pwd@>echo.word
word
@pwd@>echo .word@space@
.word
@pwd@>echo :@space@
:
@pwd@>echo:word
@pwd@>echo :word@space@
:word
Frédéric Delanoy
committed
@pwd@>echo off now@space@
off now
@pwd@>echo word@space@@space@
word@space@
@pwd@>echo word@space@@space@@space@
word@space@@space@
@pwd@>echo word@space@
word
@pwd@>echo@tab@word@space@
@pwd@>echo@tab@word@space@@tab@@space@
@pwd@>echo@tab@word@tab@@space@@space@
@pwd@>echo word@space@
word
@pwd@>echo@space@@tab@word@space@
@tab@word
@pwd@>echo@space@@space@@tab@word@space@
@space@@tab@word
@pwd@>echo@tab@@tab@word@space@
@pwd@>echo @tab@ on @space@@space@
noecho1
noecho2
echo3
------------ Testing 'echo' [OFF] ------------
word
'singlequotedword'
"doublequotedword"
at-echoed-word
"/?"
.
Frédéric Delanoy
committed
on again
word@space@
word@space@@space@
word
word@space@@tab@
word@tab@@space@
word
@tab@word
@space@@tab@word
------------ Testing mixed echo modes ------------
@echo on
if 1==1 echo foo
if 1==1 @echo bar
@echo off
if 1==1 echo foo2
if 1==1 @echo bar2
@todo_wine@@pwd@>if 1 == 1 echo foo@space@
foo
@todo_wine@@pwd@>if 1 == 1@space@
bar
foo2
bar2
------------ Testing parameterization ------------
'a', 'b', 'c'
'"a b c"', '', ''
'"a b"\c', '', ''
'a', '~`+', '.{}!+b'
'a', 'b', ''
'"a;b"', '', ''
'a[b]{c}(d)e', '', ''
'a', '', ''
second line
'a', 'b', 'c'
'a', 'b', 'c'
'a', 'b', ''
------------ Testing rem ------------
@pwd@>rem Hello@space@
@pwd@>rem Hello@space@
@pwd@>rem Hello || foo@space@
@pwd@>rem echo lol@space@
@pwd@>rem echo foo & echo bar@space@
@pwd@>rem @tab@ Hello@space@
@pwd@>rem@tab@ Hello@space@
@pwd@>rem@tab@echo foo & echo bar@space@
------------ Testing redirection operators ------------
Francois Gouget
committed
--- stdout redirection
foo
foo@space@
foo@tab@
foo@space@
foo@tab@
foo7@space@@or_broken@foo@tab@
foo9@space@@or_broken@foo@tab@
foo1
foo11
foo12
Francois Gouget
committed
--- stdout appending
foo
foo@space@
foob@space@
foob@space@
fooc@space@
foob@space@
fooc@space@
food1
foob@space@
fooc@space@
food1
food2
food21
@todo_wine@foo7@space@@space@@or_broken@not supported@space@
@todo_wine@foo@or_broken@not supported
Francois Gouget
committed
--- redirections within IF statements
@todo_wine@foo1
Francois Gouget
committed
-----
foo2
foo3
file does not exist, ok
foo4
baz5
baz6@space@
baz7
baz8
baz
foo@space@
baz
foo
A
B
C
------------ Testing circumflex escape character ------------
hello, world
hello, world
hell^o, world
hell^o, world
helloworld
hello
world
hello
finished
foo | echo bar
foo & echo bar
bak &
baz@space@
0@or_broken@1
foo > foo
<
ffoof
WINE_FOO=bar | baz
WINE_FOO=bar ^| baz
------------ Testing 'set' ------------
WINE_FOOBAR not defined
WINE_FOOBAR = baz
WINE_FOOBAR= bar
WINE_FOOBAR = baz2
WINE_FOOBAR = baz2
WINE_FOOBAR not defined
WINE_FOO not defined
WINE_BAZ=bazbaz
set "WINE_FOO=bar" should not include the quotes in the variable value
Dan Kegel
committed
bar
foo
''
------------ Testing variable expansion ------------
~dp0 should be directory containing batch file
@pwd@\
@pwd@\
Frédéric Delanoy
committed
CD value @pwd@@or_broken@CD value@space@
%
P
P
S
P
PS
ERRORLEVEL
0
00
------------ Testing variable substrings ------------
'ty'@or_broken@''
't'@or_broken@''
ert@or_broken@qwerty
e@or_broken@qwerty
''@or_broken@'qwerty'
r@or_broken@qwerty
------------ Testing variable substitution ------------
Francois Gouget
committed
--- in FOR variables
'A B'@or_broken@''
'C'@or_broken@''
@pwd@\C D@or_broken@%~ff
@pwd@\E@or_broken@%~ff
@drive@
@drive@
@path@@or_broken@%~pd
@path@@or_broken@%~pd
L M
N
'.OOL'
'.TABC'
''
@todo_wine@'@drive@@shortpath@R S'@or_broken@''
@todo_wine@'@drive@@shortpath@T'@or_broken@''
@todo_wine@'@drive@@shortpath@ABCDEFGHIJK.LMNOP'@or_broken@''
''@or_broken@'%~ai'
''@or_broken@'%~ai'
'--a------'@or_broken@'%~ai'
'5'@or_broken@'%~zi'
''@or_broken@'%~ti'
''@or_broken@'%~ti'
''@or_broken@'%~zi'
''@or_broken@'%~zi'
@drive@@path@
@drive@@path@
@drive@
@drive@
@drive@
@drive@
''
'.eh'
Francois Gouget
committed
--- in parameters
@pwd@\E
@drive@
@drive@
@path@
@path@
'.TABC'
''
@todo_wine@'@drive@@shortpath@R S'@or_broken@''
@todo_wine@'@drive@@shortpath@T'@or_broken@''
@todo_wine@'@drive@@shortpath@ABCDEFGHIJK.LMNOP'@or_broken@''
@drive@@path@
@drive@@path@
@drive@
@drive@
@drive@
@drive@
''
'.eh'@or_broken@''
------------ Testing variable delayed expansion ------------
Francois Gouget
committed
--- default mode (load-time expansion)
Francois Gouget
committed
--- runtime (delayed) expansion mode
@todo_wine@foo@or_broken@!WINE_FOO!
foo
@todo_wine@bar@or_broken@foo
0
0@or_broken@1
foo
Francois Gouget
committed
--- using /V cmd flag
@todo_wine@foo@or_broken@!WINE_FOO!
------------ Testing conditional execution ------------
Francois Gouget
committed
--- unconditional ampersand
foo1
bar2@space@
foo2
Francois Gouget
committed
--- on success conditional and
@todo_wine@foo3 not created
bar4@space@
foo4
Francois Gouget
committed
--- on failure conditional or
foo5
foo6@space@
@todo_wine@------------ Testing cd ------------
singleFile
Current dir: @pwd@\foobar@or_broken@Current dir:@space@
@pwd@\foobar
@pwd@
@pwd@\foobar
@pwd@
@pwd@\foobar
@pwd@
@pwd@\foobar\bar bak
@pwd@\foobar\bar bak
@pwd@\foobar\bar bak
@pwd@\foobar\bar bak
------------ Testing type ------------
@pwd@>type foobaz@space@
bar
Francois Gouget
committed
@pwd@>echo ---@space@
---
---1
bar
---2
bar
---3
------------ Testing NUL ------------
bar
bar
bar
NUL
foo created
Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
Passed: file size check on b.b [8]@or_broken@Skipping file size check on NT4
Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
Passed: file size check on b.b [8]@or_broken@Skipping file size check on NT4
Passed: file size check on a.a [7]@or_broken@Skipping file size check on NT4
Passed: file size check on subdir\a.a [8]@or_broken@Skipping file size check on NT4
------------ Testing if/else ------------
--- if/else should work with blocks
if seems not to detect /c as parameter
--- case sensitivity with and without /i option
if seems to default to case sensitivity
if /i seems to work
if /I seems to work
--- string comparisons
non equal
non equal
--- tabs handling
doom
doom
doom
lol
quake
quake
quake
--- comparison operators
------ for strings
LSS string can be used as operand for LSS comparison
floats are handled as strings
numbers in quotes are handled as strings
negative numbers as well@or_broken@NT4
if /i seems to work for LSS
A LSS B
A LSS AB
A LSS BA
B LSS BA
AB LSS BA
AA LSS BA
b LSS B@or_broken@NT4
a LSS B@or_broken@NT4
a LSS B insensitive
A LSS b
A LSS b insensitive
A LEQ A
A LEQ B
A LEQ AB
A LEQ BA
B LEQ BA
AB LEQ BA
BA LEQ BA
AA LEQ BA
AA LEQ AA
b LEQ B@or_broken@NT4
b LEQ B insensitive
a LEQ B@or_broken@NT4
a LEQ B insensitive
A LEQ b
A LEQ b insensitive
A EQU A
B EQU B
AB EQU AB
BA EQU BA
AA EQU AA
A EQU a insensitive
A NEQ B
A NEQ AB
A NEQ BA
A NEQ AA
B NEQ A
B NEQ AB
B NEQ BA
B NEQ AA
AB NEQ A
AB NEQ B
AB NEQ BA
AB NEQ AA
BA NEQ A
BA NEQ B
BA NEQ AB
BA NEQ AA
AA NEQ A
AA NEQ B
AA NEQ AB
AA NEQ BA
A GEQ A
B GEQ A
B GEQ B
B GEQ AB
AB GEQ AB
AB GEQ AA
BA GEQ A
BA GEQ B
BA GEQ AB
BA GEQ BA
BA GEQ AA
AA GEQ AA
B GTR A
AB GTR A
BA GTR A
BA GTR B
BA GTR AB
BA GTR AA
------ for numbers
negative numbers handled
negative numbers handled
octal handled
also in negative form
hexa handled
also in negative form
11 LSS 101
0 LSS 1
0 LSS 10
0 LSS 9
1 LSS 9
0 LEQ 0
0 LEQ 1
0 LEQ 10
1 LEQ 10
10 LEQ 10
9 LEQ 10
9 LEQ 9
0 EQU 0
1 EQU 1
10 EQU 10
9 EQU 9
octal ok
hexa ok
string/hexa compare ok
string/hexa compare ok
0 NEQ 1
0 NEQ 10
0 NEQ 9
1 NEQ 9
10 NEQ 9
9 NEQ 0
9 NEQ 1
9 NEQ 10
0 GEQ 0
1 GEQ 0
1 GEQ 1
10 GEQ 1
10 GEQ 10
10 GEQ 9
9 GEQ 9
1 GTR 0
10 GTR 0
10 GTR 1
10 GTR 9
Frédéric Delanoy
committed
------ for numbers and stringified numbers
strings and integers not equal
strings and integers not equal
foo
"10" GEQ "1"
'1' GEQ 1@or_broken@NT4
1 GEQ "1"
"1" GEQ "1"
'1' GEQ "1"
"10" GEQ "1"
non NT4@or_broken@1 GEQ '1'
'1' GEQ '1'
foo
1 GEQ "10"
foo
'1' GEQ "10"
"10" GEQ "10"
------------ Testing for ------------
Francois Gouget
committed
--- plain FOR
%I
%I
%I
%j
%j
%j
1
4
1
A
B
C
`echo
A
B`
'echo
A
B'
Francois Gouget
committed
--- imbricated FORs
X Y
X Y
A C
A D
B C
B D
A C
A D
B C
B D
Francois Gouget
committed
--- basic wildcards
Francois Gouget
committed
--- for /d
baz@space@
foo@space@
bar@space@
PASSED
xxx - Should be xxx
Expected second line
--- for /R
Plain directory enumeration
Plain directory enumeration from provided root
File enumeration
File enumeration from provided root
Mixed enumeration
Mixed enumeration from provided root
With duplicates enumeration
Strip missing wildcards, keep unwildcarded names
for /R passed
Francois Gouget
committed
--- for /L
1
3
5
1
3
5
0
2
1
-1
ErrorLevel 0
ErrorLevel 0
1
2
3
4
1
3
4
3
2
1
4
2
0
1
1
-1
-1
1
3
Francois Gouget
committed
------ individual operations
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
@todo_wine@WINE_foo correctly 3
@todo_wine@WINE_foo correctly -1
@todo_wine@WINE_foo correctly 3
@todo_wine@WINE_foo correctly 6
@todo_wine@WINE_foo correctly 10
@todo_wine@WINE_foo correctly 4
@todo_wine@WINE_foo correctly 4
@todo_wine@WINE_foo correctly -4
@todo_wine@WINE_foo correctly 0
@todo_wine@WINE_foo correctly 2
@todo_wine@WINE_foo correctly 2
@todo_wine@WINE_foo correctly -2
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_foo correctly 4
@todo_wine@WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 1073741824 [0]
@todo_wine@WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly -1073741824 [0]
@todo_wine@WINE_foo correctly -4
@todo_wine@WINE_foo correctly 9
@todo_wine@WINE_foo correctly 2
@todo_wine@WINE_foo correctly 0
@todo_wine@WINE_foo correctly -1
@todo_wine@WINE_foo correctly -3
@todo_wine@WINE_foo correctly 0
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_foo correctly 4
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_foo correctly 5
@todo_wine@WINE_foo correctly 5
@todo_wine@WINE_foo correctly 7
@todo_wine@WINE_foo correctly 5
@todo_wine@WINE_foo correctly 5
@todo_wine@WINE_foo correctly 5
@todo_wine@WINE_foo correctly 4
@todo_wine@WINE_foo correctly 6
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_foo correctly 4
Francois Gouget
committed
------ precedence and grouping
@todo_wine@WINE_foo correctly 10
@todo_wine@WINE_foo correctly 18@or_broken@ERROR: WINE_foo incorrectly [18]
@todo_wine@WINE_foo correctly 2@or_broken@ERROR: WINE_foo incorrectly 0 [2]
@todo_wine@WINE_foo correctly 2@or_broken@ERROR: WINE_foo incorrectly [2]
@todo_wine@WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 4 [0]
@todo_wine@WINE_foo correctly 4@or_broken@ERROR: WINE_foo incorrectly [4]
@todo_wine@WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly [3]
@todo_wine@WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly [3]
Francois Gouget
committed
------ octal and hexadecimal
@todo_wine@WINE_foo correctly 18
@todo_wine@WINE_foo correctly 18
@todo_wine@WINE_foo correctly 15
@todo_wine@WINE_foo correctly 3
Francois Gouget
committed
------ variables
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
@todo_wine@WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
@todo_wine@WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
@todo_wine@WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
@todo_wine@WINE_bar correctly 4@or_broken@ERROR: WINE_bar incorrectly [4]
@todo_wine@WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly 0 [3]
@todo_wine@WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
@todo_wine@WINE_baz correctly 4@or_broken@ERROR: WINE_baz incorrectly [4]
@todo_wine@WINE_foo correctly 9@or_broken@ERROR: WINE_foo incorrectly 3 [9]
@todo_wine@WINE_bar correctly 9@or_broken@ERROR: WINE_bar incorrectly 3 [9]
@todo_wine@WINE_foo correctly 0
@todo_wine@WINE_foo correctly 4
WINE_bar correctly 4
@todo_wine@WINE_foo correctly -7@or_broken@ERROR: WINE_foo incorrectly 4 [-7]
@todo_wine@WINE_bar correctly -7@or_broken@ERROR: WINE_bar incorrectly 4 [-7]
@todo_wine@WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly -7 [-1]
@todo_wine@WINE_bar correctly -1@or_broken@ERROR: WINE_bar incorrectly -7 [-1]
@todo_wine@WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
@todo_wine@WINE_bar correctly 1@or_broken@ERROR: WINE_bar incorrectly [1]
@todo_wine@WINE_foo correctly 4@or_broken@ERROR: WINE_foo incorrectly 1 [4]
@todo_wine@WINE_bar correctly 4@or_broken@ERROR: WINE_bar incorrectly 1 [4]
@todo_wine@WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 4 [1]
@todo_wine@WINE_bar correctly 1@or_broken@ERROR: WINE_bar incorrectly 4 [1]
@todo_wine@WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly 1 [0]
@todo_wine@WINE_bar correctly 0@or_broken@ERROR: WINE_bar incorrectly 1 [0]
@todo_wine@WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
@todo_wine@WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly [7]
@todo_wine@WINE_foo correctly 5@or_broken@ERROR: WINE_foo incorrectly 0 [5]
@todo_wine@WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly [7]
@todo_wine@WINE_foo correctly 19@or_broken@ERROR: WINE_foo incorrectly 0 [19]
@todo_wine@WINE_bar correctly 3@or_broken@ERROR: WINE_bar incorrectly [3]
WINE_baz correctly 4
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
--- quotes
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_bar correctly 2
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_bar correctly 2
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_bar correctly 2
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_bar correctly 2
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_bar correctly 2
@todo_wine@WINE_baz correctly 3
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_bar correctly 2
@todo_wine@WINE_baz correctly 3
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_bar correctly 2
@todo_wine@WINE_baz correctly 3
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_bar correctly 2
@todo_wine@WINE_baz correctly 3
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_bar correctly 2
@todo_wine@WINE_baz correctly 3
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_bar correctly 5
@todo_wine@WINE_baz correctly 2
@todo_wine@WINE_foo correctly 18
WINE_foo correctly 3
@todo_wine@WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly 4 [7]
--- whitespace are ignored between double char operators
@todo_wine@WINE_foo correctly 10@or_broken@ERROR: WINE_foo incorrectly 4 [10]
@todo_wine@WINE_bar correctly 50@or_broken@ERROR: WINE_bar incorrectly 5 [50]
@todo_wine@WINE_foo correctly 772@or_broken@ERROR: WINE_foo incorrectly 4 [772]
@todo_wine@WINE_bar correctly 7720@or_broken@ERROR: WINE_bar incorrectly 5 [7720]
--- invalid operator sequence
4
4
----- negative prefix
@todo_wine@WINE_foo correctly -1
@todo_wine@WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
@todo_wine@WINE_foo correctly 6
@todo_wine@WINE_foo correctly 0
@todo_wine@WINE_foo correctly 6
@todo_wine@WINE_foo correctly 2
@todo_wine@WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
@todo_wine@WINE_foo correctly 5
@todo_wine@WINE_foo correctly 3@or_broken@ERROR: WINE_foo incorrectly -5 [3]
----- assignment tests involving the end destination
@todo_wine@WINE_foo correctly 11@or_broken@ERROR: WINE_foo incorrectly 3 [11]
@todo_wine@WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 2 [6]
@todo_wine@WINE_bar correctly 9@or_broken@ERROR: WINE_bar incorrectly [9]
@todo_wine@WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 2 [6]
@todo_wine@WINE_bar correctly 10@or_broken@ERROR: WINE_bar incorrectly [10]
@todo_wine@WINE_baz correctly 7@or_broken@ERROR: WINE_baz incorrectly [7]
@todo_wine@WINE_foo correctly 7@or_broken@ERROR: WINE_foo incorrectly 2 [7]
@todo_wine@WINE_bar correctly 7@or_broken@ERROR: WINE_bar incorrectly 2 [7]
----- equal precedence on stack
@todo_wine@WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 0 [1]
@todo_wine@WINE_foo correctly 0
@todo_wine@WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
@todo_wine@WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
@todo_wine@WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
@todo_wine@WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly [-1]
@todo_wine@WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly [-1]
@todo_wine@WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly [1]
@todo_wine@WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly [0]
@todo_wine@WINE_foo correctly -1
@todo_wine@WINE_foo correctly 0@or_broken@ERROR: WINE_foo incorrectly -1 [0]
@todo_wine@WINE_foo correctly 0
@todo_wine@WINE_foo correctly 1@or_broken@ERROR: WINE_foo incorrectly 0 [1]
@todo_wine@WINE_foo correctly -1@or_broken@ERROR: WINE_foo incorrectly 0 [-1]
@todo_wine@WINE_foo correctly 25@or_broken@ERROR: WINE_foo incorrectly 20 [25]
@todo_wine@WINE_foo correctly 20
@todo_wine@WINE_foo correctly 1
@todo_wine@WINE_foo correctly 4
@todo_wine@WINE_foo correctly 7
@todo_wine@WINE_foo correctly 8@or_broken@ERROR: WINE_foo incorrectly 4 [8]
@todo_wine@WINE_foo correctly 6@or_broken@ERROR: WINE_foo incorrectly 5 [6]
@todo_wine@WINE_bar correctly 6@or_broken@ERROR: WINE_bar incorrectly 5 [6]
Francois Gouget
committed
--- for /F
------ string argument
a@or_broken@no output
a
a@or_broken@no output
a
a@or_broken@no output
a
a@or_broken@no output
a
a@or_broken@no output
Francois Gouget
committed
------ fileset argument
--------- basic blank handling
Francois Gouget
committed
--------- multi-line with empty lines
Francois Gouget
committed
--------- multiple files
a
b
c
q
kkk
q
kkk
a
b
c
------ command argument
Passed1@or_broken@Missing functionality - Broken1
Passed2@or_broken@Missing functionality - Broken2
Passed3@or_broken@Missing functionality - Broken3
Francois Gouget
committed
------ eol option
and@or_broken@Broken NT4 functionality1
Line@or_broken@Broken NT4 functionality2
Line@or_broken@Broken NT4 functionality3
ad
z@y
no output
Francois Gouget
committed
------ delims option
a@space@
a d
a
C r
foo bar baz
Francois Gouget
committed
------ skip option
c
no output
no output
c
c
no output
------ tokens= option
h=%h i=a j=%j k=%k l=%l m=%m o=%o
h=%h i=b j=%j k=%k l=%l m=%m o=%o
h=%h i=a j=c k=e l=f m=g o=%o
h=%h i=a j=e k=f g l=%l m=%m o=%o
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
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
h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o
h=%h i=a j=b k=c l=d e f g m=%m n=%n o=%o
h=%h i=a j=b k= l= m=%m n=%n o=%o
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
h=%h i=a j=b k= l= m= n=%n o=%o
h=%h i=a j=b k= l= m= n= o=%o
u=a v=b w=c x=d y=e z=f A=%A a=%a
@todo_wine@U=a V=b W=c X=d Y=e Z=f A=%A a=m
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
h=%h i=e j=%j k=%k l=%l m=%m o=%o
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
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
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
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
------------ Testing del /a ------------
not-r.test not found after delete, good
r.test found before delete, good
r.test not found after delete, good
------------ Testing del /q ------------
Dan Kegel
committed
del /q * succeeded on file1
del /q * succeeded on file2.dat
------------ Testing del /s ------------
------------ Testing rename ------------
Francois Gouget
committed
--- ren and rename are synonymous
foo renamed to bar
bar renamed to foo
Francois Gouget
committed
--- name collision
Francois Gouget
committed
--- rename read-only files
Francois Gouget
committed
--- rename directories
dir renamed
read-only dir renamed
Francois Gouget
committed
--- rename in other directory
rename impossible in other directory
original file still present
Francois Gouget
committed
--- file move
file move succeeded
@todo_wine@file move with overwrite succeeded@or_broken@file overwrite impossible!
@todo_wine@bar@or_broken@baz
read-only files are moveable
file moved in subdirectory
@todo_wine@moving a file to itself is a no-op@or_broken@moving a file to itself should be a no-op!