diff options
author | Yang Tse <yangsita@gmail.com> | 2012-06-27 13:15:05 +0200 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2012-06-27 13:16:01 +0200 |
commit | 6c09ffaf468c47a8b7602d9ee6bbf146e860c994 (patch) | |
tree | 94771421d4e879d67579c40688678bcb92eaf542 | |
parent | 5ce9e7a0b7d569483ba0f4f14f47cf4f01baa0d5 (diff) | |
download | curl-6c09ffaf468c47a8b7602d9ee6bbf146e860c994.tar.gz |
tests: add five more Metalink test cases
-rw-r--r-- | tests/data/DISABLED | 5 | ||||
-rw-r--r-- | tests/data/Makefile.am | 3 | ||||
-rw-r--r-- | tests/data/test2013 | 78 | ||||
-rw-r--r-- | tests/data/test2014 | 78 | ||||
-rw-r--r-- | tests/data/test2015 | 78 | ||||
-rw-r--r-- | tests/data/test2016 | 78 | ||||
-rw-r--r-- | tests/data/test2017 | 78 |
7 files changed, 397 insertions, 1 deletions
diff --git a/tests/data/DISABLED b/tests/data/DISABLED index 0bcc328e3..c15fe769b 100644 --- a/tests/data/DISABLED +++ b/tests/data/DISABLED @@ -6,3 +6,8 @@ 1209 1211 2012 +2013 +2014 +2015 +2016 +2017 diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 797763b4c..5136b419e 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -94,7 +94,8 @@ test1387 test1388 test1389 test1390 test1391 test1392 test1393 \ test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 \ test1408 \ test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \ -test2008 test2009 test2010 test2011 test2012 +test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \ +test2016 test2017 EXTRA_DIST = $(TESTCASES) DISABLED diff --git a/tests/data/test2013 b/tests/data/test2013 new file mode 100644 index 000000000..dc0208bc9 --- /dev/null +++ b/tests/data/test2013 @@ -0,0 +1,78 @@ +<testcase> +<info> +<keywords> +Metalink +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Wed, 20 Jun 2012 14:49:00 GMT +Server: test-server/fake +Content-Length: 56 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name2013; charset=funny; option=strange +Funny-head: yesyes + +Data that should not be delivered from an HTTP resource +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<features> +file +Metalink +</features> + <name> +Metalink local XML file, attempt absolute path + </name> +<command option="no-output,no-include"> +--metalink file://%PWD/log/test2013.metalink +</command> +# local metalink file written before test command runs +<file name="log/test2013.metalink"> +<?xml version="1.0" encoding="utf-8"?> +<metalink version="3.0" xmlns="http://www.metalinker.org/"> + <files> + <file name="/tmp/download2013"> + <verification> + <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> + </verification> + <resources maxconnections="1"> + <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2013</url> + </resources> + </file> + </files> +</metalink> +</file> +<postcheck> +perl %SRCDIR/libtest/notexists.pl log/2013 log/name2013 /tmp/download2013 +</postcheck> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<file1 name="log/stdout2013"> +</file1> +<file2 name="log/stderr2013"> +Metalink: parsing (file://%PWD/log/test2013.metalink) metalink/XML... +Metalink: parsing (file://%PWD/log/test2013.metalink) WARNING (missing or invalid file name) +Metalink: parsing (file://%PWD/log/test2013.metalink) FAILED +</file2> +<stripfile2> +$_ = '' if ($_ !~ /^Metalink: /) +</stripfile2> +</verify> +</testcase> diff --git a/tests/data/test2014 b/tests/data/test2014 new file mode 100644 index 000000000..659bc9221 --- /dev/null +++ b/tests/data/test2014 @@ -0,0 +1,78 @@ +<testcase> +<info> +<keywords> +Metalink +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Wed, 20 Jun 2012 14:49:00 GMT +Server: test-server/fake +Content-Length: 56 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name2014; charset=funny; option=strange +Funny-head: yesyes + +Data that should not be delivered from an HTTP resource +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<features> +file +Metalink +</features> + <name> +Metalink local XML file, attempt path relative to current + </name> +<command option="no-output,no-include"> +--metalink file://%PWD/log/test2014.metalink +</command> +# local metalink file written before test command runs +<file name="log/test2014.metalink"> +<?xml version="1.0" encoding="utf-8"?> +<metalink version="3.0" xmlns="http://www.metalinker.org/"> + <files> + <file name="./log/download2014"> + <verification> + <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> + </verification> + <resources maxconnections="1"> + <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2014</url> + </resources> + </file> + </files> +</metalink> +</file> +<postcheck> +perl %SRCDIR/libtest/notexists.pl log/2014 log/name2014 log/download2014 +</postcheck> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<file1 name="log/stdout2014"> +</file1> +<file2 name="log/stderr2014"> +Metalink: parsing (file://%PWD/log/test2014.metalink) metalink/XML... +Metalink: parsing (file://%PWD/log/test2014.metalink) WARNING (missing or invalid file name) +Metalink: parsing (file://%PWD/log/test2014.metalink) FAILED +</file2> +<stripfile2> +$_ = '' if ($_ !~ /^Metalink: /) +</stripfile2> +</verify> +</testcase> diff --git a/tests/data/test2015 b/tests/data/test2015 new file mode 100644 index 000000000..45646f2de --- /dev/null +++ b/tests/data/test2015 @@ -0,0 +1,78 @@ +<testcase> +<info> +<keywords> +Metalink +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Wed, 20 Jun 2012 14:49:00 GMT +Server: test-server/fake +Content-Length: 56 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name2015; charset=funny; option=strange +Funny-head: yesyes + +Data that should not be delivered from an HTTP resource +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<features> +file +Metalink +</features> + <name> +Metalink local XML file, attempt path relative to upper + </name> +<command option="no-output,no-include"> +--metalink file://%PWD/log/test2015.metalink +</command> +# local metalink file written before test command runs +<file name="log/test2015.metalink"> +<?xml version="1.0" encoding="utf-8"?> +<metalink version="3.0" xmlns="http://www.metalinker.org/"> + <files> + <file name="../tests/log/download2015"> + <verification> + <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> + </verification> + <resources maxconnections="1"> + <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2015</url> + </resources> + </file> + </files> +</metalink> +</file> +<postcheck> +perl %SRCDIR/libtest/notexists.pl log/2015 log/name2015 log/download2015 +</postcheck> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<file1 name="log/stdout2015"> +</file1> +<file2 name="log/stderr2015"> +Metalink: parsing (file://%PWD/log/test2015.metalink) metalink/XML... +Metalink: parsing (file://%PWD/log/test2015.metalink) WARNING (missing or invalid file name) +Metalink: parsing (file://%PWD/log/test2015.metalink) FAILED +</file2> +<stripfile2> +$_ = '' if ($_ !~ /^Metalink: /) +</stripfile2> +</verify> +</testcase> diff --git a/tests/data/test2016 b/tests/data/test2016 new file mode 100644 index 000000000..a5f3674b0 --- /dev/null +++ b/tests/data/test2016 @@ -0,0 +1,78 @@ +<testcase> +<info> +<keywords> +Metalink +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Wed, 20 Jun 2012 14:49:00 GMT +Server: test-server/fake +Content-Length: 56 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name2016; charset=funny; option=strange +Funny-head: yesyes + +Data that should not be delivered from an HTTP resource +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<features> +file +Metalink +</features> + <name> +Metalink local XML file, attempt path traversal + </name> +<command option="no-output,no-include"> +--metalink file://%PWD/log/test2016.metalink +</command> +# local metalink file written before test command runs +<file name="log/test2016.metalink"> +<?xml version="1.0" encoding="utf-8"?> +<metalink version="3.0" xmlns="http://www.metalinker.org/"> + <files> + <file name="log/../log/download2016"> + <verification> + <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> + </verification> + <resources maxconnections="1"> + <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2016</url> + </resources> + </file> + </files> +</metalink> +</file> +<postcheck> +perl %SRCDIR/libtest/notexists.pl log/2016 log/name2016 log/download2016 +</postcheck> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<file1 name="log/stdout2016"> +</file1> +<file2 name="log/stderr2016"> +Metalink: parsing (file://%PWD/log/test2016.metalink) metalink/XML... +Metalink: parsing (file://%PWD/log/test2016.metalink) WARNING (missing or invalid file name) +Metalink: parsing (file://%PWD/log/test2016.metalink) FAILED +</file2> +<stripfile2> +$_ = '' if ($_ !~ /^Metalink: /) +</stripfile2> +</verify> +</testcase> diff --git a/tests/data/test2017 b/tests/data/test2017 new file mode 100644 index 000000000..f4312c47b --- /dev/null +++ b/tests/data/test2017 @@ -0,0 +1,78 @@ +<testcase> +<info> +<keywords> +Metalink +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Wed, 20 Jun 2012 14:49:00 GMT +Server: test-server/fake +Content-Length: 56 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name2017; charset=funny; option=strange +Funny-head: yesyes + +Data that should not be delivered from an HTTP resource +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<features> +file +Metalink +</features> + <name> +Metalink local XML file, attempt questionable file name + </name> +<command option="no-output,no-include"> +--metalink file://%PWD/log/test2017.metalink +</command> +# local metalink file written before test command runs +<file name="log/test2017.metalink"> +<?xml version="1.0" encoding="utf-8"?> +<metalink version="3.0" xmlns="http://www.metalinker.org/"> + <files> + <file name="log/.download2017"> + <verification> + <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> + </verification> + <resources maxconnections="1"> + <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2017</url> + </resources> + </file> + </files> +</metalink> +</file> +<postcheck> +perl %SRCDIR/libtest/notexists.pl log/2017 log/name2017 log/.download2017 +</postcheck> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<file1 name="log/stdout2017"> +</file1> +<file2 name="log/stderr2017"> +Metalink: parsing (file://%PWD/log/test2017.metalink) metalink/XML... +Metalink: parsing (file://%PWD/log/test2017.metalink) WARNING (missing or invalid file name) +Metalink: parsing (file://%PWD/log/test2017.metalink) FAILED +</file2> +<stripfile2> +$_ = '' if ($_ !~ /^Metalink: /) +</stripfile2> +</verify> +</testcase> |