<testcase> <info> <keywords> Metalink HTTP HTTP GET FILE </keywords> </info> # # Server-side <reply> <data nocheck="yes"> HTTP/1.1 200 OK Date: Thu, 21 Jun 2012 14:49:01 GMT Server: test-server/fake Content-Length: 42 Connection: close Content-Type: text/html Content-Disposition: filename=name2006; charset=funny; option=strange Funny-head: yesyes Some data delivered from an HTTP resource </data> </reply> # # Client-side <client> # This relies on the debug feature to allow us to set directory to store the # -O output in, using the CURL_TESTDIR variable. This test might use it upon # failure only, successful execution won't actually use it. <features> debug file Metalink </features> <server> http </server> <name> Metalink local XML file, HTTP resource, using -O -D file </name> <setenv> CURL_TESTDIR=%PWD/log </setenv> <command option="no-output,no-include"> --metalink file://%PWD/log/test2006.metalink -O -D log/heads2006 </command> # local metalink file written before test command runs <file name="log/test2006.metalink"> <?xml version="1.0" encoding="utf-8"?> <metalink version="3.0" xmlns="http://www.metalinker.org/"> <files> <file name="log/download2006"> <verification> <hash type="md5">we-only-check-the-strongest-hash-provided</hash> <hash type="sha256">319cb6be756734b7ff689628ca3265580cdae6a0e38f42d4ac612ff4fba143b0</hash> </verification> <resources maxconnections="1"> <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2006</url> </resources> </file> </files> </metalink> </file> <postcheck> perl %SRCDIR/libtest/notexists.pl log/2006 log/name2006 </postcheck> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /2006 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <file1 name="log/download2006"> Some data delivered from an HTTP resource </file1> <file2 name="log/heads2006"> Content-Length: 496 Accept-ranges: bytes HTTP/1.1 200 OK Date: Thu, 21 Jun 2012 14:49:01 GMT Server: test-server/fake Content-Length: 42 Connection: close Content-Type: text/html Content-Disposition: filename=name2006; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2006"> </file3> <file4 name="log/stderr2006"> Metalink: parsing (file://%PWD/log/test2006.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2006.metalink) OK Metalink: fetching (log/download2006) from (http://%HOSTIP:%HTTPPORT/2006)... Metalink: fetching (log/download2006) from (http://%HOSTIP:%HTTPPORT/2006) OK Metalink: validating (log/download2006)... Metalink: validating (log/download2006) [sha-256] OK </file4> <stripfile2> s/Last-Modified:.*// </stripfile2> <stripfile4> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile4> </verify> </testcase>