<testcase>
<info>
<keywords>
FTP
RETR
multi
wildcardmatch
ftplistparser
</keywords>
</info>

# Server-side
<reply>
<data>
</data>
</reply>

# Client-side
<client>
<server>
ftp
</server>
<tool>
lib%TESTNUMBER
</tool>
<name>
FTP wildcard download - dup_handle and multi interface
</name>
<command>
ftp://%HOSTIP:%FTPPORT/fully_simulated/UNIX/*
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
0
</errorcode>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
CWD fully_simulated
CWD UNIX
EPSV
TYPE A
LIST
EPSV
TYPE I
RETR chmod1
EPSV
RETR chmod2
EPSV
RETR chmod3
EPSV
RETR empty_file.dat
EPSV
RETR file.txt
EPSV
RETR someothertext.txt
CWD /
CWD fully_simulated
CWD UNIX
EPSV
TYPE A
LIST
EPSV
TYPE I
RETR chmod1
EPSV
RETR chmod2
EPSV
RETR chmod3
EPSV
RETR empty_file.dat
EPSV
RETR file.txt
EPSV
RETR someothertext.txt
QUIT
USER anonymous
PASS ftp@example.com
PWD
CWD fully_simulated
CWD UNIX
EPSV
TYPE A
LIST
EPSV
TYPE I
RETR chmod1
EPSV
RETR chmod2
EPSV
RETR chmod3
EPSV
RETR empty_file.dat
EPSV
RETR file.txt
EPSV
RETR someothertext.txt
QUIT
</protocol>
<stdout>
This file should have permissions 444
This file should have permissions 666
This file should have permissions 777
This is content of file "file.txt"
Some junk ;-) This file does not really exist.
This file should have permissions 444
This file should have permissions 666
This file should have permissions 777
This is content of file "file.txt"
Some junk ;-) This file does not really exist.
This file should have permissions 444
This file should have permissions 666
This file should have permissions 777
This is content of file "file.txt"
Some junk ;-) This file does not really exist.
</stdout>
</verify>
</testcase>
