diff options
Diffstat (limited to 'tests/data')
34 files changed, 1077 insertions, 34 deletions
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 363c40628..8471736ca 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -53,9 +53,11 @@ test605 test606 test607 test608 test609 test610 test611 test612 test613 \ test614 test615 test616 test617 test618 test619 test620 test621 test622 \ test623 test624 test625 test626 test627 test628 test629 test630 test631 \ test632 test633 test634 test635 test636 test637 test700 test701 test702 \ -test703 test704 test705 test706 test707 test708 test800 test801 test802 \ +test703 test704 test705 test706 test707 test708 test709 test710 \ +test800 test801 test802 \ test803 test804 test805 test806 test807 test808 test809 test810 test811 \ -test812 test813 test1000 test1001 test1002 test1003 test1004 test1005 \ +test812 test813 test814 \ +test1000 test1001 test1002 test1003 test1004 test1005 \ test1006 test1007 test1008 test1009 test1010 test1011 test1012 test1013 \ test1014 test1015 test1016 test1017 test1018 test1019 test1020 test1021 \ test1022 test1023 test1024 test1025 test1026 test1027 test1028 test1029 \ @@ -71,9 +73,12 @@ test1094 test1095 test1096 test1097 test1098 test1099 test1100 test1101 \ test1102 test1103 test1104 test1105 test1106 test1107 test1108 test1109 \ test1110 test1111 test1112 test1113 test1114 test1115 test1116 test1117 \ test1118 test1119 test1120 test1121 test1122 test1123 test1124 test1125 \ -test1126 test1127 test1128 test1200 test1201 test1202 test1203 test1300 \ -test1301 test1302 test1303 test1304 test1305 test1306 test1307 test1308 \ -test1309 test2000 test2001 test2002 test2003 test2004 +test1126 test1127 test1128 test1129 test1130 test1131 \ +test1200 test1201 test1202 test1203 test1204 \ +test1300 test1301 test1302 test1303 test1304 test1305 \ +test1306 test1307 test1308 test1309 test1310 test1311 test1312 test1313 \ +test1314 \ +test2000 test2001 test2002 test2003 test2004 EXTRA_DIST = $(TESTCASES) DISABLED diff --git a/tests/data/test1129 b/tests/data/test1129 new file mode 100644 index 000000000..f47141cd3 --- /dev/null +++ b/tests/data/test1129 @@ -0,0 +1,97 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP POST +Expect: 100-continue +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 404 NOOOOOOOOO +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Content-Type: text/html + +-foo- +</data> + +<data1> +HTTP/1.1 404 NEITHER +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Content-Type: text/html + +-foo- +</data1> + +# we use skip to make the test server never read the full payload off +# the socket and instead return the response at once +<servercmd> +skip: 1025 +</servercmd> +</reply> + +# +# Client-side +<client> +# 1025 x 'x' +<file name="log/file1129"> +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +</file> +<server> +http +</server> + <name> +HTTP POST expect 100-continue with a 404 + </name> + <command option="no-output"> +-d @log/file1129 http://%HOSTIP:%HTTPPORT/1129 http://%HOSTIP:%HTTPPORT/11290001 +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<stdout> +HTTP/1.1 404 NOOOOOOOOO +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Content-Type: text/html + +-foo- +HTTP/1.1 404 NEITHER +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Content-Type: text/html + +-foo- +</stdout> +<strip> +^User-Agent:.* +</strip> +<protocol> +POST /1129 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 1025
+Content-Type: application/x-www-form-urlencoded
+Expect: 100-continue
+
+POST /11290001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 1025
+Content-Type: application/x-www-form-urlencoded
+Expect: 100-continue
+
+</protocol> +</verify> +</testcase> diff --git a/tests/data/test1130 b/tests/data/test1130 new file mode 100644 index 000000000..eb1e59f5b --- /dev/null +++ b/tests/data/test1130 @@ -0,0 +1,97 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP POST +Expect: 100-continue +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 404 NOOOOOOOOO +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Content-Type: text/html + +-foo- +</data> + +<data1> +HTTP/1.1 404 NEITHER +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Content-Type: text/html + +-foo- +</data1> + +# we use skip to make the test server never read the full payload off +# the socket and instead return the response at once +<servercmd> +skip: 100 +</servercmd> +</reply> + +# +# Client-side +<client> +# 100 x 'x' +<file name="log/file1130"> +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +</file> +<server> +http +</server> + <name> +HTTP POST forced expect 100-continue with a 404 + </name> + <command option="no-output"> +-d @log/file1130 http://%HOSTIP:%HTTPPORT/1130 http://%HOSTIP:%HTTPPORT/11300001 -H "Expect: 100-continue" +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<stdout> +HTTP/1.1 404 NOOOOOOOOO +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Content-Type: text/html + +-foo- +HTTP/1.1 404 NEITHER +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Content-Type: text/html + +-foo- +</stdout> +<strip> +^User-Agent:.* +</strip> +<protocol> +POST /1130 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Expect: 100-continue
+Content-Length: 100
+Content-Type: application/x-www-form-urlencoded
+
+POST /11300001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Expect: 100-continue
+Content-Length: 100
+Content-Type: application/x-www-form-urlencoded
+
+</protocol> +</verify> +</testcase> diff --git a/tests/data/test1131 b/tests/data/test1131 new file mode 100644 index 000000000..96843af54 --- /dev/null +++ b/tests/data/test1131 @@ -0,0 +1,95 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP PUT +Expect: 100-continue +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 400 NOOOOOOOOO +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 9 +Content-Type: text/html + +FAILURE1 +</data> + +<data1> +HTTP/1.1 400 NEITHER +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 9 +Content-Type: text/html + +FAILURE2 +</data1> + +# we use skip to make the test server never read the full payload off +# the socket and instead return the response at once +<servercmd> +skip: 100 +</servercmd> +</reply> + +# +# Client-side +<client> +# 100 x 'x' +<file name="log/file1131"> +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +</file> +<server> +http +</server> + <name> +HTTP PUT expect 100-continue with a 400 + </name> + <command option="no-output"> +-T log/file1131 http://%HOSTIP:%HTTPPORT/1131 -T log/file1131 http://%HOSTIP:%HTTPPORT/11310001 +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<stdout> +HTTP/1.1 400 NOOOOOOOOO +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 9 +Content-Type: text/html + +FAILURE1 +HTTP/1.1 400 NEITHER +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 9 +Content-Type: text/html + +FAILURE2 +</stdout> +<strip> +^User-Agent:.* +</strip> +<protocol> +PUT /1131 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 100
+Expect: 100-continue
+
+PUT /11310001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 100
+Expect: 100-continue
+
+</protocol> +</verify> +</testcase> diff --git a/tests/data/test1204 b/tests/data/test1204 new file mode 100644 index 000000000..02502fb8e --- /dev/null +++ b/tests/data/test1204 @@ -0,0 +1,79 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +HTTP Basic auth +--anyauth +</keywords> +</info> +# Server-side +<reply> +<data> +HTTP/1.1 401 Authorization Required swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: X-MobileMe-AuthToken realm="Newcastle", Basic realm="fun fun fun"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page +</data> + +# This is supposed to be returned when the server gets the second request +<data1> +HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page! +</data1> + +<datacheck> +HTTP/1.1 401 Authorization Required swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: X-MobileMe-AuthToken realm="Newcastle", Basic realm="fun fun fun"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page! +</datacheck> + +</reply> + +# Client-side +<client> +<server> +http +</server> + <name> +HTTP with WWW-Authenticate and multiple auths in a single line + </name> + <command> +http://%HOSTIP:%HTTPPORT/1204 -u testuser:testpass --anyauth +</command> +</client> + +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /1204 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /1204 HTTP/1.1
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol> +</verify> +</testcase> diff --git a/tests/data/test130 b/tests/data/test130 index fbcf5251b..dcc46fc8f 100644 --- a/tests/data/test130 +++ b/tests/data/test130 @@ -37,9 +37,9 @@ ftp FTP (optional .netrc; no user/pass) dir list PASV </name> <command> ---netrc-optional --netrc-file log/netrc ftp://%HOSTIP:%FTPPORT/ +--netrc-optional --netrc-file log/netrc130 ftp://%HOSTIP:%FTPPORT/ </command> -<file name="log/netrc" > +<file name="log/netrc130" > # the following two lines were created while testing curl machine %HOSTIP login user1 password passwd1 machine %HOSTIP login user2 password passwd2 diff --git a/tests/data/test1304 b/tests/data/test1304 index f438a6929..d518de9e4 100644 --- a/tests/data/test1304 +++ b/tests/data/test1304 @@ -21,7 +21,7 @@ netrc parsing unit tests <tool> unit1304 </tool> -<file name="log/netrc"> +<file name="log/netrc1304"> machine example.com login admin password passwd machine curl.example.com login none password none </file> diff --git a/tests/data/test131 b/tests/data/test131 index ad7f9e22a..86501c627 100644 --- a/tests/data/test131 +++ b/tests/data/test131 @@ -38,9 +38,9 @@ ftp FTP (optional .netrc; user/no pass) dir list PASV </name> <command> ---netrc-optional --netrc-file log/netrc ftp://user2@%HOSTIP:%FTPPORT/ +--netrc-optional --netrc-file log/netrc131 ftp://user2@%HOSTIP:%FTPPORT/ </command> -<file name="log/netrc" > +<file name="log/netrc131" > # the following two lines were created while testing curl machine %HOSTIP login user1 password passwd1 machine %HOSTIP login user2 password passwd2 diff --git a/tests/data/test1310 b/tests/data/test1310 new file mode 100644 index 000000000..840f3c5fa --- /dev/null +++ b/tests/data/test1310 @@ -0,0 +1,125 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +HTTP NTLM auth +</keywords> +</info> +# Server-side +<reply> + +<!-- no <data> in this test since we have NTLM from the start + +This is supposed to be returned when the server gets a first +Authorization: NTLM line passed-in from the client --> + +<data1001> +HTTP/1.1 401 Now gimme that second request of crap +Server: Microsoft-IIS/5.0 +Content-Type: text/html; charset=iso-8859-1 +Content-Length: 34 +WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== + +This is not the real page either! +</data1001> + +# This is supposed to be returned when the server gets the second +# Authorization: NTLM line passed-in from the client +<data1002> +HTTP/1.1 200 Things are fine in server land swsclose +Server: Microsoft-IIS/5.0 +Content-Type: text/html; charset=iso-8859-1 +Content-Length: 32 + +Finally, this is the real page! +</data1002> + +<datacheck> +HTTP/1.1 401 Now gimme that second request of crap +Server: Microsoft-IIS/5.0 +Content-Type: text/html; charset=iso-8859-1 +Content-Length: 34 +WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== + +HTTP/1.1 200 Things are fine in server land swsclose +Server: Microsoft-IIS/5.0 +Content-Type: text/html; charset=iso-8859-1 +Content-Length: 32 + +Finally, this is the real page! +</datacheck> + +</reply> + +# Client-side +<client> +<features> +NTLM_WB +debug +</features> +<server> +http +</server> + <name> +HTTP with NTLM delegation to winbind helper + </name> + <setenv> +# we force our own host name, in order to make the test machine independent +CURL_GETHOSTNAME=curlhost +# we try to use the LD_PRELOAD hack, if not a debug build +LD_PRELOAD=%PWD/libtest/.libs/libhostname.so +# set path to fake_auth instead of real ntlm_auth to generate NTLM type1 and type 3 messages +CURL_NTLM_WB_FILE=%PWD/server/fake_ntlm +# set source directory so fake_ntlm can find the test files +CURL_NTLM_AUTH_SRCDIR=%SRCDIR +# set the test number +CURL_NTLM_AUTH_TESTNUM=1310 + </setenv> + <command> +http://%HOSTIP:%HTTPPORT/1310 -u testuser:anypasswd --ntlm-wb +</command> +<precheck> +chkhostname curlhost +</precheck> +</client> + +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /1310 HTTP/1.1
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAA
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /1310 HTTP/1.1
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAE8AAAAYABgAZwAAAAAAAABAAAAACAAIAEAAAAAHAAcASAAAAAAAAAAAAAAAggEAAHRlc3R1c2VyVU5LTk9XTlpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOQ==
+User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol> +</verify> +# Input and output (type 1 message) for fake_ntlm +<ntlm_auth_type1> +<input> +YR +</input> +<output> +YR TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAA +</output> +</ntlm_auth_type1> +# Input and output (type 3 message) for fake_ntlm +<ntlm_auth_type3> +<input> +TT TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== +</input> +<output> +KK TlRMTVNTUAADAAAAGAAYAE8AAAAYABgAZwAAAAAAAABAAAAACAAIAEAAAAAHAAcASAAAAAAAAAAAAAAAggEAAHRlc3R1c2VyVU5LTk9XTlpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOQ== +</output> +</ntlm_auth_type3> +</testcase> diff --git a/tests/data/test1311 b/tests/data/test1311 new file mode 100644 index 000000000..e47647c38 --- /dev/null +++ b/tests/data/test1311 @@ -0,0 +1,64 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +-J +</keywords> +</info> + +# +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name1311; charset=funny; option=strange + +12345 +</data> +</reply> + +# +# Client-side +<client> +# this relies on the debug feature to allow us to set directory to store the +# -J output in +<features> +debug +</features> +<server> +http +</server> +<name> +HTTP GET with -J and Content-Disposition +</name> +<setenv> +CURL_TESTDIR=%PWD/log +</setenv> +<command option="no-output,no-include"> +http://%HOSTIP:%HTTPPORT/1311 -J -O +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /1311 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol> +<file name="log/name1311"> +12345 +</file> + +</verify> +</testcase> diff --git a/tests/data/test1312 b/tests/data/test1312 new file mode 100644 index 000000000..92144015a --- /dev/null +++ b/tests/data/test1312 @@ -0,0 +1,64 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +-J +</keywords> +</info> + +# +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Connection: close +Content-Type: text/html +Content-Disposition: inline; filename="name1312;weird" + +12345 +</data> +</reply> + +# +# Client-side +<client> +# this relies on the debug feature to allow us to set directory to store the +# -J output in +<features> +debug +</features> +<server> +http +</server> +<name> +HTTP GET with -J, Content-Disposition and ; in filename +</name> +<setenv> +CURL_TESTDIR=%PWD/log +</setenv> +<command option="no-output,no-include"> +http://%HOSTIP:%HTTPPORT/1312 -J -O +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /1312 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol> +<file name="log/name1312;weird"> +12345 +</file> + +</verify> +</testcase> diff --git a/tests/data/test1313 b/tests/data/test1313 new file mode 100644 index 000000000..2331ae9ee --- /dev/null +++ b/tests/data/test1313 @@ -0,0 +1,64 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +-J +</keywords> +</info> + +# +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 6 +Connection: close +Content-Type: text/html +Content-Disposition: inline; filename='name1313 + +12345 +</data> +</reply> + +# +# Client-side +<client> +# this relies on the debug feature to allow us to set directory to store the +# -J output in +<features> +debug +</features> +<server> +http +</server> +<name> +HTTP GET with -J, Content-Disposition, uneven quotes +</name> +<setenv> +CURL_TESTDIR=%PWD/log +</setenv> +<command option="no-output,no-include"> +http://%HOSTIP:%HTTPPORT/1313 -J -O +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /1313 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol> +<file name="log/name1313"> +12345 +</file> + +</verify> +</testcase> diff --git a/tests/data/test1314 b/tests/data/test1314 new file mode 100644 index 000000000..078ada64a --- /dev/null +++ b/tests/data/test1314 @@ -0,0 +1,79 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +HTTP proxy +followlocation +</keywords> +</info> + +# Server-side +<reply> +<data> +HTTP/1.1 301 This is a weirdo text message swsbounce +Server: test-server/fake +Location: //somewhere.example.com/reply/1314 +Content-Length: 32 +Connection: close + +Redirect to the same URL again! +</data> + +<data1> +HTTP/1.1 200 okidoki +Server: test-server/fake +Content-Length: 4 +Connection: close + +moo +</data1> + +<datacheck> +HTTP/1.1 301 This is a weirdo text message swsbounce +Server: test-server/fake +Location: //somewhere.example.com/reply/1314 +Content-Length: 32 +Connection: close + +HTTP/1.1 200 okidoki +Server: test-server/fake +Content-Length: 4 +Connection: close + +moo +</datacheck> +</reply> + +# Client-side +<client> +<server> +http +</server> + <name> +HTTP Location: following a // prefixed url + </name> + <command> +http://firstplace.example.com/want/1314 -L -x http://%HOSTIP:%HTTPPORT +</command> +</client> + +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent: curl/.* +</strip> +<protocol> +GET http://firstplace.example.com/want/1314 HTTP/1.1
+Host: firstplace.example.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://somewhere.example.com/reply/1314 HTTP/1.1
+Host: somewhere.example.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+</protocol> +</verify> +</testcase> diff --git a/tests/data/test132 b/tests/data/test132 index 8d9e3ed60..ed96953bb 100644 --- a/tests/data/test132 +++ b/tests/data/test132 @@ -37,9 +37,9 @@ ftp FTP (optional .netrc; user/passwd supplied) dir list PASV </name> <command> ---netrc-optional --netrc-file log/netrc ftp://mary:mark@%HOSTIP:%FTPPORT/ +--netrc-optional --netrc-file log/netrc132 ftp://mary:mark@%HOSTIP:%FTPPORT/ </command> -<file name="log/netrc" > +<file name="log/netrc132" > # the following two lines were created while testing curl machine %HOSTIP login user1 password passwd1 machine %HOSTIP login user2 password passwd2 diff --git a/tests/data/test133 b/tests/data/test133 index a15cfc371..085092d01 100644 --- a/tests/data/test133 +++ b/tests/data/test133 @@ -37,9 +37,9 @@ ftp FTP (compulsory .netrc; ignored user/passwd) dir list PASV </name> <command> --n --netrc-file log/netrc ftp://mary:mark@%HOSTIP:%FTPPORT/ +-n --netrc-file log/netrc133 ftp://mary:mark@%HOSTIP:%FTPPORT/ </command> -<file name="log/netrc" > +<file name="log/netrc133" > # the following two lines were created while testing curl machine %HOSTIP login user1 password passwd1 machine %HOSTIP login user2 password passwd2 diff --git a/tests/data/test134 b/tests/data/test134 index 83035849e..8a3ba6204 100644 --- a/tests/data/test134 +++ b/tests/data/test134 @@ -37,9 +37,9 @@ ftp FTP (optional .netrc; programmatic user/passwd) dir list PASV </name> <command> ---netrc-optional --netrc-file log/netrc -u romulus:rhemus ftp://mary:mark@%HOSTIP:%FTPPORT/ +--netrc-optional --netrc-file log/netrc134 -u romulus:rhemus ftp://mary:mark@%HOSTIP:%FTPPORT/ </command> -<file name="log/netrc" > +<file name="log/netrc134" > # the following two lines were created while testing curl machine %HOSTIP login user1 password passwd1 machine %HOSTIP login user2 password passwd2 diff --git a/tests/data/test257 b/tests/data/test257 index cc3b7f00a..45642d571 100644 --- a/tests/data/test257 +++ b/tests/data/test257 @@ -71,11 +71,11 @@ http HTTP Location: following with --netrc-optional </name> <command> -http://supersite.com/want/257 -L -x http://%HOSTIP:%HTTPPORT --netrc-optional --netrc-file log/netrc +http://supersite.com/want/257 -L -x http://%HOSTIP:%HTTPPORT --netrc-optional --netrc-file log/netrc257 </command> # netrc auth for two out of three sites: -<file name="log/netrc"> +<file name="log/netrc257"> machine supersite.com login user1 password passwd1 machine anotherone.com login user2 password passwd2 </file> diff --git a/tests/data/test31 b/tests/data/test31 index d06bc1180..5afe81df6 100644 --- a/tests/data/test31 +++ b/tests/data/test31 @@ -18,6 +18,28 @@ Content-Type: text/html Funny-head: yesyes
Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure
Set-Cookie:ismatch=this ; domain=127.0.0.1; path=/silly/
+Set-Cookie: sec1value=secure1 ; domain=127.0.0.1; path=/secure1/ ; secure
+Set-Cookie: sec2value=secure2 ; domain=127.0.0.1; path=/secure2/ ; secure=
+Set-Cookie: sec3value=secure3 ; domain=127.0.0.1; path=/secure3/ ; secure=
+Set-Cookie: sec4value=secure4 ; secure=; domain=127.0.0.1; path=/secure4/ ; +Set-Cookie: sec5value=secure5 ; secure; domain=127.0.0.1; path=/secure5/ ; +Set-Cookie: sec6value=secure6 ; secure ; domain=127.0.0.1; path=/secure6/ ; +Set-Cookie: sec7value=secure7 ; secure ; domain=127.0.0.1; path=/secure7/ ; +Set-Cookie: sec8value=secure8 ; secure= ; domain=127.0.0.1; path=/secure8/ ; +Set-Cookie: secure=very1 ; secure=; domain=127.0.0.1; path=/secure9/; +Set-Cookie: httpo1=value1 ; domain=127.0.0.1; path=/p1/; httponly +Set-Cookie: httpo2=value2 ; domain=127.0.0.1; path=/p2/; httponly= +Set-Cookie: httpo3=value3 ; httponly; domain=127.0.0.1; path=/p3/; +Set-Cookie: httpo4=value4 ; httponly=; domain=127.0.0.1; path=/p4/; +Set-Cookie: httponly=myvalue1 ; domain=127.0.0.1; path=/p4/; httponly +Set-Cookie: httpandsec=myvalue2 ; domain=127.0.0.1; path=/p4/; httponly; secure +Set-Cookie: httpandsec2=myvalue3; domain=127.0.0.1; path=/p4/; httponly=; secure +Set-Cookie: httpandsec3=myvalue4 ; domain=127.0.0.1; path=/p4/; httponly; secure= +Set-Cookie: httpandsec4=myvalue5 ; domain=127.0.0.1; path=/p4/; httponly=; secure= +Set-Cookie: httpandsec5=myvalue6 ; domain=127.0.0.1; path=/p4/; secure; httponly= +Set-Cookie: httpandsec6=myvalue7 ; domain=127.0.0.1; path=/p4/; secure=; httponly= +Set-Cookie: httpandsec7=myvalue8 ; domain=127.0.0.1; path=/p4/; secure; httponly +Set-Cookie: httpandsec8=myvalue9; domain=127.0.0.1; path=/p4/; secure=; httponly
Set-Cookie: partmatch=present; domain=127.0.0.1 ; path=/;
Set-Cookie:eat=this; domain=moo.foo.moo;
Set-Cookie: eat=this-too; domain=.foo.moo;
@@ -69,6 +91,28 @@ Accept: */* # This file was generated by libcurl! Edit at your own risk. .127.0.0.1 TRUE /silly/ FALSE 0 ismatch this +.127.0.0.1 TRUE /secure1/ TRUE 0 sec1value secure1 +.127.0.0.1 TRUE /secure2/ TRUE 0 sec2value secure2 +.127.0.0.1 TRUE /secure3/ TRUE 0 sec3value secure3 +.127.0.0.1 TRUE /secure4/ TRUE 0 sec4value secure4 +.127.0.0.1 TRUE /secure5/ TRUE 0 sec5value secure5 +.127.0.0.1 TRUE /secure6/ TRUE 0 sec6value secure6 +.127.0.0.1 TRUE /secure7/ TRUE 0 sec7value secure7 +.127.0.0.1 TRUE /secure8/ TRUE 0 sec8value secure8 +.127.0.0.1 TRUE /secure9/ TRUE 0 secure very1 +#HttpOnly_.127.0.0.1 TRUE /p1/ FALSE 0 httpo1 value1 +#HttpOnly_.127.0.0.1 TRUE /p2/ FALSE 0 httpo2 value2 +#HttpOnly_.127.0.0.1 TRUE /p3/ FALSE 0 httpo3 value3 +#HttpOnly_.127.0.0.1 TRUE /p4/ FALSE 0 httpo4 value4 +#HttpOnly_.127.0.0.1 TRUE /p4/ FALSE 0 httponly myvalue1 +#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec myvalue2 +#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec2 myvalue3 +#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec3 myvalue4 +#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec4 myvalue5 +#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec5 myvalue6 +#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec6 myvalue7 +#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec7 myvalue8 +#HttpOnly_.127.0.0.1 TRUE /p4/ TRUE 0 httpandsec8 myvalue9 .127.0.0.1 TRUE / FALSE 0 partmatch present 127.0.0.1 FALSE /we/want/ FALSE 2054030187 nodomain value #HttpOnly_127.0.0.1 FALSE /silly/ FALSE 0 magic yessir diff --git a/tests/data/test320 b/tests/data/test320 index bfef00cb2..899bec597 100644 --- a/tests/data/test320 +++ b/tests/data/test320 @@ -41,7 +41,7 @@ Accept: */* # Client-side <client> <server> -http+tls-srp +httptls+srp </server> <features> TLS-SRP diff --git a/tests/data/test321 b/tests/data/test321 index 84c19bc85..ccdfb86d0 100644 --- a/tests/data/test321 +++ b/tests/data/test321 @@ -10,7 +10,7 @@ FAILURE # Client-side <client> <server> -http+tls-srp +httptls+srp </server> <features> TLS-SRP diff --git a/tests/data/test322 b/tests/data/test322 index f44deb54b..f35345ead 100644 --- a/tests/data/test322 +++ b/tests/data/test322 @@ -10,7 +10,7 @@ FAILURE # Client-side <client> <server> -http+tls-srp +httptls+srp </server> <features> TLS-SRP diff --git a/tests/data/test324 b/tests/data/test324 index df150ab3c..bc1c48fea 100644 --- a/tests/data/test324 +++ b/tests/data/test324 @@ -10,7 +10,7 @@ FAILURE # Client-side <client> <server> -http+tls-srp +httptls+srp </server> <features> TLS-SRP diff --git a/tests/data/test4 b/tests/data/test4 index ce6bfc8f0..df69d3274 100644 --- a/tests/data/test4 +++ b/tests/data/test4 @@ -30,7 +30,7 @@ http Replaced internal and added custom HTTP headers </name> <command> - -H "extra-header: here" -H "Accept: replaced" http://%HOSTIP:%HTTPPORT/4 + -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://%HOSTIP:%HTTPPORT/4 </command> </client> @@ -45,6 +45,9 @@ GET /4 HTTP/1.1 Host: %HOSTIP:%HTTPPORT
extra-header: here
Accept: replaced
+X-Custom-Header:
+X-Test: foo;
+X-Test2: foo;
</protocol> </verify> diff --git a/tests/data/test504 b/tests/data/test504 index 573ab51c7..2d3a3dd0d 100644 --- a/tests/data/test504 +++ b/tests/data/test504 @@ -35,9 +35,10 @@ http://%HOSTIP:%HTTPSPORT/504 %HOSTIP:55555 </client> # Verify data after the test has been "shot" +# TEST_ERR_SUCCESS is errorcode 120 <verify> <errorcode> -100 +120 </errorcode> </verify> </testcase> diff --git a/tests/data/test538 b/tests/data/test538 index f33b2a654..d2fecd353 100644 --- a/tests/data/test538 +++ b/tests/data/test538 @@ -32,11 +32,10 @@ ftp://%HOSTIP:%FTPPORT/538 </client> # Verify data after the test has been "shot" +# TEST_ERR_SUCCESS is errorcode 120 <verify> -# ok, the error code here is supposed to be 100 for the fine case since -# that's just how lib504.c is written <errorcode> -100 +120 </errorcode> <protocol> USER anonymous
diff --git a/tests/data/test554 b/tests/data/test554 index 7fdc353fc..9d9bbcca7 100644 --- a/tests/data/test554 +++ b/tests/data/test554 @@ -45,7 +45,7 @@ s/boundary=----------------------------[a-z0-9]*/boundary=---------------------- POST /554 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
-Content-Length: 561
+Content-Length: 732
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------
@@ -67,6 +67,11 @@ postit2.c Content-Disposition: form-data; name="submit"
send
+------------------------------
+Content-Disposition: form-data; name="somename"; filename="somefile.txt"
+Content-Type: application/octet-stream
+
+blah blah
--------------------------------
</protocol> </verify> diff --git a/tests/data/test569 b/tests/data/test569 index 5cd4797fe..c4c62a4c3 100644 --- a/tests/data/test569 +++ b/tests/data/test569 @@ -51,6 +51,7 @@ Curl-Private: swsclose CSeq: 6 </data6> +</reply> # Client-Side <client> diff --git a/tests/data/test572 b/tests/data/test572 index c06e531fc..83ae646e2 100644 --- a/tests/data/test572 +++ b/tests/data/test572 @@ -28,10 +28,11 @@ Cseq: 2 scale=enormous speed=ludicrous + </data2> <data3> -RTSP/1.0 200 OK +RTSP/1.0 204 OK Server: RTSPD/libcurl-test Session: getparams-test Cseq: 3 diff --git a/tests/data/test573 b/tests/data/test573 index 909ae3cf7..54ff8fb94 100644 --- a/tests/data/test573 +++ b/tests/data/test573 @@ -1,7 +1,8 @@ <testcase> <info> <keywords> -FILE +HTTP +multi </keywords> </info> # diff --git a/tests/data/test583 b/tests/data/test583 index 2129ee729..8fca7d23c 100644 --- a/tests/data/test583 +++ b/tests/data/test583 @@ -35,9 +35,8 @@ sftp://localhost:%SSHPORT%PWD/log/upload583.txt %USER: # Verify data after the test has been "shot" <verify> -<strip> -</strip> -<protocol> -</protocol> +<errorcode> +0 +</errorcode> </verify> </testcase> diff --git a/tests/data/test587 b/tests/data/test587 new file mode 100644 index 000000000..6e1239a6a --- /dev/null +++ b/tests/data/test587 @@ -0,0 +1,51 @@ +<testcase> +# +# Server-side +<reply> +<data> +</data> +</reply> + +# Client-side +<client> +<server> +http +</server> +# tool is what to use instead of 'curl' +<tool> +lib587 +</tool> + + <name> +HTTP multi-part formpost with aborted read callback + </name> + <command> +http://%HOSTIP:%HTTPPORT/587 +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strippart> +s/^------------------------------[a-z0-9]*/------------------------------/ +s/boundary=----------------------------[a-z0-9]*/boundary=----------------------------/ +</strippart> +<protocol> +POST /587 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 732
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------
+
+------------------------------
+Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
+
+</protocol> +# CURLE_ABORTED_BY_CALLBACK (42) +<errorcode> +42 +</errorcode> +</verify> +</testcase> diff --git a/tests/data/test709 b/tests/data/test709 new file mode 100644 index 000000000..6620f89a7 --- /dev/null +++ b/tests/data/test709 @@ -0,0 +1,60 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +SOCKS5 +</keywords> +</info> + +# +# Server-side +<reply> +<data> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT +ETag: "21025-dc7-39462498" +Accept-Ranges: bytes +Content-Length: 6 +Connection: close +Content-Type: text/html +Funny-head: yesyes + +-foo- +</data> +</reply> + +# +# Client-side +<client> +<server> +http +socks5 +</server> +<setenv> +http_proxy=socks5://%HOSTIP:%SOCKSPORT +</setenv> + <name> +HTTP GET via SOCKS5 set in environment + </name> + <command> +http://%HOSTIP:%HTTPPORT/709 +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /709 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol> +</verify> +</testcase> diff --git a/tests/data/test710 b/tests/data/test710 new file mode 100644 index 000000000..884eb50a0 --- /dev/null +++ b/tests/data/test710 @@ -0,0 +1,57 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP GET +SOCKS5 +</keywords> +</info> + +# +# Server-side +<reply> +<data> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT +ETag: "21025-dc7-39462498" +Accept-Ranges: bytes +Content-Length: 6 +Connection: close +Content-Type: text/html +Funny-head: yesyes + +-foo- +</data> +</reply> + +# +# Client-side +<client> +<server> +http +socks5 +</server> + <name> +HTTP GET via SOCKS5 set with --proxy + </name> + <command> +http://%HOSTIP:%HTTPPORT/710 --proxy socks5://%HOSTIP:%SOCKSPORT +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent:.* +</strip> +<protocol> +GET /710 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol> +</verify> +</testcase> diff --git a/tests/data/test814 b/tests/data/test814 new file mode 100644 index 000000000..1fc060777 --- /dev/null +++ b/tests/data/test814 @@ -0,0 +1,52 @@ +<testcase> +<info> +<keywords> +SMTP +</keywords> +</info> + +# +# Server-side +<reply> +</reply> + +# +# Client-side +<client> +<server> +smtp +</server> + <name> +SMTP without --mail-from + </name> +<stdin> +From: different +To: another + +body +</stdin> + <command> +smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 814@foo -T - +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<protocol> +EHLO user
+MAIL FROM:<>
+RCPT TO:<814@foo>
+DATA
+QUIT
+</protocol> +<upload> +From: different +To: another + +body +
+.
+</upload> +</verify> +</testcase> |
