Added test case 1065 to test a PUT with a single file but two URLs. This
authorDan Fandrich <dan@coneharvesters.com>
Fri, 15 Aug 2008 19:18:46 +0000 (19:18 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Fri, 15 Aug 2008 19:18:46 +0000 (19:18 +0000)
was discovered to be problematic while investigating an incident reported by
Von back in May.  curl in this case doesn't include a Content-Length: or
Transfer-Encoding: chunked header which is illegal. This test case is
added to DISABLED until a solution is found.

CHANGES
tests/data/DISABLED
tests/data/Makefile.am
tests/data/test1064 [new file with mode: 0644]
tests/data/test1065 [new file with mode: 0644]

diff --git a/CHANGES b/CHANGES
index 6e6b510..82b0b35 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,16 @@
 
                                   Changelog
 
+Daniel Fandrich (15 Aug 2008)
+- Added test case 1063 to test invalid long file ranges with file: URLs and
+  1064 to test multiple http PUTs.
+
+- Added test case 1065 to test a PUT with a single file but two URLs. This
+  was discovered to be problematic while investigating an incident reported by
+  Von back in May.  curl in this case doesn't include a Content-Length: or
+  Transfer-Encoding: chunked header which is illegal. This test case is
+  added to DISABLED until a solution is found.
+
 Yang Tse (15 Aug 2008)
 - C preprocessor macros used internally and equally available externally which
   aid in the use of the curl_off_t data type are named: CURL_FORMAT_CURL_OFF_T,
index fb3ae0e..32af74d 100644 (file)
@@ -3,4 +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.
-
+1065
index f2b7250..d8dbbb2 100644 (file)
@@ -55,7 +55,8 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46           \
  test1033 test539 test1034 test1035 test1036 test1037 test1038 test1039    \
  test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047   \
  test1048 test1049 test1050 test1051 test1052 test1053 test1054 test1055   \
- test1056 test1057 test1058 test1059 test1060 test1061 test1062 test1063
+ test1056 test1057 test1058 test1059 test1060 test1061 test1062 test1063   \
+ test1064 test1065
 
 filecheck:
        @mkdir test-place; \
diff --git a/tests/data/test1064 b/tests/data/test1064
new file mode 100644 (file)
index 0000000..31a6ee7
--- /dev/null
@@ -0,0 +1,79 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP PUT
+</keywords>
+</info>
+
+<reply>
+<data nocheck="1">
+HTTP/1.1 200 A OK\r
+Server: curl test\r
+Content-Type: text/html; charset=iso-8859-1\r
+Content-Length: 3\r
+\r
+ok
+</data>
+<data2 nocheck="1">
+HTTP/1.1 200 A OK\r
+Server: curl test\r
+Content-Type: text/html; charset=iso-8859-1\r
+Content-Length: 9\r
+\r
+still ok
+</data2>
+</reply>
+
+# Client-side
+<client>
+# 
+<server>
+http
+</server>
+ <name>
+HTTP PUT twice
+ </name>
+ <command>
+-H "Expect:" -T log/1064 http://%HOSTIP:%HTTPPORT/1064.upload1 -T log/1064 http://%HOSTIP:%HTTPPORT/10640002.upload2
+</command>
+<file name="log/1064">
+test
+</file>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+PUT /1064.upload1 HTTP/1.1\r
+Host: %HOSTIP:%HTTPPORT\r
+Accept: */*\r
+Content-Length: 5\r
+\r
+test
+PUT /10640002.upload2 HTTP/1.1\r
+Host: %HOSTIP:%HTTPPORT\r
+Accept: */*\r
+Content-Length: 5\r
+\r
+test
+</protocol>
+<stdout>
+HTTP/1.1 200 A OK\r
+Server: curl test\r
+Content-Type: text/html; charset=iso-8859-1\r
+Content-Length: 3\r
+\r
+ok
+HTTP/1.1 200 A OK\r
+Server: curl test\r
+Content-Type: text/html; charset=iso-8859-1\r
+Content-Length: 9\r
+\r
+still ok
+</stdout>
+</verify>
+</testcase>
diff --git a/tests/data/test1065 b/tests/data/test1065
new file mode 100644 (file)
index 0000000..700d811
--- /dev/null
@@ -0,0 +1,78 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP PUT
+</keywords>
+</info>
+
+<reply>
+<data nocheck="1">
+HTTP/1.1 200 A OK\r
+Server: curl test\r
+Content-Type: text/html; charset=iso-8859-1\r
+Content-Length: 3\r
+\r
+ok
+</data>
+<data2 nocheck="1">
+HTTP/1.1 200 A OK\r
+Server: curl test\r
+Content-Type: text/html; charset=iso-8859-1\r
+Content-Length: 9\r
+\r
+still ok
+</data2>
+</reply>
+
+# Client-side
+<client>
+# 
+<server>
+http
+</server>
+ <name>
+HTTP PUT with one file but two URLs
+ </name>
+ <command>
+-H "Expect:" -T log/1065 http://%HOSTIP:%HTTPPORT/1065.upload1 http://%HOSTIP:%HTTPPORT/10650002.upload2
+</command>
+<file name="log/1065">
+test
+</file>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+PUT /1065.upload1 HTTP/1.1\r
+Host: %HOSTIP:%HTTPPORT\r
+Accept: */*\r
+Content-Length: 5\r
+\r
+test
+PUT /10650002.upload2 HTTP/1.1\r
+Host: %HOSTIP:%HTTPPORT\r
+Accept: */*\r
+Content-Length: 0\r
+\r
+</protocol>
+<stdout>
+HTTP/1.1 200 A OK\r
+Server: curl test\r
+Content-Type: text/html; charset=iso-8859-1\r
+Content-Length: 3\r
+\r
+ok
+HTTP/1.1 200 A OK\r
+Server: curl test\r
+Content-Type: text/html; charset=iso-8859-1\r
+Content-Length: 9\r
+\r
+still ok
+</stdout>
+</verify>
+</testcase>