[ -f test1 ] || ln -s $(srcdir)/test* .
EXTRA_DIST = \
-test1 test104 test11 test15 test20 test23 test33 test6 \
-test10 test105 test110 test16 test200 test24 test4 test7 \
-test100 test106 test111 test17 test201 test25 test400 test8 \
-test101 test107 test12 test18 test202 test26 test43 test9 \
-test102 test108 test13 test19 test21 test3 test44 \
-test103 test109 test14 test2 test22 test300 test5
+test1 test106 test113 test120 test15 test201 test3 test6 \
+test10 test107 test114 test121 test16 test202 test300 test7 \
+test100 test108 test115 test122 test17 test21 test33 test8 \
+test101 test109 test116 test123 test18 test22 test4 test9 \
+test102 test11 test117 test124 test19 test23 test400 \
+test103 test110 test118 test125 test2 test24 test43 \
+test104 test111 test119 test13 test20 test25 test44 \
+test105 test112 test12 test14 test200 test26 test5
--- /dev/null
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP PASV upload resume
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/112 -T log/upload112 -C 40
+</command>
+<file name="log/upload112">
+this is the *****crap******** that we're gonna upload
+
+worx?
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+</strip>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+PASV\r
+TYPE I\r
+APPE 112\r
+</protocol>
+<upload>
+ gonna upload
+
+worx?
+</upload>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP download, failed login: USER not valid
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/113
+</command>
+<file name="log/ftpserver.cmd">
+REPLY USER 314 bluah you fewl!
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+12
+</errorcode>
+<protocol>
+USER anonymous\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP download, failed login: PASS not valid
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/114
+</command>
+<file name="log/ftpserver.cmd">
+REPLY PASS 314 bluah you f00l!
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+11
+</errorcode>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP download, failed PASV
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/115
+</command>
+<file name="log/ftpserver.cmd">
+REPLY PASV 314 bluah you f00l!
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+13
+</errorcode>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+PASV\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP download, failed PORT
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/116 -P 127.0.0.1
+</command>
+<file name="log/ftpserver.cmd">
+REPLY PORT 314 bluah you f00l!
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+30
+</errorcode>
+<strip>
+^PORT 127,0,0,1,.*
+</strip>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP download, failed TYPE
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/117
+</command>
+<file name="log/ftpserver.cmd">
+REPLY TYPE 314 bluah you f00l!
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+17
+</errorcode>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+PASV\r
+TYPE I\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP download, failed RETR
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/118
+</command>
+<file name="log/ftpserver.cmd">
+REPLY RETR 314 bluah you f00l!
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+19
+</errorcode>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+PASV\r
+TYPE I\r
+RETR 118\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP download, failed RETR with PORT
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/119 -P -
+</command>
+<file name="log/ftpserver.cmd">
+REPLY RETR 314 bluah you f00l!
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+19
+</errorcode>
+<strip>
+^PORT.*
+</strip>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+TYPE I\r
+RETR 119\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+<data>
+data
+ to
+ see
+that FTP
+works
+ so does it?
+</data>
+</reply>
+
+# Client-side
+<client>
+ <name>
+ftp download with post-quote delete operation
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/120 -Q "-DELE file"
+</command>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+PASV\r
+TYPE I\r
+RETR 120\r
+DELE file\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+<data>
+data
+ to
+ see
+that FTP
+works
+ so does it?
+</data>
+</reply>
+
+# Client-side
+<client>
+ <name>
+ftp download with post- and pre-transfer delete operations
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/121 -Q "-DELE after_transfer" -Q "DELE before_transfer"
+</command>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+DELE before_transfer\r
+PASV\r
+TYPE I\r
+RETR 121\r
+DELE after_transfer\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+<size>
+5
+</size>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP download resume with whole file already downloaded
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/122 -C 5
+</command>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+PASV\r
+TYPE I\r
+SIZE 122\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP upload resume with whole file already downloaded
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/123 -T log/upload123 -C 51
+</command>
+<file name="log/upload123">
+--------------------------------------------------
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+PASV\r
+TYPE I\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+<data>
+we can still send data even if pwd fails!
+</data>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP download, failed PWD
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/124
+</command>
+<file name="log/ftpserver.cmd">
+REPLY PWD 314 bluah you f00l!
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+PASV\r
+TYPE I\r
+RETR 124\r
+</protocol>
+</verify>
--- /dev/null
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+ <name>
+FTP download, failed CWD
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/path/to/file/125
+</command>
+<file name="log/ftpserver.cmd">
+REPLY CWD 314 bluah you f00l!
+</file>
+</test>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+9
+</errorcode>
+<protocol>
+USER anonymous\r
+PASS curl_by_daniel@haxx.se\r
+PWD\r
+CWD path/to/file\r
+</protocol>
+</verify>