summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/data/Makefile.am2
-rw-r--r--tests/data/test51135
-rw-r--r--tests/libtest/Makefile.am9
-rw-r--r--tests/libtest/lib511.c14
4 files changed, 57 insertions, 3 deletions
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 6a03a9b32..338ec7ac1 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -21,7 +21,7 @@ test74 test75 test76 test77 test78 test147 test148 test506 test79 \
test80 test81 test82 test83 test84 test85 test86 test87 test507 \
test149 test88 test89 test90 test508 test91 test92 test203 test93 \
test94 test95 test509 test510 test97 test98 test99 test150 test151 \
-test152 test153 test154 test155 test156 test157 test158 test159
+test152 test153 test154 test155 test156 test157 test158 test159 test511
# The following tests have been removed from the dist since they no longer
# work. We need to fix the test suite's FTPS server first, then bring them
diff --git a/tests/data/test511 b/tests/data/test511
new file mode 100644
index 000000000..724c568e4
--- /dev/null
+++ b/tests/data/test511
@@ -0,0 +1,35 @@
+#
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+<server>
+ftp
+</server>
+# tool is what to use instead of 'curl'
+<tool>
+lib511
+</tool>
+
+ <name>
+FTP with FILETIME and NOBODY but missing file
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/511
+</command>
+<file name="log/ftpserver.cmd">
+REPLY MDTM 550 bluah you f00l!
+REPLY SIZE 550 bluah you f00l!
+</file>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+# CURLE_FTP_COULDNT_RETR_FILE
+<errorcode>
+19
+</errorcode>
+</verify>
diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am
index c636a0901..a62ab5114 100644
--- a/tests/libtest/Makefile.am
+++ b/tests/libtest/Makefile.am
@@ -34,11 +34,12 @@ INCLUDES = -I$(top_srcdir)/include/curl \
LIBDIR = $(top_builddir)/lib
+# these files are used in every single test program below
SUPPORTFILES = first.c test.h
-# here are all tools used for running libcurl tests
+# These are all libcurl test programs
noinst_PROGRAMS = lib500 lib501 lib502 lib503 lib504 lib505 lib506 lib507 \
- lib508 lib509 lib510
+ lib508 lib509 lib510 lib511
lib500_SOURCES = lib500.c $(SUPPORTFILES)
lib500_LDADD = $(LIBDIR)/libcurl.la
@@ -83,3 +84,7 @@ lib509_DEPENDENCIES = $(LIBDIR)/libcurl.la
lib510_SOURCES = lib510.c $(SUPPORTFILES)
lib510_LDADD = $(LIBDIR)/libcurl.la
lib510_DEPENDENCIES = $(LIBDIR)/libcurl.la
+
+lib511_SOURCES = lib511.c $(SUPPORTFILES)
+lib511_LDADD = $(LIBDIR)/libcurl.la
+lib511_DEPENDENCIES = $(LIBDIR)/libcurl.la
diff --git a/tests/libtest/lib511.c b/tests/libtest/lib511.c
new file mode 100644
index 000000000..9b9980a71
--- /dev/null
+++ b/tests/libtest/lib511.c
@@ -0,0 +1,14 @@
+#include "test.h"
+
+int test(char *URL)
+{
+ CURLcode res;
+ CURL *curl = curl_easy_init();
+ curl_easy_setopt(curl, CURLOPT_URL, URL);
+ curl_easy_setopt(curl, CURLOPT_FILETIME, 1);
+ curl_easy_setopt(curl, CURLOPT_NOBODY, 1);
+ res = curl_easy_perform(curl);
+ curl_easy_cleanup(curl);
+ return (int)res;
+}
+