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,
# 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
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; \
--- /dev/null
+<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>
--- /dev/null
+<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>