]> granicus.if.org Git - curl/commitdiff
Added test case 511 in an attempt to repeat bug report #934666 "storage leak
authorDaniel Stenberg <daniel@haxx.se>
Wed, 14 Apr 2004 06:30:37 +0000 (06:30 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 14 Apr 2004 06:30:37 +0000 (06:30 +0000)
in ftp.c", but it shows no leaking.

tests/data/Makefile.am
tests/data/test511 [new file with mode: 0644]
tests/libtest/Makefile.am
tests/libtest/lib511.c [new file with mode: 0644]

index 6a03a9b32395b13431523d5a491c055bb12076c1..338ec7ac1bcf4fdf1a285dfe3cf3dfa955c36f95 100644 (file)
@@ -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 (file)
index 0000000..724c568
--- /dev/null
@@ -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>
index c636a09011d2d5093d4e4125697417d1acace628..a62ab511481a9cb19bd733541d0f4616e39a7e1f 100644 (file)
@@ -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 (file)
index 0000000..9b9980a
--- /dev/null
@@ -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;
+}
+