diff options
Diffstat (limited to 'tests')
113 files changed, 2043 insertions, 689 deletions
diff --git a/tests/README b/tests/README index be22778cd..4d8e70c78 100644 --- a/tests/README +++ b/tests/README @@ -145,7 +145,9 @@ TEST CASE NUMBERS 600 - 699 SCP/SFTP 700 - 799 SOCKS4 (even numbers) and SOCK5 (odd numbers) 800 - 899 POP3, IMAP, SMTP - 1000 - 1999 miscellaneous* + 1000 - 1299 miscellaneous* + 1300 - 1399 unit tests* + 1400 - 1999 miscellaneous* 2000 - x multiple sequential protocols per test case* Since 30-apr-2003, there's nothing in the system that requires us to keep diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 3f8196d57..c3c68cae3 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -59,8 +59,8 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test1064 test1065 test1066 test1067 test1068 test1069 test1070 test1071 \ test1072 test1073 test1074 test1075 test1076 test1077 test1078 test1079 \ test1080 test1081 test1082 test1083 test1084 test1085 test633 test634 \ - test635 test636 test637 test558 test559 test1086 test1087 test1088 \ - test574 test575 test576 test577 test1113 test1114 test1089 test1090 \ + test635 test636 test637 test1086 test1087 test1088 \ + test574 test575 test576 test1113 test1114 test1089 test1090 \ test1091 test1092 test1093 test1094 test1095 test1096 test1097 test560 \ test561 test1098 test1099 test562 test563 test1100 test564 test1101 \ test1102 test1103 test1104 test299 test310 test311 test312 test1105 \ @@ -70,7 +70,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test313 test1115 test578 test579 test1116 test1200 test1201 test1202 \ test1203 test1117 test1118 test1119 test1120 test1300 test1301 test1302 \ test1303 test320 test321 test322 test323 test324 test1121 test581 test580 \ - test1304 + test1304 test1305 test1306 test1307 test582 test583 filecheck: @mkdir test-place; \ diff --git a/tests/data/test1008 b/tests/data/test1008 index 5334f856e..251a6e8f6 100644 --- a/tests/data/test1008 +++ b/tests/data/test1008 @@ -93,7 +93,7 @@ CURL_GETHOSTNAME=curlhost LD_PRELOAD=%PWD/libtest/.libs/libhostname.so </setenv> <command> -http://test.remote.haxx.se:1008/path/10080002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel +http://test.remote.example.com:1008/path/10080002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel </command> <precheck> chkhostname curlhost @@ -106,19 +106,19 @@ chkhostname curlhost ^User-Agent: curl/.* </strip> <protocol> -CONNECT test.remote.haxx.se:1008 HTTP/1.1
-Host: test.remote.haxx.se:1008
+CONNECT test.remote.example.com:1008 HTTP/1.1
+Host: test.remote.example.com:1008
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
Proxy-Connection: Keep-Alive
-CONNECT test.remote.haxx.se:1008 HTTP/1.1
-Host: test.remote.haxx.se:1008
+CONNECT test.remote.example.com:1008 HTTP/1.1
+Host: test.remote.example.com:1008
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAAIAAgAdQAAAAAAAAAAAAAABoKBAKAeQjzKtCQ7ubW8S6MN7B59436GAxPu0CVROwwNBsgxML49gcbAXLT/bU+H5wrS9XNpbGx5Y3VybGhvc3Q=
Proxy-Connection: Keep-Alive
GET /path/10080002 HTTP/1.1
User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.haxx.se:1008
+Host: test.remote.example.com:1008
Accept: */*
</protocol> diff --git a/tests/data/test1021 b/tests/data/test1021 index 5ab772878..1979f7507 100644 --- a/tests/data/test1021 +++ b/tests/data/test1021 @@ -102,7 +102,7 @@ CURL_GETHOSTNAME=curlhost LD_PRELOAD=%PWD/libtest/.libs/libhostname.so </setenv> <command> -http://test.remote.haxx.se:1021/path/10210002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-anyauth --proxytunnel +http://test.remote.example.com:1021/path/10210002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-anyauth --proxytunnel </command> <precheck> chkhostname curlhost @@ -115,23 +115,23 @@ chkhostname curlhost ^User-Agent: curl/.* </strip> <protocol> -CONNECT test.remote.haxx.se:1021 HTTP/1.1
-Host: test.remote.haxx.se:1021
+CONNECT test.remote.example.com:1021 HTTP/1.1
+Host: test.remote.example.com:1021
Proxy-Connection: Keep-Alive
-CONNECT test.remote.haxx.se:1021 HTTP/1.1
-Host: test.remote.haxx.se:1021
+CONNECT test.remote.example.com:1021 HTTP/1.1
+Host: test.remote.example.com:1021
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
Proxy-Connection: Keep-Alive
-CONNECT test.remote.haxx.se:1021 HTTP/1.1
-Host: test.remote.haxx.se:1021
+CONNECT test.remote.example.com:1021 HTTP/1.1
+Host: test.remote.example.com:1021
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAAIAAgAdQAAAAAAAAAAAAAABoKBAKAeQjzKtCQ7ubW8S6MN7B59436GAxPu0CVROwwNBsgxML49gcbAXLT/bU+H5wrS9XNpbGx5Y3VybGhvc3Q=
Proxy-Connection: Keep-Alive
GET /path/10210002 HTTP/1.1
User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.haxx.se:1021
+Host: test.remote.example.com:1021
Accept: */*
</protocol> diff --git a/tests/data/test130 b/tests/data/test130 index 43ab24c09..fbcf5251b 100644 --- a/tests/data/test130 +++ b/tests/data/test130 @@ -30,9 +30,6 @@ dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr # # Client-side <client> -<features> -netrc_debug -</features> <server> ftp </server> @@ -40,7 +37,7 @@ ftp FTP (optional .netrc; no user/pass) dir list PASV </name> <command> ---netrc-optional ftp://%HOSTIP:%FTPPORT/ +--netrc-optional --netrc-file log/netrc ftp://%HOSTIP:%FTPPORT/ </command> <file name="log/netrc" > # the following two lines were created while testing curl diff --git a/tests/data/test1305 b/tests/data/test1305 new file mode 100644 index 000000000..91149b3ad --- /dev/null +++ b/tests/data/test1305 @@ -0,0 +1,30 @@ +<testcase> +<!-- This replaces test 558 --> +<info> +<keywords> +unittest +hash +</keywords> +</info> + +# +# Client-side +<client> +<server> +none +</server> +<features> +unittest +</features> + <name> +internal hash create/destroy testing + </name> +<tool> +unit1305 +</tool> +<command> +1305 +</command> +</client> + +</testcase> diff --git a/tests/data/test1306 b/tests/data/test1306 new file mode 100644 index 000000000..b490efb51 --- /dev/null +++ b/tests/data/test1306 @@ -0,0 +1,30 @@ +<testcase> +<!-- This replaces test 559 --> +<info> +<keywords> +unittest +hash +</keywords> +</info> + +# +# Client-side +<client> +<server> +none +</server> +<features> +unittest +</features> + <name> +internal hash create/add/destroy testing + </name> +<tool> +unit1305 +</tool> +<command> +1306 +</command> +</client> + +</testcase> diff --git a/tests/data/test1307 b/tests/data/test1307 new file mode 100644 index 000000000..82ed3c07f --- /dev/null +++ b/tests/data/test1307 @@ -0,0 +1,27 @@ +<testcase> +<!-- This replaces test 577 --> +<info> +<keywords> +unittest +wildcardmatch +</keywords> +</info> + +# +# Client-side +<client> +<server> +none +</server> +<features> +unittest +</features> + <name> +internal Curl_fnmatch() testing + </name> +<tool> +unit1307 +</tool> +</client> + +</testcase> diff --git a/tests/data/test131 b/tests/data/test131 index 4e9ba6d9a..ad7f9e22a 100644 --- a/tests/data/test131 +++ b/tests/data/test131 @@ -31,9 +31,6 @@ dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr # # Client-side <client> -<features> -netrc_debug -</features> <server> ftp </server> @@ -41,7 +38,7 @@ ftp FTP (optional .netrc; user/no pass) dir list PASV </name> <command> ---netrc-optional ftp://user2@%HOSTIP:%FTPPORT/ +--netrc-optional --netrc-file log/netrc ftp://user2@%HOSTIP:%FTPPORT/ </command> <file name="log/netrc" > # the following two lines were created while testing curl diff --git a/tests/data/test132 b/tests/data/test132 index 2ff39fb9a..8d9e3ed60 100644 --- a/tests/data/test132 +++ b/tests/data/test132 @@ -30,9 +30,6 @@ dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr # # Client-side <client> -<features> -netrc_debug -</features> <server> ftp </server> @@ -40,7 +37,7 @@ ftp FTP (optional .netrc; user/passwd supplied) dir list PASV </name> <command> ---netrc-optional ftp://mary:mark@%HOSTIP:%FTPPORT/ +--netrc-optional --netrc-file log/netrc ftp://mary:mark@%HOSTIP:%FTPPORT/ </command> <file name="log/netrc" > # the following two lines were created while testing curl diff --git a/tests/data/test133 b/tests/data/test133 index 2e6b2c3a4..a15cfc371 100644 --- a/tests/data/test133 +++ b/tests/data/test133 @@ -30,9 +30,6 @@ dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr # # Client-side <client> -<features> -netrc_debug -</features> <server> ftp </server> @@ -40,7 +37,7 @@ ftp FTP (compulsory .netrc; ignored user/passwd) dir list PASV </name> <command> --n ftp://mary:mark@%HOSTIP:%FTPPORT/ +-n --netrc-file log/netrc ftp://mary:mark@%HOSTIP:%FTPPORT/ </command> <file name="log/netrc" > # the following two lines were created while testing curl diff --git a/tests/data/test134 b/tests/data/test134 index 8ff9c1902..83035849e 100644 --- a/tests/data/test134 +++ b/tests/data/test134 @@ -30,9 +30,6 @@ dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr # # Client-side <client> -<features> -netrc_debug -</features> <server> ftp </server> @@ -40,7 +37,7 @@ ftp FTP (optional .netrc; programmatic user/passwd) dir list PASV </name> <command> ---netrc-optional -u romulus:rhemus ftp://mary:mark@%HOSTIP:%FTPPORT/ +--netrc-optional --netrc-file log/netrc -u romulus:rhemus ftp://mary:mark@%HOSTIP:%FTPPORT/ </command> <file name="log/netrc" > # the following two lines were created while testing curl diff --git a/tests/data/test209 b/tests/data/test209 index 81cdcbd84..b248faf9f 100644 --- a/tests/data/test209 +++ b/tests/data/test209 @@ -86,7 +86,7 @@ CURL_GETHOSTNAME=curlhost LD_PRELOAD=%PWD/libtest/.libs/libhostname.so </setenv> <command> -http://test.remote.haxx.se:209/path/2090002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel +http://test.remote.example.com:209/path/2090002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel </command> <precheck> chkhostname curlhost @@ -99,19 +99,19 @@ chkhostname curlhost ^User-Agent: curl/.* </strip> <protocol> -CONNECT test.remote.haxx.se:209 HTTP/1.1
-Host: test.remote.haxx.se:209
+CONNECT test.remote.example.com:209 HTTP/1.1
+Host: test.remote.example.com:209
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
Proxy-Connection: Keep-Alive
-CONNECT test.remote.haxx.se:209 HTTP/1.1
-Host: test.remote.haxx.se:209
+CONNECT test.remote.example.com:209 HTTP/1.1
+Host: test.remote.example.com:209
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAAIAAgAdQAAAAAAAAAAAAAABoKBAKAeQjzKtCQ7ubW8S6MN7B59436GAxPu0CVROwwNBsgxML49gcbAXLT/bU+H5wrS9XNpbGx5Y3VybGhvc3Q=
Proxy-Connection: Keep-Alive
GET /path/2090002 HTTP/1.1
User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.haxx.se:209
+Host: test.remote.example.com:209
Accept: */*
</protocol> diff --git a/tests/data/test213 b/tests/data/test213 index bb7763bb6..55b20b0d8 100644 --- a/tests/data/test213 +++ b/tests/data/test213 @@ -86,7 +86,7 @@ CURL_GETHOSTNAME=curlhost LD_PRELOAD=%PWD/libtest/.libs/libhostname.so </setenv> <command> -http://test.remote.haxx.se:213/path/2130002 --proxy1.0 http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel -d "postit" +http://test.remote.example.com:213/path/2130002 --proxy1.0 http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel -d "postit" </command> <precheck> chkhostname curlhost @@ -99,19 +99,19 @@ chkhostname curlhost ^User-Agent: curl/.* </strip> <protocol nonewline="yes"> -CONNECT test.remote.haxx.se:213 HTTP/1.0
-Host: test.remote.haxx.se:213
+CONNECT test.remote.example.com:213 HTTP/1.0
+Host: test.remote.example.com:213
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
Proxy-Connection: Keep-Alive
-CONNECT test.remote.haxx.se:213 HTTP/1.0
-Host: test.remote.haxx.se:213
+CONNECT test.remote.example.com:213 HTTP/1.0
+Host: test.remote.example.com:213
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAAIAAgAdQAAAAAAAAAAAAAABoKBAKAeQjzKtCQ7ubW8S6MN7B59436GAxPu0CVROwwNBsgxML49gcbAXLT/bU+H5wrS9XNpbGx5Y3VybGhvc3Q=
Proxy-Connection: Keep-Alive
POST /path/2130002 HTTP/1.1
User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.haxx.se:213
+Host: test.remote.example.com:213
Accept: */*
Content-Length: 6
Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test217 b/tests/data/test217 index f28800853..4b1bed9c9 100644 --- a/tests/data/test217 +++ b/tests/data/test217 @@ -32,7 +32,7 @@ http HTTP proxy CONNECT to proxy returning 405 </name> <command> -http://test.remote.haxx.se:217/path/2170002 --proxy http://%HOSTIP:%HTTPPORT --proxytunnel -w "%{http_code} %{http_connect}\n" +http://test.remote.example.com:217/path/2170002 --proxy http://%HOSTIP:%HTTPPORT --proxytunnel -w "%{http_code} %{http_connect}\n" </command> </client> @@ -42,8 +42,8 @@ http://test.remote.haxx.se:217/path/2170002 --proxy http://%HOSTIP:%HTTPPORT --p ^User-Agent: curl/.* </strip> <protocol> -CONNECT test.remote.haxx.se:217 HTTP/1.1
-Host: test.remote.haxx.se:217
+CONNECT test.remote.example.com:217 HTTP/1.1
+Host: test.remote.example.com:217
Proxy-Connection: Keep-Alive
</protocol> diff --git a/tests/data/test257 b/tests/data/test257 index c211c2f47..cc3b7f00a 100644 --- a/tests/data/test257 +++ b/tests/data/test257 @@ -64,9 +64,6 @@ If this is received, the location following worked # Client-side <client> -<features> -netrc_debug -</features> <server> http </server> @@ -74,7 +71,7 @@ http HTTP Location: following with --netrc-optional </name> <command> -http://supersite.com/want/257 -L -x http://%HOSTIP:%HTTPPORT --netrc-optional +http://supersite.com/want/257 -L -x http://%HOSTIP:%HTTPPORT --netrc-optional --netrc-file log/netrc </command> # netrc auth for two out of three sites: diff --git a/tests/data/test265 b/tests/data/test265 index 18d20a60a..dfac8bfaf 100644 --- a/tests/data/test265 +++ b/tests/data/test265 @@ -89,7 +89,7 @@ CURL_GETHOSTNAME=curlhost LD_PRELOAD=%PWD/libtest/.libs/libhostname.so </setenv> <command> -http://test.remote.haxx.se:265/path/2650002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel -d "postit" +http://test.remote.example.com:265/path/2650002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel -d "postit" </command> <precheck> chkhostname curlhost @@ -102,19 +102,19 @@ chkhostname curlhost ^User-Agent: curl/.* </strip> <protocol nonewline="yes"> -CONNECT test.remote.haxx.se:265 HTTP/1.1
-Host: test.remote.haxx.se:265
+CONNECT test.remote.example.com:265 HTTP/1.1
+Host: test.remote.example.com:265
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
Proxy-Connection: Keep-Alive
-CONNECT test.remote.haxx.se:265 HTTP/1.1
-Host: test.remote.haxx.se:265
+CONNECT test.remote.example.com:265 HTTP/1.1
+Host: test.remote.example.com:265
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAAIAAgAdQAAAAAAAAAAAAAABoKBAKAeQjzKtCQ7ubW8S6MN7B59436GAxPu0CVROwwNBsgxML49gcbAXLT/bU+H5wrS9XNpbGx5Y3VybGhvc3Q=
Proxy-Connection: Keep-Alive
POST /path/2650002 HTTP/1.1
User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.haxx.se:265
+Host: test.remote.example.com:265
Accept: */*
Content-Length: 6
Content-Type: application/x-www-form-urlencoded
diff --git a/tests/data/test287 b/tests/data/test287 index 30f5834d5..323d3f392 100644 --- a/tests/data/test287 +++ b/tests/data/test287 @@ -29,15 +29,15 @@ http HTTP proxy CONNECT with custom User-Agent header </name> <command> -http://test.remote.haxx.se:287/path/287 -H "User-Agent: looser/2007" --proxy http://%HOSTIP:%HTTPPORT --proxytunnel +http://test.remote.example.com:287/path/287 -H "User-Agent: looser/2007" --proxy http://%HOSTIP:%HTTPPORT --proxytunnel </command> </client> # Verify data after the test has been "shot" <verify> <protocol> -CONNECT test.remote.haxx.se:287 HTTP/1.1
-Host: test.remote.haxx.se:287
+CONNECT test.remote.example.com:287 HTTP/1.1
+Host: test.remote.example.com:287
Proxy-Connection: Keep-Alive
User-Agent: looser/2007
diff --git a/tests/data/test523 b/tests/data/test523 index 6c1efbd5d..bae7e6ffa 100644 --- a/tests/data/test523 +++ b/tests/data/test523 @@ -39,7 +39,7 @@ HTTP GET with proxy and CURLOPT_PORT </name> # first URL then proxy <command> -http://www.haxx.se:999/523 http://%HOSTIP:%HTTPPORT +http://www.example.com:999/523 http://%HOSTIP:%HTTPPORT </command> </client> @@ -50,9 +50,9 @@ http://www.haxx.se:999/523 http://%HOSTIP:%HTTPPORT ^User-Agent:.* </strip> <protocol> -GET HTTP://www.haxx.se:19999/523 HTTP/1.1
+GET HTTP://www.example.com:19999/523 HTTP/1.1
Authorization: Basic eHh4Onl5eQ==
-Host: www.haxx.se:19999
+Host: www.example.com:19999
Accept: */*
Proxy-Connection: Keep-Alive
diff --git a/tests/data/test540 b/tests/data/test540 index 7c5b9a86d..c99f9a0a8 100644 --- a/tests/data/test540 +++ b/tests/data/test540 @@ -64,7 +64,7 @@ crypto HTTP proxy auth Digest multi API re-using connection </name> <command> -http://test.remote.haxx.se/path/540 http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name +http://test.remote.example.com/path/540 http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name </command> </client> @@ -74,18 +74,18 @@ http://test.remote.haxx.se/path/540 http://%HOSTIP:%HTTPPORT silly:person custom ^User-Agent: curl/.* </strip> <protocol> -GET http://test.remote.haxx.se/path/540 HTTP/1.1
+GET http://test.remote.example.com/path/540 HTTP/1.1
Accept: */*
Proxy-Connection: Keep-Alive
Host: custom.set.host.name
-GET http://test.remote.haxx.se/path/540 HTTP/1.1
+GET http://test.remote.example.com/path/540 HTTP/1.1
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
Accept: */*
Proxy-Connection: Keep-Alive
Host: custom.set.host.name
-GET http://test.remote.haxx.se/path/540 HTTP/1.1
+GET http://test.remote.example.com/path/540 HTTP/1.1
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
Accept: */*
Proxy-Connection: Keep-Alive
diff --git a/tests/data/test547 b/tests/data/test547 index d1e26040a..7bcf5a4d4 100644 --- a/tests/data/test547 +++ b/tests/data/test547 @@ -87,7 +87,7 @@ CURL_GETHOSTNAME=curlhost LD_PRELOAD=%PWD/libtest/.libs/libhostname.so </setenv> <command> -http://test.remote.haxx.se/path/547 http://%HOSTIP:%HTTPPORT s1lly:pers0n +http://test.remote.example.com/path/547 http://%HOSTIP:%HTTPPORT s1lly:pers0n </command> <precheck> chkhostname curlhost @@ -100,28 +100,28 @@ chkhostname curlhost ^User-Agent: curl/.* </strip> <protocol> -POST http://test.remote.haxx.se/path/547 HTTP/1.1
+POST http://test.remote.example.com/path/547 HTTP/1.1
User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.haxx.se
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 36
Content-Type: application/x-www-form-urlencoded
this is the blurb we want to upload -POST http://test.remote.haxx.se/path/547 HTTP/1.1
+POST http://test.remote.example.com/path/547 HTTP/1.1
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.haxx.se
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
-POST http://test.remote.haxx.se/path/547 HTTP/1.1
+POST http://test.remote.example.com/path/547 HTTP/1.1
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAAIAAgAdQAAAAAAAAAAAAAABoKBAIYrD1xJmhNBNL9fLzuk9PV9436GAxPu0EKWzqQ/sZDVLXnp1JrySgl8A+cibE6z4HMxbGx5Y3VybGhvc3Q=
User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.haxx.se
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 36
diff --git a/tests/data/test548 b/tests/data/test548 index c4942e602..a6e2a9bf2 100644 --- a/tests/data/test548 +++ b/tests/data/test548 @@ -87,7 +87,7 @@ CURL_GETHOSTNAME=curlhost LD_PRELOAD=%PWD/libtest/.libs/libhostname.so </setenv> <command> -http://test.remote.haxx.se/path/548 http://%HOSTIP:%HTTPPORT s1lly:pers0n +http://test.remote.example.com/path/548 http://%HOSTIP:%HTTPPORT s1lly:pers0n </command> <precheck> chkhostname curlhost @@ -100,28 +100,28 @@ chkhostname curlhost ^User-Agent: curl/.* </strip> <protocol> -POST http://test.remote.haxx.se/path/548 HTTP/1.1
+POST http://test.remote.example.com/path/548 HTTP/1.1
User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.haxx.se
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 36
Content-Type: application/x-www-form-urlencoded
this is the blurb we want to upload -POST http://test.remote.haxx.se/path/548 HTTP/1.1
+POST http://test.remote.example.com/path/548 HTTP/1.1
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.haxx.se
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
-POST http://test.remote.haxx.se/path/548 HTTP/1.1
+POST http://test.remote.example.com/path/548 HTTP/1.1
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAAIAAgAdQAAAAAAAAAAAAAABoKBAIYrD1xJmhNBNL9fLzuk9PV9436GAxPu0EKWzqQ/sZDVLXnp1JrySgl8A+cibE6z4HMxbGx5Y3VybGhvc3Q=
User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.haxx.se
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 36
diff --git a/tests/data/test549 b/tests/data/test549 index 298d0ad98..e4bd6bf2c 100644 --- a/tests/data/test549 +++ b/tests/data/test549 @@ -41,7 +41,7 @@ FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE </name> # first URL then proxy <command> -ftp://www.haxx.se/moo/549 http://%HOSTIP:%HTTPPORT +ftp://www.example.com/moo/549 http://%HOSTIP:%HTTPPORT </command> </client> @@ -52,8 +52,8 @@ ftp://www.haxx.se/moo/549 http://%HOSTIP:%HTTPPORT ^User-Agent:.* </strip> <protocol> -GET ftp://www.haxx.se/moo/549;type=i HTTP/1.1
-Host: www.haxx.se:21
+GET ftp://www.example.com/moo/549;type=i HTTP/1.1
+Host: www.example.com:21
Accept: */*
Proxy-Connection: Keep-Alive
diff --git a/tests/data/test550 b/tests/data/test550 index c99cf4bed..e9605d6cd 100644 --- a/tests/data/test550 +++ b/tests/data/test550 @@ -41,7 +41,7 @@ FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer </name> # first URL then proxy <command> -ftp://www.haxx.se/moo/550 http://%HOSTIP:%HTTPPORT ascii +ftp://www.example.com/moo/550 http://%HOSTIP:%HTTPPORT ascii </command> </client> @@ -52,8 +52,8 @@ ftp://www.haxx.se/moo/550 http://%HOSTIP:%HTTPPORT ascii ^User-Agent:.* </strip> <protocol> -GET ftp://www.haxx.se/moo/550;type=a HTTP/1.1
-Host: www.haxx.se:21
+GET ftp://www.example.com/moo/550;type=a HTTP/1.1
+Host: www.example.com:21
Accept: */*
Proxy-Connection: Keep-Alive
diff --git a/tests/data/test551 b/tests/data/test551 index 8027d91cf..4f5220a26 100644 --- a/tests/data/test551 +++ b/tests/data/test551 @@ -66,7 +66,7 @@ lib547 HTTP proxy auth Digest with POST data from read callback </name> <command> -http://test.remote.haxx.se/path/551 http://%HOSTIP:%HTTPPORT s1lly:pers0n +http://test.remote.example.com/path/551 http://%HOSTIP:%HTTPPORT s1lly:pers0n </command> </client> @@ -76,17 +76,17 @@ http://test.remote.haxx.se/path/551 http://%HOSTIP:%HTTPPORT s1lly:pers0n ^User-Agent: curl/.* </strip> <protocol> -POST http://test.remote.haxx.se/path/551 HTTP/1.1
-Host: test.remote.haxx.se
+POST http://test.remote.example.com/path/551 HTTP/1.1
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 36
Content-Type: application/x-www-form-urlencoded
this is the blurb we want to upload -POST http://test.remote.haxx.se/path/551 HTTP/1.1
+POST http://test.remote.example.com/path/551 HTTP/1.1
Proxy-Authorization: Digest username="s1lly", realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", uri="/path/551", response="3325240726fbdaf1e61f3a0dd40b930c"
-Host: test.remote.haxx.se
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 36
diff --git a/tests/data/test552 b/tests/data/test552 Binary files differindex b0db37c1e..a974fc5cb 100644 --- a/tests/data/test552 +++ b/tests/data/test552 diff --git a/tests/data/test555 b/tests/data/test555 index 32223452e..bf06b524d 100644 --- a/tests/data/test555 +++ b/tests/data/test555 @@ -92,7 +92,7 @@ CURL_GETHOSTNAME=curlhost LD_PRELOAD=%PWD/libtest/.libs/libhostname.so </setenv> <command> -http://test.remote.haxx.se/path/555 http://%HOSTIP:%HTTPPORT s1lly:pers0n +http://test.remote.example.com/path/555 http://%HOSTIP:%HTTPPORT s1lly:pers0n </command> <precheck> chkhostname curlhost @@ -109,28 +109,28 @@ chkhostname curlhost s/^(this is the blurb we want to upload)\r\n/$1\n/ if($has_charconv) </strippart> <protocol> -POST http://test.remote.haxx.se/path/555 HTTP/1.1
+POST http://test.remote.example.com/path/555 HTTP/1.1
User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.haxx.se
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 36
Content-Type: application/x-www-form-urlencoded
this is the blurb we want to upload -POST http://test.remote.haxx.se/path/555 HTTP/1.1
+POST http://test.remote.example.com/path/555 HTTP/1.1
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.haxx.se
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
-POST http://test.remote.haxx.se/path/555 HTTP/1.1
+POST http://test.remote.example.com/path/555 HTTP/1.1
Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAAIAAgAdQAAAAAAAAAAAAAABoKBAIYrD1xJmhNBNL9fLzuk9PV9436GAxPu0EKWzqQ/sZDVLXnp1JrySgl8A+cibE6z4HMxbGx5Y3VybGhvc3Q=
User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.haxx.se
+Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 36
diff --git a/tests/data/test558 b/tests/data/test558 deleted file mode 100644 index 5b69ea027..000000000 --- a/tests/data/test558 +++ /dev/null @@ -1,44 +0,0 @@ -<testcase> -# -# Server-side -<reply> -</reply> - -# Client-side -<client> -<server> -none -</server> -# tool is what to use instead of 'curl' -<tool> -lib558 -</tool> -# precheck is a command line to run before the test, -# to see if we can execute the test or not -<precheck> -./libtest/lib558 check -</precheck> - -<name> -internal hash create/destroy testing -</name> -<command> -nothing -</command> -</client> - -# -# Verify data after the test has been "shot" -<verify> -<stdout mode="text"> -easy handle init OK -creating hash... -hash creation OK -destroying hash... -hash destruction OK -destroying easy handle... -easy handle destruction OK -</stdout> -</verify> - -</testcase> diff --git a/tests/data/test559 b/tests/data/test559 deleted file mode 100644 index ecaf54c7e..000000000 --- a/tests/data/test559 +++ /dev/null @@ -1,44 +0,0 @@ -<testcase> -# -# Server-side -<reply> -</reply> - -# Client-side -<client> -<server> -none -</server> -# tool is what to use instead of 'curl' -<tool> -lib559 -</tool> -# precheck is a command line to run before the test, -# to see if we can execute the test or not -<precheck> -./libtest/lib559 check -</precheck> - -<name> -internal hash create/add/destroy testing -</name> -<command> -nothing -</command> -</client> - -# -# Verify data after the test has been "shot" -<verify> -<stdout mode="text"> -easy handle init OK -creating hash... -hash creation OK -destroying hash... -hash destruction OK -destroying easy handle... -easy handle destruction OK -</stdout> -</verify> - -</testcase> diff --git a/tests/data/test561 b/tests/data/test561 index 18e827c10..8f069e6ed 100644 --- a/tests/data/test561 +++ b/tests/data/test561 @@ -42,7 +42,7 @@ FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i </name> # first URL then proxy <command> -"ftp://www.haxx.se/moo/561;type=i" http://%HOSTIP:%HTTPPORT ascii +"ftp://www.example.com/moo/561;type=i" http://%HOSTIP:%HTTPPORT ascii </command> </client> @@ -53,8 +53,8 @@ FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i ^User-Agent:.* </strip> <protocol> -GET ftp://www.haxx.se/moo/561;type=i HTTP/1.1
-Host: www.haxx.se:21
+GET ftp://www.example.com/moo/561;type=i HTTP/1.1
+Host: www.example.com:21
Accept: */*
Proxy-Connection: Keep-Alive
diff --git a/tests/data/test568 b/tests/data/test568 index d746e96dd..0f8440fbd 100644 --- a/tests/data/test568 +++ b/tests/data/test568 @@ -27,7 +27,7 @@ Content-Type: application/sdp v=0 s=rtspd SDP i=A fake SDP reply -u=http://www.curl.haxx.se/fakesdp.ps +u=http://www.curl.example.com/fakesdp.ps </data2> <data3> RTSP/1.0 200 Okie Dokie diff --git a/tests/data/test577 b/tests/data/test577 deleted file mode 100644 index 7a69ead20..000000000 --- a/tests/data/test577 +++ /dev/null @@ -1,43 +0,0 @@ -<testcase> -<info> -<keywords> -wildcardmatch -</keywords> -</info> -# -# Server-side -<reply> -</reply> - -# Client-side -<client> -<server> -none -</server> -# tool is what to use instead of 'curl' -<tool> -lib577 -</tool> -# precheck is a command line to run before the test, -# to see if we can execute the test or not -<precheck> -./libtest/lib577 check -</precheck> - - <name> -Curl_fnmatch() testing - </name> - <command> -nothing -</command> -</client> - -# -# Verify data after the test has been "shot" -<verify> -<stdout mode="text"> -=========================== -=========================== -</stdout> -</verify> -</testcase> diff --git a/tests/data/test582 b/tests/data/test582 new file mode 100644 index 000000000..8881a87d7 --- /dev/null +++ b/tests/data/test582 @@ -0,0 +1,46 @@ +<testcase> +<info> +<keywords> +SFTP +multi +</keywords> +</info> + +# Server-side +<reply> +<data> +</data> +</reply> + +# Client-side +<client> +<server> +sftp +</server> +<tool> +lib582 +</tool> + <name> +SFTP upload using multi interface + </name> + <command> +Sftp://%HOSTIP:%SSHPORT%PWD/log/upload582.txt %PWD/log/file582.txt %USER: +</command> +<file name="log/file582.txt"> +Moooooooooooo + upload this +</file> +</client> + +# Verify data after the test has been "shot" +<verify> +<strip> +</strip> +<protocol> +</protocol> +<file name="log/file582.txt"> +Moooooooooooo + upload this +</file> +</verify> +</testcase> diff --git a/tests/data/test583 b/tests/data/test583 new file mode 100644 index 000000000..2129ee729 --- /dev/null +++ b/tests/data/test583 @@ -0,0 +1,43 @@ +<testcase> +<info> +<keywords> +SFTP +multi +</keywords> +</info> + +# Server-side +<reply> +<data> +</data> +</reply> + +# Client-side +<client> +<server> +sftp +</server> +<tool> +lib583 +</tool> + <name> +SFTP with multi interface, remove handle early + </name> + +# The command here uses 'localhost' just to make sure that curl_multi_perform +# won't reach too far in the first invoke. When using c-ares at least, the +# name resolve will cause it to return rather quickly and thus we could trigger +# the problem we're looking to verify. + <command> +sftp://localhost:%SSHPORT%PWD/log/upload583.txt %USER: +</command> +</client> + +# Verify data after the test has been "shot" +<verify> +<strip> +</strip> +<protocol> +</protocol> +</verify> +</testcase> diff --git a/tests/libtest/CMakeLists.txt b/tests/libtest/CMakeLists.txt index 653e5315d..896686bd8 100644 --- a/tests/libtest/CMakeLists.txt +++ b/tests/libtest/CMakeLists.txt @@ -65,8 +65,7 @@ endforeach() # lib547 # #lib548 # lib549 lib552 lib553 lib554 lib555 lib556 -# lib539 lib557 lib558 -# #lib559 +# lib539 lib557 # lib560 # ) @@ -120,8 +119,3 @@ endforeach() # SET(SOURCE "lib547.c" ${SUPPORTFILES}) # ADD_TESTUTIL_IF_NECESSARY(${TEST_NAME}) # SETUP_TEST(${TEST_NAME} ${SOURCE}) - -# SET(TEST_NAME lib559) -# SET(SOURCE "lib558.c" ${SUPPORTFILES}) -# ADD_TESTUTIL_IF_NECESSARY(${TEST_NAME}) -# SETUP_TEST(${TEST_NAME} ${SOURCE}) diff --git a/tests/libtest/Makefile.inc b/tests/libtest/Makefile.inc index 2354ecc60..a210cbfe3 100644 --- a/tests/libtest/Makefile.inc +++ b/tests/libtest/Makefile.inc @@ -5,14 +5,14 @@ TESTUTIL = testutil.c testutil.h SUPPORTFILES = first.c test.h # These are all libcurl test programs -noinst_PROGRAMS = lib500 lib501 lib502 lib503 lib504 lib505 lib506 \ - lib507 lib508 lib510 lib511 lib512 lib513 lib514 lib515 lib516 \ - lib517 lib518 lib519 lib520 lib521 lib523 lib524 lib525 lib526 lib527 \ - lib574 lib575 lib576 lib577 lib578 lib579 \ - lib529 lib530 lib532 lib533 lib536 lib537 lib540 lib541 lib542 lib543 \ - lib544 lib545 lib547 lib548 lib549 lib552 lib553 lib554 lib555 lib556 \ - lib539 lib557 lib558 lib559 lib560 lib562 lib564 lib565 lib566 lib567 \ - lib568 lib569 lib570 lib571 lib572 lib573 chkhostname +noinst_PROGRAMS = chkhostname \ + lib500 lib501 lib502 lib503 lib504 lib505 lib506 lib507 lib508 lib510 \ + lib511 lib512 lib513 lib514 lib515 lib516 lib517 lib518 lib519 lib520 \ + lib521 lib523 lib524 lib525 lib526 lib527 lib574 lib575 lib576 lib578 \ + lib579 lib529 lib530 lib532 lib533 lib536 lib537 lib540 lib541 lib542 \ + lib543 lib544 lib545 lib547 lib548 lib549 lib552 lib553 lib554 lib555 \ + lib556 lib539 lib557 lib560 lib562 lib564 lib565 lib566 lib567 lib568 \ + lib569 lib570 lib571 lib572 lib573 lib582 lib583 chkhostname_SOURCES = chkhostname.c $(top_srcdir)/lib/curl_gethostname.c chkhostname_LDADD = @CURL_NETWORK_LIBS@ @@ -122,12 +122,6 @@ lib556_SOURCES = lib556.c $(SUPPORTFILES) lib557_SOURCES = lib557.c $(SUPPORTFILES) -lib558_SOURCES = lib558.c $(SUPPORTFILES) -lib558_CFLAGS = -DLIB558 - -lib559_SOURCES = lib558.c $(SUPPORTFILES) -lib559_CFLAGS = -DLIB559 - lib560_SOURCES = lib560.c $(SUPPORTFILES) lib574_SOURCES = lib574.c $(SUPPORTFILES) @@ -136,8 +130,6 @@ lib575_SOURCES = lib575.c $(SUPPORTFILES) lib576_SOURCES = lib576.c $(SUPPORTFILES) -lib577_SOURCES = lib577.c $(SUPPORTFILES) - lib562_SOURCES = lib562.c $(SUPPORTFILES) lib564_SOURCES = lib564.c $(SUPPORTFILES) $(TESTUTIL) @@ -165,3 +157,6 @@ lib578_SOURCES = lib578.c $(SUPPORTFILES) lib579_SOURCES = lib579.c $(SUPPORTFILES) +lib582_SOURCES = lib582.c $(SUPPORTFILES) $(TESTUTIL) + +lib583_SOURCES = lib583.c $(SUPPORTFILES) diff --git a/tests/libtest/chkhostname.c b/tests/libtest/chkhostname.c index 72c8b6a1f..58930467f 100644 --- a/tests/libtest/chkhostname.c +++ b/tests/libtest/chkhostname.c @@ -1,3 +1,24 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "setup.h" #include "curl_gethostname.h" diff --git a/tests/libtest/first.c b/tests/libtest/first.c index 53b372ba5..a6f8e3cc2 100644 --- a/tests/libtest/first.c +++ b/tests/libtest/first.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #ifdef HAVE_LOCALE_H diff --git a/tests/libtest/lib500.c b/tests/libtest/lib500.c index dc6967cbe..b88bfd8bc 100644 --- a/tests/libtest/lib500.c +++ b/tests/libtest/lib500.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib501.c b/tests/libtest/lib501.c index 770cf8f74..26275f977 100644 --- a/tests/libtest/lib501.c +++ b/tests/libtest/lib501.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib502.c b/tests/libtest/lib502.c index f6be5aaf7..9ade12afb 100644 --- a/tests/libtest/lib502.c +++ b/tests/libtest/lib502.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "testutil.h" diff --git a/tests/libtest/lib503.c b/tests/libtest/lib503.c index 2301186af..d6ef58a00 100644 --- a/tests/libtest/lib503.c +++ b/tests/libtest/lib503.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include <sys/types.h> diff --git a/tests/libtest/lib504.c b/tests/libtest/lib504.c index b8091f66a..55ad5ff31 100644 --- a/tests/libtest/lib504.c +++ b/tests/libtest/lib504.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include <sys/types.h> diff --git a/tests/libtest/lib505.c b/tests/libtest/lib505.c index 5af7ac0bb..0a255d673 100644 --- a/tests/libtest/lib505.c +++ b/tests/libtest/lib505.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #ifdef HAVE_SYS_SOCKET_H diff --git a/tests/libtest/lib506.c b/tests/libtest/lib506.c index 9209056dd..6476b9546 100644 --- a/tests/libtest/lib506.c +++ b/tests/libtest/lib506.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include <stdlib.h> #include <ctype.h> diff --git a/tests/libtest/lib507.c b/tests/libtest/lib507.c index 012d8f454..a52fabec1 100644 --- a/tests/libtest/lib507.c +++ b/tests/libtest/lib507.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "testutil.h" diff --git a/tests/libtest/lib508.c b/tests/libtest/lib508.c index 0fa5eb9d2..1aca064e9 100644 --- a/tests/libtest/lib508.c +++ b/tests/libtest/lib508.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib510.c b/tests/libtest/lib510.c index f3f8cdbc0..779164ad5 100644 --- a/tests/libtest/lib510.c +++ b/tests/libtest/lib510.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib511.c b/tests/libtest/lib511.c index dea97c5e2..6be2d2f76 100644 --- a/tests/libtest/lib511.c +++ b/tests/libtest/lib511.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib512.c b/tests/libtest/lib512.c index 9f59f7baf..19da18b4f 100644 --- a/tests/libtest/lib512.c +++ b/tests/libtest/lib512.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib513.c b/tests/libtest/lib513.c index c85006e1d..c013ac258 100644 --- a/tests/libtest/lib513.c +++ b/tests/libtest/lib513.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib514.c b/tests/libtest/lib514.c index 283f89e4b..953e90dff 100644 --- a/tests/libtest/lib514.c +++ b/tests/libtest/lib514.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib515.c b/tests/libtest/lib515.c index 2660ae369..4e96c4a8d 100644 --- a/tests/libtest/lib515.c +++ b/tests/libtest/lib515.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib516.c b/tests/libtest/lib516.c index b796dbbb7..a9590948d 100644 --- a/tests/libtest/lib516.c +++ b/tests/libtest/lib516.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib517.c b/tests/libtest/lib517.c index 38a65d30b..9e0a91f16 100644 --- a/tests/libtest/lib517.c +++ b/tests/libtest/lib517.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib518.c b/tests/libtest/lib518.c index 9e683d956..c483d7ade 100644 --- a/tests/libtest/lib518.c +++ b/tests/libtest/lib518.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #ifdef HAVE_SYS_TYPES_H diff --git a/tests/libtest/lib519.c b/tests/libtest/lib519.c index f885c5de6..b720c8fee 100644 --- a/tests/libtest/lib519.c +++ b/tests/libtest/lib519.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib520.c b/tests/libtest/lib520.c index a0e124489..9ffaa4f92 100644 --- a/tests/libtest/lib520.c +++ b/tests/libtest/lib520.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib521.c b/tests/libtest/lib521.c index 9e79cb41e..93c306864 100644 --- a/tests/libtest/lib521.c +++ b/tests/libtest/lib521.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib523.c b/tests/libtest/lib523.c index a1ac4a4e9..0fdc83db6 100644 --- a/tests/libtest/lib523.c +++ b/tests/libtest/lib523.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib524.c b/tests/libtest/lib524.c index ee520628b..6f56df9b0 100644 --- a/tests/libtest/lib524.c +++ b/tests/libtest/lib524.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib525.c b/tests/libtest/lib525.c index ade637012..2765897fd 100644 --- a/tests/libtest/lib525.c +++ b/tests/libtest/lib525.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include <sys/types.h> diff --git a/tests/libtest/lib526.c b/tests/libtest/lib526.c index 0418b6ba2..27b87bdd8 100644 --- a/tests/libtest/lib526.c +++ b/tests/libtest/lib526.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ /* * This code sets up multiple easy handles that transfer a single file from * the same URL, in a serial manner after each other. Due to the connection diff --git a/tests/libtest/lib530.c b/tests/libtest/lib530.c index abefc92d3..2ec67f61b 100644 --- a/tests/libtest/lib530.c +++ b/tests/libtest/lib530.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #ifdef HAVE_SYS_TYPES_H diff --git a/tests/libtest/lib533.c b/tests/libtest/lib533.c index 89ac7bf89..62ce2cdb9 100644 --- a/tests/libtest/lib533.c +++ b/tests/libtest/lib533.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ /* used for test case 533, 534 and 535 */ #include "test.h" diff --git a/tests/libtest/lib536.c b/tests/libtest/lib536.c index e0c19f661..6e3e7571c 100644 --- a/tests/libtest/lib536.c +++ b/tests/libtest/lib536.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include <sys/types.h> diff --git a/tests/libtest/lib537.c b/tests/libtest/lib537.c index 842dbab77..97119129b 100644 --- a/tests/libtest/lib537.c +++ b/tests/libtest/lib537.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #ifdef HAVE_SYS_TYPES_H diff --git a/tests/libtest/lib539.c b/tests/libtest/lib539.c index 9909d01d1..923893fb2 100644 --- a/tests/libtest/lib539.c +++ b/tests/libtest/lib539.c @@ -1,12 +1,24 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - */ - +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib540.c b/tests/libtest/lib540.c index bf4cd5225..32d2342d5 100644 --- a/tests/libtest/lib540.c +++ b/tests/libtest/lib540.c @@ -1,12 +1,25 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * - * This is the 'proxyauth.c' test app posted by Shmulik Regev on the libcurl + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +/* This is the 'proxyauth.c' test app posted by Shmulik Regev on the libcurl * mailing list on 10 Jul 2007, converted to a test case. * * argv1 = URL diff --git a/tests/libtest/lib541.c b/tests/libtest/lib541.c index 2fc85b97d..6af7bc5cf 100644 --- a/tests/libtest/lib541.c +++ b/tests/libtest/lib541.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #ifdef HAVE_SYS_SOCKET_H diff --git a/tests/libtest/lib542.c b/tests/libtest/lib542.c index ef7b483b4..efe8ea24e 100644 --- a/tests/libtest/lib542.c +++ b/tests/libtest/lib542.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #ifdef HAVE_SYS_SOCKET_H diff --git a/tests/libtest/lib543.c b/tests/libtest/lib543.c index 8f14f8411..08d9c4544 100644 --- a/tests/libtest/lib543.c +++ b/tests/libtest/lib543.c @@ -1,13 +1,25 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * - * Based on Alex Fishman's bug report on September 30, 2007 - */ + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +/* Based on Alex Fishman's bug report on September 30, 2007 */ #include "test.h" diff --git a/tests/libtest/lib544.c b/tests/libtest/lib544.c index 6bc899cc5..b766187f2 100644 --- a/tests/libtest/lib544.c +++ b/tests/libtest/lib544.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib547.c b/tests/libtest/lib547.c index 4ef303726..c82bc3f23 100644 --- a/tests/libtest/lib547.c +++ b/tests/libtest/lib547.c @@ -1,12 +1,25 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * - * argv1 = URL + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +/* argv1 = URL * argv2 = proxy * argv3 = proxyuser:password */ diff --git a/tests/libtest/lib549.c b/tests/libtest/lib549.c index 9fd18b225..a1568c88f 100644 --- a/tests/libtest/lib549.c +++ b/tests/libtest/lib549.c @@ -1,12 +1,25 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * - * argv1 = URL + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +/* argv1 = URL * argv2 = proxy * argv3 = non-zero means ASCII transfer */ diff --git a/tests/libtest/lib552.c b/tests/libtest/lib552.c index eeecf6f91..fb8b14bc2 100644 --- a/tests/libtest/lib552.c +++ b/tests/libtest/lib552.c @@ -1,12 +1,25 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * - * argv1 = URL + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +/* argv1 = URL * argv2 = proxy with embedded user+password */ diff --git a/tests/libtest/lib553.c b/tests/libtest/lib553.c index 8694daf67..cb1cefd5e 100644 --- a/tests/libtest/lib553.c +++ b/tests/libtest/lib553.c @@ -1,12 +1,26 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * - * This test case and code is based on the bug recipe Joe Malicki provided for + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +/* This test case and code is based on the bug recipe Joe Malicki provided for * bug report #1871269, fixed on Jan 14 2008 before the 7.18.0 release. */ diff --git a/tests/libtest/lib554.c b/tests/libtest/lib554.c index d7c68241a..d510268e7 100644 --- a/tests/libtest/lib554.c +++ b/tests/libtest/lib554.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib555.c b/tests/libtest/lib555.c index 55b3f13ed..c67501521 100644 --- a/tests/libtest/lib555.c +++ b/tests/libtest/lib555.c @@ -1,12 +1,26 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * - * This test case is supposed to be identical to 547 except that this uses the + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +/* This test case is supposed to be identical to 547 except that this uses the * multi interface and 547 is easy interface. * * argv1 = URL diff --git a/tests/libtest/lib556.c b/tests/libtest/lib556.c index 78d123baa..da29a4678 100644 --- a/tests/libtest/lib556.c +++ b/tests/libtest/lib556.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib557.c b/tests/libtest/lib557.c index 48ccaf38e..dc3bcae86 100644 --- a/tests/libtest/lib557.c +++ b/tests/libtest/lib557.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ /* * The purpose of this test is to minimally exercise libcurl's internal diff --git a/tests/libtest/lib558.c b/tests/libtest/lib558.c deleted file mode 100644 index 56f2a2612..000000000 --- a/tests/libtest/lib558.c +++ /dev/null @@ -1,188 +0,0 @@ -/***************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - */ - -#include "test.h" - -#ifdef HAVE_SYS_SOCKET_H -# include <sys/socket.h> -#endif -#ifdef HAVE_NETINET_IN_H -# include <netinet/in.h> -#endif -#ifdef HAVE_NETDB_H -# include <netdb.h> -#endif -#ifdef HAVE_ARPA_INET_H -# include <arpa/inet.h> -#endif - -#define ENABLE_CURLX_PRINTF -#include "curlx.h" - -#include "hash.h" -#include "hostip.h" - -#include "curl_memory.h" -#include "memdebug.h" - -/* This source file is used for test # 558 and 559 */ - -/* - * This hacky test bypasses the library external API, - * using internal only libcurl functions. So don't be - * surprised if we cannot run it when the library has - * been built with hidden symbols, exporting only the - * ones in the public API. - */ - -#if defined(CURL_HIDDEN_SYMBOLS) -# define SKIP_TEST 1 -#elif defined(WIN32) && !defined(CURL_STATICLIB) -# define SKIP_TEST 1 -#else -# undef SKIP_TEST -#endif - - -#if !defined(SKIP_TEST) - -#ifdef LIB559 -static Curl_addrinfo *fake_ai(void) -{ - Curl_addrinfo *ai; - int ss_size; - - ss_size = sizeof (struct sockaddr_in); - - if((ai = calloc(1, sizeof(Curl_addrinfo))) == NULL) - return NULL; - - if((ai->ai_canonname = strdup("dummy")) == NULL) { - free(ai); - return NULL; - } - - if((ai->ai_addr = calloc(1, ss_size)) == NULL) { - free(ai->ai_canonname); - free(ai); - return NULL; - } - - ai->ai_family = AF_INET; - ai->ai_addrlen = ss_size; - - return ai; -} -#endif /* LIB559 */ - - -int test(char *URL) -{ - CURL *easyh = NULL; - struct curl_hash *hp = NULL; - int result = 0; - - if(!strcmp(URL, "check")) { - /* test harness script verifying if this test can run */ - return 0; /* sure, run this! */ - } - - easyh = curl_easy_init(); - if(!easyh) { - fprintf(stdout, "easy handle init failed\n"); - result = TEST_ERR_MAJOR_BAD; - goto cleanup; - } - fprintf(stdout, "easy handle init OK\n"); - - fprintf(stdout, "creating hash...\n"); - hp = Curl_mk_dnscache(); - if(!hp) { - fprintf(stdout, "hash creation failed\n"); - result = TEST_ERR_MAJOR_BAD; - goto cleanup; - } - fprintf(stdout, "hash creation OK\n"); - - /**/ -#ifdef LIB559 - { - char *data_key; - struct Curl_dns_entry *data_node; - struct Curl_dns_entry *nodep; - size_t key_len; - - data_key = aprintf("%s:%d", "dummy", 0); - if(!data_key) { - fprintf(stdout, "data key creation failed\n"); - result = TEST_ERR_MAJOR_BAD; - goto cleanup; - } - key_len = strlen(data_key); - - data_node = calloc(1, sizeof(struct Curl_dns_entry)); - if(!data_node) { - fprintf(stdout, "data node creation failed\n"); - result = TEST_ERR_MAJOR_BAD; - free(data_key); - goto cleanup; - } - - data_node->addr = fake_ai(); - if(!data_node->addr) { - fprintf(stdout, "actual data creation failed\n"); - result = TEST_ERR_MAJOR_BAD; - free(data_node); - free(data_key); - goto cleanup; - } - - nodep = Curl_hash_add(hp, data_key, key_len+1, (void *)data_node); - if(!nodep) { - fprintf(stdout, "insertion into hash failed\n"); - result = TEST_ERR_MAJOR_BAD; - Curl_freeaddrinfo(data_node->addr); - free(data_node); - free(data_key); - goto cleanup; - } - - free(data_key); - } -#endif /* LIB559 */ - /**/ - -cleanup: - - fprintf(stdout, "destroying hash...\n"); - Curl_hash_destroy(hp); - fprintf(stdout, "hash destruction OK\n"); - - fprintf(stdout, "destroying easy handle...\n"); - curl_easy_cleanup(easyh); - fprintf(stdout, "easy handle destruction OK\n"); - - curl_global_cleanup(); - - return result; -} - - -#else /* !defined(SKIP_TEST) */ - - -int test(char *URL) -{ - (void)URL; - fprintf(stdout, "libcurl built with hidden symbols"); - return 1; /* skip test */ -} - - -#endif /* !defined(SKIP_TEST) */ diff --git a/tests/libtest/lib560.c b/tests/libtest/lib560.c index 87e854555..081ad738f 100644 --- a/tests/libtest/lib560.c +++ b/tests/libtest/lib560.c @@ -1,12 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * - */ + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" /* diff --git a/tests/libtest/lib562.c b/tests/libtest/lib562.c index acdd79aab..657a2d3cd 100644 --- a/tests/libtest/lib562.c +++ b/tests/libtest/lib562.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib564.c b/tests/libtest/lib564.c index d33f23042..c4495f517 100644 --- a/tests/libtest/lib564.c +++ b/tests/libtest/lib564.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib566.c b/tests/libtest/lib566.c index 889f15b3a..4aa6d98e9 100644 --- a/tests/libtest/lib566.c +++ b/tests/libtest/lib566.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib567.c b/tests/libtest/lib567.c index e1df0c1e4..7466e7475 100644 --- a/tests/libtest/lib567.c +++ b/tests/libtest/lib567.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "memdebug.h" diff --git a/tests/libtest/lib568.c b/tests/libtest/lib568.c index 1f16664cb..df0cd88d1 100644 --- a/tests/libtest/lib568.c +++ b/tests/libtest/lib568.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib569.c b/tests/libtest/lib569.c index b5182d64c..366e4c344 100644 --- a/tests/libtest/lib569.c +++ b/tests/libtest/lib569.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib570.c b/tests/libtest/lib570.c index 9fe2eceaa..29d30dbef 100644 --- a/tests/libtest/lib570.c +++ b/tests/libtest/lib570.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib571.c b/tests/libtest/lib571.c index 2892211aa..1b2bf7b74 100644 --- a/tests/libtest/lib571.c +++ b/tests/libtest/lib571.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib572.c b/tests/libtest/lib572.c index 18e74d4db..b54877cd4 100644 --- a/tests/libtest/lib572.c +++ b/tests/libtest/lib572.c @@ -1,11 +1,24 @@ - -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| - */ + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib573.c b/tests/libtest/lib573.c index 5edb1814a..466185844 100644 --- a/tests/libtest/lib573.c +++ b/tests/libtest/lib573.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib574.c b/tests/libtest/lib574.c index 69b2979a8..8c5781609 100644 --- a/tests/libtest/lib574.c +++ b/tests/libtest/lib574.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib575.c b/tests/libtest/lib575.c index 521720e95..bb075dc1f 100644 --- a/tests/libtest/lib575.c +++ b/tests/libtest/lib575.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib576.c b/tests/libtest/lib576.c index 821eb61ac..48841b59d 100644 --- a/tests/libtest/lib576.c +++ b/tests/libtest/lib576.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" #include "testutil.h" diff --git a/tests/libtest/lib578.c b/tests/libtest/lib578.c index 2efb003ae..51ead8722 100644 --- a/tests/libtest/lib578.c +++ b/tests/libtest/lib578.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib579.c b/tests/libtest/lib579.c index 2b80ab0b6..ad8ba7e97 100644 --- a/tests/libtest/lib579.c +++ b/tests/libtest/lib579.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" diff --git a/tests/libtest/lib582.c b/tests/libtest/lib582.c new file mode 100644 index 000000000..7f87f1d15 --- /dev/null +++ b/tests/libtest/lib582.c @@ -0,0 +1,377 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +#include "test.h" + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "testutil.h" +#include "memdebug.h" + +#define MAIN_LOOP_HANG_TIMEOUT 4 * 1000 + +struct Sockets +{ + curl_socket_t* sockets; + int count; +}; + +struct ReadWriteSockets +{ + struct Sockets read, write; +}; + +/** + * Remove a file descriptor from a sockets array. + */ +static void removeFd(struct Sockets* sockets, curl_socket_t fd, int mention) +{ + int i; + + if(mention) + fprintf(stderr, "Remove socket fd %d\n", (int) fd); + + for (i = 0; i < sockets->count; ++i) { + if (sockets->sockets[i] == fd) { + memmove(&sockets->sockets[i], &sockets->sockets[i + 1], + sizeof(curl_socket_t) * (sockets->count - i - 1)); + --sockets->count; + } + } +} + +/** + * Add a file descriptor to a sockets array. + */ +static void addFd(struct Sockets* sockets, curl_socket_t fd, const char *what) +{ + /** + * To ensure we only have each file descriptor once, we remove it then add + * it again. + */ + fprintf(stderr, "Add socket fd %d for %s\n", (int) fd, what); + removeFd(sockets, fd, 0); + sockets->sockets = realloc(sockets->sockets, + sizeof(curl_socket_t) * (sockets->count + 1)); + sockets->sockets[sockets->count] = fd; + ++sockets->count; +} + +/** + * Callback invoked by curl to poll reading / writing of a socket. + */ +static int curlSocketCallback(CURL *easy, curl_socket_t s, int action, + void *userp, void *socketp) +{ + struct ReadWriteSockets* sockets = userp; + + (void)easy; /* unused */ + (void)socketp; /* unused */ + + if (action == CURL_POLL_IN || action == CURL_POLL_INOUT) + addFd(&sockets->read, s, "read"); + + if (action == CURL_POLL_OUT || action == CURL_POLL_INOUT) + addFd(&sockets->write, s, "write"); + + if(action == CURL_POLL_REMOVE) { + removeFd(&sockets->read, s, 1); + removeFd(&sockets->write, s, 0); + } + + return 0; +} + +/** + * Callback invoked by curl to set a timeout. + */ +static int curlTimerCallback(CURLM *multi, long timeout_ms, void *userp) +{ + struct timeval* timeout = userp; + + (void)multi; /* unused */ + if (timeout_ms != -1) { + gettimeofday(timeout, 0); + timeout->tv_usec += timeout_ms * 1000; + } + else { + timeout->tv_sec = -1; + } + return 0; +} + +/** + * Check for curl completion. + */ +static int checkForCompletion(CURLM* curl, int* success) +{ + int numMessages; + CURLMsg* message; + int result = 0; + *success = 0; + while ((message = curl_multi_info_read(curl, &numMessages)) != 0) { + if (message->msg == CURLMSG_DONE) { + result = 1; + if (message->data.result == CURLE_OK) + *success = 1; + else + *success = 0; + } + else { + fprintf(stderr, "Got an unexpected message from curl: %i\n", + message->msg); + result = 1; + *success = 0; + } + } + return result; +} + +static int getMicroSecondTimeout(struct timeval* timeout) +{ + struct timeval now; + int result; + + gettimeofday(&now, 0); + result = (timeout->tv_sec - now.tv_sec) * 1000000 + + timeout->tv_usec - now.tv_usec; + if (result < 0) + result = 0; + + return result; +} + +/** + * Update a fd_set with all of the sockets in use. + */ +static void updateFdSet(struct Sockets* sockets, fd_set* fdset, int* maxFd) +{ + int i; + for (i = 0; i < sockets->count; ++i) { + FD_SET(sockets->sockets[i], fdset); + if (*maxFd < sockets->sockets[i] + 1) { + *maxFd = sockets->sockets[i] + 1; + } + } +} + +static void notifyCurl(CURL* curl, curl_socket_t s, int evBitmask, + const char* info) +{ + int numhandles = 0; + CURLMcode result = curl_multi_socket_action(curl, s, evBitmask, &numhandles); + if (result != CURLM_OK && result != CURLM_CALL_MULTI_PERFORM) + { + fprintf(stderr, "Curl error on %s: %i (%s)\n", + info, result, curl_multi_strerror(result)); + } +} + +/** + * Invoke curl when a file descriptor is set. + */ +static void checkFdSet(CURL* curl, struct Sockets* sockets, fd_set* fdset, + int evBitmask, const char* name) +{ + int i; + for (i = 0; i < sockets->count; ++i) + { + if (FD_ISSET(sockets->sockets[i], fdset)) + { + notifyCurl(curl, sockets->sockets[i], evBitmask, name); + } + } +} + +int test(char *URL) +{ + int res = 0; + CURL *curl; + FILE *hd_src ; + int hd ; + int error; + struct_stat file_info; + CURLM *m = NULL; + struct timeval ml_start; + char ml_timedout = FALSE; + struct ReadWriteSockets sockets = {{0, 0}, {0, 0}}; + struct timeval timeout = {-1, 0}; + int success = 0; + + if (!libtest_arg3) { + fprintf(stderr, "Usage: lib582 [url] [filename] [username]\n"); + return -1; + } + + hd_src = fopen(libtest_arg2, "rb"); + if(NULL == hd_src) { + error = ERRNO; + fprintf(stderr, "fopen() failed with error: %d %s\n", + error, strerror(error)); + fprintf(stderr, "Error opening file: %s\n", libtest_arg2); + return TEST_ERR_MAJOR_BAD; + } + + /* get the file size of the local file */ + hd = fstat(fileno(hd_src), &file_info); + if(hd == -1) { + /* can't open file, bail out */ + error = ERRNO; + fprintf(stderr, "fstat() failed with error: %d %s\n", + error, strerror(error)); + fprintf(stderr, "ERROR: cannot open file %s\n", libtest_arg2); + fclose(hd_src); + return -1; + } + fprintf(stderr, "Set to upload %d bytes\n", (int)file_info.st_size); + + if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) { + fprintf(stderr, "curl_global_init() failed\n"); + fclose(hd_src); + return TEST_ERR_MAJOR_BAD; + } + + if ((curl = curl_easy_init()) == NULL) { + fprintf(stderr, "curl_easy_init() failed\n"); + fclose(hd_src); + curl_global_cleanup(); + return TEST_ERR_MAJOR_BAD; + } + + /* enable uploading */ + test_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* specify target */ + test_setopt(curl,CURLOPT_URL, URL); + + /* go verbose */ + test_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* now specify which file to upload */ + test_setopt(curl, CURLOPT_READDATA, hd_src); + + test_setopt(curl, CURLOPT_USERPWD, libtest_arg3); + test_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, "curl_client_key.pub"); + test_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, "curl_client_key"); + + test_setopt(curl, CURLOPT_INFILESIZE_LARGE, + (curl_off_t)file_info.st_size); + + if ((m = curl_multi_init()) == NULL) { + fprintf(stderr, "curl_multi_init() failed\n"); + curl_easy_cleanup(curl); + curl_global_cleanup(); + fclose(hd_src); + return TEST_ERR_MAJOR_BAD; + } + test_multi_setopt(m, CURLMOPT_SOCKETFUNCTION, curlSocketCallback); + test_multi_setopt(m, CURLMOPT_SOCKETDATA, &sockets); + + test_multi_setopt(m, CURLMOPT_TIMERFUNCTION, curlTimerCallback); + test_multi_setopt(m, CURLMOPT_TIMERDATA, &timeout); + + if ((res = (int)curl_multi_add_handle(m, curl)) != CURLM_OK) { + fprintf(stderr, "curl_multi_add_handle() failed, " + "with code %d\n", res); + curl_multi_cleanup(m); + curl_easy_cleanup(curl); + curl_global_cleanup(); + fclose(hd_src); + return TEST_ERR_MAJOR_BAD; + } + + ml_timedout = FALSE; + ml_start = tutil_tvnow(); + + while (!checkForCompletion(m, &success)) + { + fd_set readSet, writeSet; + int maxFd = 0; + struct timeval tv = {10, 0}; + + if (tutil_tvdiff(tutil_tvnow(), ml_start) > + MAIN_LOOP_HANG_TIMEOUT) { + ml_timedout = TRUE; + break; + } + + FD_ZERO(&readSet); + FD_ZERO(&writeSet); + updateFdSet(&sockets.read, &readSet, &maxFd); + updateFdSet(&sockets.write, &writeSet, &maxFd); + + if (timeout.tv_sec != -1) + { + int usTimeout = getMicroSecondTimeout(&timeout); + tv.tv_sec = usTimeout / 1000000; + tv.tv_usec = usTimeout % 1000000; + } + else if (maxFd <= 0) + { + tv.tv_sec = 0; + tv.tv_usec = 100000; + } + + select_test(maxFd, &readSet, &writeSet, NULL, &tv); + + /* Check the sockets for reading / writing */ + checkFdSet(m, &sockets.read, &readSet, CURL_CSELECT_IN, "read"); + checkFdSet(m, &sockets.write, &writeSet, CURL_CSELECT_OUT, "write"); + + if (timeout.tv_sec != -1 && getMicroSecondTimeout(&timeout) == 0) + { + /* Curl's timer has elapsed. */ + notifyCurl(m, CURL_SOCKET_TIMEOUT, 0, "timeout"); + } + } + + if (!success) + { + fprintf(stderr, "Error uploading file.\n"); + res = TEST_ERR_MAJOR_BAD; + } + else if (ml_timedout) { + fprintf(stderr, "ABORTING TEST, since it seems " + "that it would have run forever.\n"); + res = TEST_ERR_RUNS_FOREVER; + } + +test_cleanup: + + if(m) + curl_multi_remove_handle(m, curl); + curl_easy_cleanup(curl); + if(m) { + fprintf(stderr, "Now multi-cleanup!\n"); + curl_multi_cleanup(m); + } + + fclose(hd_src); /* close the local file */ + if (sockets.read.sockets != 0) + free(sockets.read.sockets); + if (sockets.write.sockets != 0) + free(sockets.write.sockets); + + curl_global_cleanup(); + return res; +} diff --git a/tests/libtest/lib583.c b/tests/libtest/lib583.c new file mode 100644 index 000000000..d01d98f1f --- /dev/null +++ b/tests/libtest/lib583.c @@ -0,0 +1,73 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +/* + * This test case is based on the sample code provided by Saqib Ali + * http://curl.haxx.se/mail/lib-2011-03/0066.html + */ + +#include "test.h" + +#include <unistd.h> +#include <sys/stat.h> + +int test(char *URL) +{ + CURLMcode retVal; + int stillRunning, retValcm; + CURLM* multiHandle; + CURL* curl; + int res; + + curl_global_init(CURL_GLOBAL_ALL); + + multiHandle = curl_multi_init(); + curl = curl_easy_init(); + + test_setopt(curl, CURLOPT_USERPWD, libtest_arg2); + test_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, "curl_client_key.pub"); + test_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, "curl_client_key"); + + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1); + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); + + curl_easy_setopt(curl, CURLOPT_URL, URL); + curl_easy_setopt(curl, CURLOPT_INFILESIZE, (long)5); + + curl_multi_add_handle(multiHandle, curl); + retVal = curl_multi_perform(multiHandle, &stillRunning); + if (retVal != CURLM_OK) + fprintf(stderr, "curl_multi_perform() failed!n"); + + fprintf(stderr, "curl_multi_remove_handle()!\n"); + retVal = curl_multi_remove_handle(multiHandle, curl); + if (retVal == CURLM_OK) + fprintf(stderr, "curl_multi_remove_handle() was successful!\n"); + else + fprintf(stderr, "curl_multi_remove_handle() failed\n"); + +test_cleanup: + + curl_easy_cleanup(curl); + curl_multi_cleanup(multiHandle); + + return res; +} diff --git a/tests/libtest/sethostname.c b/tests/libtest/sethostname.c index 3dabb8231..daf94f95c 100644 --- a/tests/libtest/sethostname.c +++ b/tests/libtest/sethostname.c @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "setup.h" diff --git a/tests/libtest/sethostname.h b/tests/libtest/sethostname.h index 83034a536..e2633dd7f 100644 --- a/tests/libtest/sethostname.h +++ b/tests/libtest/sethostname.h @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #if (defined(WIN32) || defined(__SYMBIAN32__)) && !defined(CURL_STATICLIB) # if defined(BUILDING_LIBCURL) diff --git a/tests/libtest/test.h b/tests/libtest/test.h index 2a3671181..e9638a240 100644 --- a/tests/libtest/test.h +++ b/tests/libtest/test.h @@ -1,11 +1,24 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ /* Now include the setup.h file from libcurl's private libdir (the source version, but that might include "curl_config.h" from the build dir so we @@ -44,6 +57,9 @@ #define test_setopt(A,B,C) \ if((res = curl_easy_setopt((A),(B),(C))) != CURLE_OK) goto test_cleanup +#define test_multi_setopt(A,B,C) \ + if((res = curl_multi_setopt((A),(B),(C))) != CURLE_OK) goto test_cleanup + extern char *libtest_arg2; /* set by first.c to the argv[2] or NULL */ extern char *libtest_arg3; /* set by first.c to the argv[3] or NULL */ diff --git a/tests/runtests.pl b/tests/runtests.pl index e37241523..806ee986d 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -651,7 +651,9 @@ sub stopserver { # foreach my $server (@killservers) { if($run{$server}) { - $pidlist .= "$run{$server} "; + # we must prepend a space since $pidlist may already contain + # a pid + $pidlist .= " $run{$server}"; $run{$server} = 0; } $runcert{$server} = 0 if($runcert{$server}); @@ -2146,8 +2148,6 @@ sub checksystem { if($feat =~ /debug/i) { # curl was built with --enable-debug $debug_build = 1; - # set the NETRC debug env - $ENV{'CURL_DEBUG_NETRC'} = "$LOGDIR/netrc"; } if($feat =~ /SSL/i) { # ssl enabled @@ -2476,20 +2476,12 @@ sub singletest { next; } } - elsif($f eq "axTLS") { - if($has_axtls) { - next; - } - } - elsif($f eq "netrc_debug") { - if($debug_build) { + elsif($f eq "axTLS") { + if($has_axtls) { next; } } elsif($f eq "unittest") { - # Unit tests should set the netrc filename directly, thus unset the - # environment variable. - delete($ENV{'CURL_DEBUG_NETRC'}) if $ENV{'CURL_DEBUG_NETRC'}; if($debug_build) { next; } diff --git a/tests/unit/Makefile.inc b/tests/unit/Makefile.inc index 6dd7a4165..aef687113 100644 --- a/tests/unit/Makefile.inc +++ b/tests/unit/Makefile.inc @@ -3,10 +3,12 @@ UNITFILES = curlcheck.h # These are all unit test programs -noinst_PROGRAMS = unit1300 unit1301 unit1302 unit1303 unit1304 +noinst_PROGRAMS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 unit1300_SOURCES = unit1300.c $(UNITFILES) unit1301_SOURCES = unit1301.c $(UNITFILES) unit1302_SOURCES = unit1302.c $(UNITFILES) unit1303_SOURCES = unit1303.c $(UNITFILES) unit1304_SOURCES = unit1304.c $(UNITFILES) +unit1305_SOURCES = unit1305.c $(UNITFILES) +unit1307_SOURCES = unit1307.c $(UNITFILES) diff --git a/tests/unit/curlcheck.h b/tests/unit/curlcheck.h index 9d738430c..4b4d32c8d 100644 --- a/tests/unit/curlcheck.h +++ b/tests/unit/curlcheck.h @@ -1,14 +1,27 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "test.h" +/* The fail macros mark the current test step as failed, and continue */ #define fail_if(expr, msg) \ if(expr) { \ fprintf(stderr, "%s:%d Assertion '%s' met: %s\n" , \ @@ -39,18 +52,45 @@ } while(0) +/* The abort macros mark the current test step as failed, and exit the test */ +#define abort_if(expr, msg) \ + if(expr) { \ + fprintf(stderr, "%s:%d Abort assertion '%s' met: %s\n" , \ + __FILE__, __LINE__, #expr, msg); \ + unitfail++; \ + goto unit_test_abort; \ + } + +#define abort_unless(expr, msg) \ + if(!(expr)) { \ + fprintf(stderr, "%s:%d Abort assertion '%s' failed: %s\n", \ + __FILE__, __LINE__, #expr, msg); \ + unitfail++; \ + goto unit_test_abort; \ + } + +#define abort_test(msg) do { \ + fprintf(stderr, "%s:%d test aborted: '%s'\n", \ + __FILE__, __LINE__, msg); \ + unitfail++; \ + goto unit_test_abort; \ + } while(0) + + extern int unitfail; #define UNITTEST_START \ - int test(char *unused) \ + int test(char *arg) \ { \ - (void)unused; \ + (void)arg; \ if (unit_setup()) { \ fail("unit_setup() failure"); \ } else { #define UNITTEST_STOP \ + goto unit_test_abort; /* avoid warning */ \ +unit_test_abort: \ unit_stop(); \ } \ return unitfail; \ diff --git a/tests/unit/unit1300.c b/tests/unit/unit1300.c index 92207011e..f4f5f2a54 100644 --- a/tests/unit/unit1300.c +++ b/tests/unit/unit1300.c @@ -1,3 +1,24 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include <stdlib.h> #include "curl_config.h" #include "setup.h" @@ -128,6 +149,7 @@ UNITTEST_START */ head=llist->head; + abort_unless(head, "llist->head is NULL"); element_next = head->next; llist_size = Curl_llist_count(llist); @@ -137,6 +159,7 @@ UNITTEST_START "llist size not decremented as expected"); fail_unless(llist->head == element_next, "llist new head not modified properly"); + abort_unless(llist->head, "llist->head is NULL"); fail_unless(llist->head->prev == NULL, "new head previous not set to null"); @@ -153,11 +176,13 @@ UNITTEST_START Curl_llist_insert_next(llist, llist->head, &unusedData_case3); llist_size = Curl_llist_count(llist); to_remove = llist->head->next; + abort_unless(to_remove, "to_remove is NULL"); element_next = to_remove->next; element_prev = to_remove->prev; Curl_llist_remove(llist, to_remove, NULL); fail_unless(element_prev->next == element_next, "element previous->next is not being adjusted"); + abort_unless(element_next, "element_next is NULL"); fail_unless(element_next->prev == element_prev, "element next->previous is not being adjusted"); diff --git a/tests/unit/unit1301.c b/tests/unit/unit1301.c index 7de6f069a..95f4b6aab 100644 --- a/tests/unit/unit1301.c +++ b/tests/unit/unit1301.c @@ -1,3 +1,24 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include <stdlib.h> #include "curl_config.h" #include "setup.h" diff --git a/tests/unit/unit1302.c b/tests/unit/unit1302.c index 1a6bf4e54..bc3651627 100644 --- a/tests/unit/unit1302.c +++ b/tests/unit/unit1302.c @@ -1,3 +1,24 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include <stdlib.h> #include "curl_config.h" #include "setup.h" diff --git a/tests/unit/unit1303.c b/tests/unit/unit1303.c index cabee85c2..2b5669d28 100644 --- a/tests/unit/unit1303.c +++ b/tests/unit/unit1303.c @@ -1,3 +1,24 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include <stdlib.h> #include "curl_config.h" #include "setup.h" diff --git a/tests/unit/unit1304.c b/tests/unit/unit1304.c index 34a54e9bc..8b3132edc 100644 --- a/tests/unit/unit1304.c +++ b/tests/unit/unit1304.c @@ -1,3 +1,24 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include <stdlib.h> #include "curl_config.h" #include "setup.h" diff --git a/tests/unit/unit1305.c b/tests/unit/unit1305.c new file mode 100644 index 000000000..02fa682a8 --- /dev/null +++ b/tests/unit/unit1305.c @@ -0,0 +1,146 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +#include "test.h" + +#ifdef HAVE_SYS_SOCKET_H +# include <sys/socket.h> +#endif +#ifdef HAVE_NETINET_IN_H +# include <netinet/in.h> +#endif +#ifdef HAVE_NETDB_H +# include <netdb.h> +#endif +#ifdef HAVE_ARPA_INET_H +# include <arpa/inet.h> +#endif + +#define ENABLE_CURLX_PRINTF +#include "curlx.h" + +#include "hash.h" +#include "hostip.h" +#include "curlcheck.h" + +#include "curl_memory.h" +#include "memdebug.h" /* LAST include file */ + +static struct SessionHandle *data; +static struct curl_hash *hp; +static char *data_key; +static struct Curl_dns_entry *data_node; + +static CURLcode unit_setup( void ) +{ + data = curl_easy_init(); + if (!data) + return CURLE_OUT_OF_MEMORY; + + hp = Curl_mk_dnscache(); + if(!hp) { + curl_easy_cleanup(data); + curl_global_cleanup(); + return CURLE_OUT_OF_MEMORY; + } + return CURLE_OK; +} + +static void unit_stop( void ) +{ + if (data_node) { + Curl_freeaddrinfo(data_node->addr); + free(data_node); + } + if (data_key) + free(data_key); + + Curl_hash_destroy(hp); + + curl_easy_cleanup(data); + curl_global_cleanup(); +} + +static Curl_addrinfo *fake_ai(void) +{ + static Curl_addrinfo *ai; + int ss_size; + + ss_size = sizeof (struct sockaddr_in); + + if((ai = calloc(1, sizeof(Curl_addrinfo))) == NULL) + return NULL; + + if((ai->ai_canonname = strdup("dummy")) == NULL) { + free(ai); + return NULL; + } + + if((ai->ai_addr = calloc(1, ss_size)) == NULL) { + free(ai->ai_canonname); + free(ai); + return NULL; + } + + ai->ai_family = AF_INET; + ai->ai_addrlen = ss_size; + + return ai; +} + +static CURLcode create_node(void) +{ + data_key = aprintf("%s:%d", "dummy", 0); + if (!data_key) + return CURLE_OUT_OF_MEMORY; + + data_node = calloc(1, sizeof(struct Curl_dns_entry)); + if (!data_node) + return CURLE_OUT_OF_MEMORY; + + data_node->addr = fake_ai(); + if (!data_node->addr) + return CURLE_OUT_OF_MEMORY; + + return CURLE_OK; +} + + +UNITTEST_START + + struct Curl_dns_entry *nodep; + size_t key_len; + + /* Test 1305 exits without adding anything to the hash */ + if (strcmp(arg, "1305") != 0) { + CURLcode rc = create_node(); + abort_unless(rc == CURLE_OK, "data node creation failed"); + key_len = strlen(data_key); + + nodep = Curl_hash_add(hp, data_key, key_len+1, data_node); + abort_unless(nodep, "insertion into hash failed"); + /* Freeing will now be done by Curl_hash_destroy */ + data_node = NULL; + + /* To do: test retrieval, deletion, edge conditions */ + } + +UNITTEST_STOP diff --git a/tests/libtest/lib577.c b/tests/unit/unit1307.c index bd52c6251..983237e48 100644 --- a/tests/libtest/lib577.c +++ b/tests/unit/unit1307.c @@ -1,36 +1,26 @@ -/***************************************************************************** +/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - */ - -#include "test.h" - -/* - * This hacky test bypasses the library external API, - * using internal only libcurl functions. So don't be - * surprised if we cannot run it when the library has - * been built with hidden symbols, exporting only the - * ones in the public API. - */ - -#if defined(CURL_HIDDEN_SYMBOLS) -# define SKIP_TEST 1 -#elif defined(WIN32) && !defined(CURL_STATICLIB) -# define SKIP_TEST 1 -#else -# undef SKIP_TEST -#endif - - -#if !defined(SKIP_TEST) - -#include "memdebug.h" - + * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ #include "curl_fnmatch.h" +#include "curlcheck.h" #define MATCH CURL_FNMATCH_MATCH #define NOMATCH CURL_FNMATCH_NOMATCH @@ -217,39 +207,27 @@ static const struct testcase tests[] = { { "", "", MATCH } }; +static CURLcode unit_setup( void ) +{ + return CURLE_OK; +} -int test(char *URL) +static void unit_stop( void ) { +} + +UNITTEST_START + int testnum = sizeof(tests) / sizeof(struct testcase); int i, rc; - (void)URL; /* not used */ - if(!strcmp(URL, "check")) { - /* test harness script verifying if this test can run */ - return 0; /* sure, run this! */ - } - - printf("===========================\n"); for(i = 0; i < testnum; i++) { rc = Curl_fnmatch(NULL, tests[i].pattern, tests[i].string); if(rc != tests[i].result) { printf("Curl_fnmatch(\"%s\", \"%s\") should return %d (returns %d)\n", tests[i].pattern, tests[i].string, tests[i].result, rc); + fail("pattern mismatch"); } } - printf("===========================\n"); - return 0; -} - -#else /* !defined(SKIP_TEST) */ - - -int test(char *URL) -{ - (void)URL; - fprintf(stdout, "libcurl built with hidden symbols"); - return 1; /* skip test */ -} - -#endif /* !defined(SKIP_TEST) */ +UNITTEST_STOP |