diff options
author | Daniel Stenberg <daniel@haxx.se> | 2008-08-04 22:00:22 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2008-08-04 22:00:22 +0000 |
commit | 3a499099af52ddc69a3647767521c99c9e9c42e4 (patch) | |
tree | 7c67c35412c825d8c7e6011d0b0fa27e64ca057c /tests | |
parent | 931fc45f05e7370fd815c34884863f2b56920b5f (diff) |
- Test cases 1051, 1052 and 1055 were added by Daniel Fandrich on July 30 and
proved how PUT and POST with a redirect could lead to a "hang" due to the
data stream not being rewound properly when it had to in order to get sent
properly (again) to the subsequent URL. This is now fixed and these test
cases are no longer disabled.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/DISABLED | 4 | ||||
-rw-r--r-- | tests/data/test1051 | 19 | ||||
-rw-r--r-- | tests/data/test1052 | 22 | ||||
-rw-r--r-- | tests/data/test1055 | 11 |
4 files changed, 47 insertions, 9 deletions
diff --git a/tests/data/DISABLED b/tests/data/DISABLED index 33f2c8d6e..fb3ae0ec9 100644 --- a/tests/data/DISABLED +++ b/tests/data/DISABLED @@ -3,6 +3,4 @@ # test cases are run by runtests.pl. Just add the plain test case numbers, one # per line. # Lines starting with '#' letters are treated as comments. -1051 -1052 -1055 + diff --git a/tests/data/test1051 b/tests/data/test1051 index 4aa31c1d6..080e1d1d5 100644 --- a/tests/data/test1051 +++ b/tests/data/test1051 @@ -29,12 +29,12 @@ Content-Length: 51 If this is received, the location following worked </data2> <datacheck> -HTTP/1.1 301 Redirect
+HTTP/1.1 301 Redirect swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
Server: test-server/fake
Location: data/10510002.txt?coolsite=yes
Content-Length: 0
-Connection: Keep-Alive
+Connection: close
HTTP/1.1 100 Continue
@@ -76,6 +76,12 @@ the <strip> ^User-Agent:.* </strip> + +# The primary reason libcurl sends the data part twice in this test is that +# the test HTTP server is blocking until it has read the entire request, +# including the full request-body before it responds. So in this test the +# server says 301 and 100 _after_ the entire PUT body has been sent. + <protocol> PUT /want/1051 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
@@ -83,6 +89,15 @@ Accept: */* Content-Length: 78
Expect: 100-continue
+Weird + file + to + upload +for + testing +the + PUT + feature PUT /want/data/10510002.txt?coolsite=yes HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
diff --git a/tests/data/test1052 b/tests/data/test1052 index fac7e7d2f..10c16b4a7 100644 --- a/tests/data/test1052 +++ b/tests/data/test1052 @@ -27,12 +27,12 @@ Content-Length: 51 If this is received, the location following worked </data2> <datacheck> -HTTP/1.0 301 Redirect
+HTTP/1.0 301 Redirect swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
Server: test-server/fake
Location: data/10520002.txt?coolsite=yes
Content-Length: 0
-Connection: Keep-Alive
+Connection: close
HTTP/1.0 200 Followed here fine swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
@@ -72,13 +72,27 @@ the <strip> ^User-Agent:.* </strip> + +# The primary reason libcurl sends the data part twice in this test is that +# the test HTTP server is blocking until it has read the entire request, +# including the full request-body before it responds. So in this test the +# server says 301 and 200 _after_ the entire PUT body has been sent. <protocol> -PUT /want/1052 HTTP/1.1
+PUT /want/1052 HTTP/1.0
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 78
-PUT /want/data/10520002.txt?coolsite=yes HTTP/1.1
+Weird + file + to + upload +for + testing +the + PUT + feature +PUT /want/data/10520002.txt?coolsite=yes HTTP/1.0
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 78
diff --git a/tests/data/test1055 b/tests/data/test1055 index 7e2eae1b8..510d490f4 100644 --- a/tests/data/test1055 +++ b/tests/data/test1055 @@ -65,7 +65,18 @@ the PUT /1055 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
+Content-Length: 78
+Expect: 100-continue
+Weird + file + to + upload +for + testing +the + PUT + feature USER anonymous
PASS ftp@example.com
PWD
|