]> granicus.if.org Git - curl/commitdiff
Added test case 1051 to test Location: following with PUT, as reported
authorDan Fandrich <dan@coneharvesters.com>
Wed, 30 Jul 2008 07:24:59 +0000 (07:24 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Wed, 30 Jul 2008 07:24:59 +0000 (07:24 +0000)
by Ben Sutcliffe.  The test when run manually shows a problem in curl,
but the test harness web server doesn't run the test correctly so it's
disabled for now.

CHANGES
tests/data/DISABLED
tests/data/Makefile.am
tests/data/test1051 [new file with mode: 0644]
tests/server/sws.c

diff --git a/CHANGES b/CHANGES
index 9374eb3bda5f53d0571de295e5b9d28ccb5d9c90..fbfeb019bc60feb3f6a27083dd1bdcc4ca8f24c0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,11 @@ Daniel Fandrich (29 Jul 2008)
 - Fixed --use-ascii to properly convert text files on Symbian OS, MS-DOS
   and OS/2.
 
+- Added test case 1051 to test Location: following with PUT, as reported
+  by Ben Sutcliffe.  The test when run manually shows a problem in curl,
+  but the test harness web server doesn't run the test correctly so it's
+  disabled for now.
+
 Daniel Fandrich (28 Jul 2008)
 - Fixed display of the interface bind address in the trace output when it's
   an IPv6 address.
index b220fb7130ea7aeeb4f901b435742adb5cd0aeb2..562ee823bdc508cf26dd0026369d3675996ef592 100644 (file)
@@ -4,3 +4,4 @@
 # per line.
 # Lines starting with '#' letters are treated as comments.
 1041
+1051
index e3312d1f4010f8582262e8c6b77b02aabeaed776..c47ee476aaebea4e2dbfea0745087a3c0ae15e4b 100644 (file)
@@ -54,7 +54,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46           \
  test556 test1031 test628 test629 test630 test631 test632 test1032         \
  test1033 test539 test1034 test1035 test1036 test1037 test1038 test1039    \
  test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047   \
- test1048 test1049 test1050
+ test1048 test1049 test1050 test1051
 
 filecheck:
        @mkdir test-place; \
diff --git a/tests/data/test1051 b/tests/data/test1051
new file mode 100644 (file)
index 0000000..4aa31c1
--- /dev/null
@@ -0,0 +1,103 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP PUT
+followlocation
+</keywords>
+
+</info>
+# Server-side
+<reply>
+<data>
+HTTP/1.1 301 Redirect swsclose\r
+Date: Thu, 29 Jul 2008 14:49:00 GMT\r
+Server: test-server/fake\r
+Location: data/10510002.txt?coolsite=yes\r
+Content-Length: 0\r
+Connection: close\r
+\r
+</data>
+<data2>
+HTTP/1.1 100 Continue\r
+\r
+HTTP/1.1 200 Followed here fine swsclose\r
+Date: Thu, 29 Jul 2008 14:49:00 GMT\r
+Server: test-server/fake\r
+Content-Length: 51\r
+\r
+If this is received, the location following worked
+</data2>
+<datacheck>
+HTTP/1.1 301 Redirect\r
+Date: Thu, 29 Jul 2008 14:49:00 GMT\r
+Server: test-server/fake\r
+Location: data/10510002.txt?coolsite=yes\r
+Content-Length: 0\r
+Connection: Keep-Alive\r
+\r
+HTTP/1.1 100 Continue\r
+\r
+HTTP/1.1 200 Followed here fine swsclose\r
+Date: Thu, 29 Jul 2008 14:49:00 GMT\r
+Server: test-server/fake\r
+Content-Length: 51\r
+\r
+If this is received, the location following worked
+</datacheck>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP PUT with Location: following
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/want/1051 -L -T log/test1051.txt
+</command>
+<file name="log/test1051.txt">
+Weird
+     file
+         to
+   upload
+for
+   testing
+the
+   PUT
+      feature
+</file>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+PUT /want/1051 HTTP/1.1\r
+Host: %HOSTIP:%HTTPPORT\r
+Accept: */*\r
+Content-Length: 78\r
+Expect: 100-continue\r
+\r
+PUT /want/data/10510002.txt?coolsite=yes HTTP/1.1\r
+Host: %HOSTIP:%HTTPPORT\r
+Accept: */*\r
+Content-Length: 78\r
+Expect: 100-continue\r
+\r
+Weird
+     file
+         to
+   upload
+for
+   testing
+the
+   PUT
+      feature
+</protocol>
+</verify>
+</testcase>
index 023fe270ea58744e7faabaa5f6426cc897cd5e95..a114cac432352a2c9281f2eacb6413e39f12ff22 100644 (file)
@@ -351,7 +351,7 @@ int ProcessRequest(struct httprequest *req)
        headers, for the pipelining case mostly */
     req->checkindex += (end - line) + strlen(END_OF_HEADERS);
 
-  /* **** Persistancy ****
+  /* **** Persistency ****
    *
    * If the request is a HTTP/1.0 one, we close the connection unconditionally
    * when we're done.
@@ -539,7 +539,7 @@ static int get_request(curl_socket_t sock, struct httprequest *req)
     pipereq_length = req->offset - req->checkindex;
   }
 
-  /*** Init the httpreqest structure properly for the upcoming request ***/
+  /*** Init the httprequest structure properly for the upcoming request ***/
 
   req->checkindex = 0;
   req->offset = 0;
@@ -1049,7 +1049,7 @@ int main(int argc, char *argv[])
       send_doc(msgsock, &req);
 
       if((req.testno < 0) && (req.testno != DOCNUMBER_CONNECT)) {
-        logmsg("special request received, no persistancy");
+        logmsg("special request received, no persistency");
         break;
       }
       if(!req.open) {