1 <testcase> 2 <info> 3 <keywords> 4 Metalink 5 HTTP 6 HTTP GET 7 -J 8 </keywords> 9 </info> 10 11 # 12 # Server-side 13 <reply> 14 <data nocheck="yes"> 15 HTTP/1.1 200 OK 16 Date: Thu, 21 Jun 2012 14:50:02 GMT 17 Server: test-server/fake 18 Content-Length: 42 19 Connection: close 20 Content-Type: text/html 21 Content-Disposition: filename=name2007; charset=funny; option=strange 22 Funny-head: yesyes 23 24 Something delivered from an HTTP resource 25 </data> 26 </reply> 27 28 # 29 # Client-side 30 <client> 31 # This relies on the debug feature to allow us to set directory to store the 32 # -O and -J output in, using the CURL_TESTDIR variable. This test might use 33 # it upon failure only, successful execution won't actually use it. 34 <features> 35 debug 36 file 37 Metalink 38 </features> 39 <server> 40 http 41 </server> 42 <name> 43 Metalink local XML file, HTTP resource, using -O -J -D file 44 </name> 45 <setenv> 46 CURL_TESTDIR=%PWD/log 47 </setenv> 48 <command option="no-output,no-include"> 49 --metalink file://%PWD/log/test2007.metalink -J -O -D log/heads2007 50 </command> 51 # local metalink file written before test command runs 52 <file name="log/test2007.metalink"> 53 <?xml version="1.0" encoding="utf-8"?> 54 <metalink version="3.0" xmlns="http://www.metalinker.org/"> 55 <files> 56 <file name="log/download2007"> 57 <verification> 58 <hash type="md5">we-only-check-the-strongest-hash-provided</hash> 59 <hash type="sha256">52899e30f80e3490632d505653204e1fb5b02bda141048704ce9a0ed00b8a3f5</hash> 60 </verification> 61 <resources maxconnections="1"> 62 <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2007</url> 63 </resources> 64 </file> 65 </files> 66 </metalink> 67 </file> 68 <postcheck> 69 perl %SRCDIR/libtest/notexists.pl log/2007 log/name2007 70 </postcheck> 71 </client> 72 73 # 74 # Verify data after the test has been "shot" 75 <verify> 76 <strip> 77 ^User-Agent:.* 78 </strip> 79 <protocol> 80 GET /2007 HTTP/1.1 81 Host: %HOSTIP:%HTTPPORT 82 Accept: */* 83 84 </protocol> 85 <file1 name="log/download2007"> 86 Something delivered from an HTTP resource 87 </file1> 88 <file2 name="log/heads2007"> 89 HTTP/1.1 200 OK 90 Date: Thu, 21 Jun 2012 14:50:02 GMT 91 Server: test-server/fake 92 Content-Length: 42 93 Connection: close 94 Content-Type: text/html 95 Content-Disposition: filename=name2007; charset=funny; option=strange 96 Funny-head: yesyes 97 98 </file2> 99 <file3 name="log/stdout2007"> 100 </file3> 101 <file4 name="log/stderr2007"> 102 Metalink: parsing (file://%PWD/log/test2007.metalink) metalink/XML... 103 Metalink: parsing (file://%PWD/log/test2007.metalink) OK 104 Metalink: fetching (log/download2007) from (http://%HOSTIP:%HTTPPORT/2007)... 105 Metalink: fetching (log/download2007) from (http://%HOSTIP:%HTTPPORT/2007) OK 106 Metalink: validating (log/download2007)... 107 Metalink: validating (log/download2007) [sha-256] OK 108 </file4> 109 <stripfile4> 110 $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) 111 </stripfile4> 112 </verify> 113 </testcase> 114