Skip to content

Commit

Permalink
test2017 to test2022: more metalink tests
Browse files Browse the repository at this point in the history
With this commit, checks done in previous test2017 are now done in test2018.

Whole range test2017 to test2022 DISABLED until configure is capable of
requiring a new-enough metalink library.

Don't try these without mentioned check in place!
  • Loading branch information
yangtse committed Jun 29, 2012
1 parent 7747136 commit febd598
Show file tree
Hide file tree
Showing 7 changed files with 399 additions and 4 deletions.
5 changes: 5 additions & 0 deletions tests/data/DISABLED
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,8 @@
1209
1211
2017
2018
2019
2020
2021
2022
8 changes: 4 additions & 4 deletions tests/data/test2017
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ file
Metalink
</features>
<name>
Metalink local XML file, attempt questionable file name
Metalink local XML file, attempt UNIX home path traversal
</name>
<command option="no-output,no-include">
--metalink file://%PWD/log/test2017.metalink
Expand All @@ -45,7 +45,7 @@ Metalink local XML file, attempt questionable file name
<?xml version="1.0" encoding="utf-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/">
<files>
<file name="log/.download2017">
<file name="~/download2017">
<verification>
<hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash>
</verification>
Expand All @@ -57,7 +57,7 @@ Metalink local XML file, attempt questionable file name
</metalink>
</file>
<postcheck>
perl %SRCDIR/libtest/notexists.pl log/2017 log/name2017 log/.download2017
perl %SRCDIR/libtest/notexists.pl log/2017 log/name2017
</postcheck>
</client>

Expand All @@ -72,7 +72,7 @@ Metalink: parsing (file://%PWD/log/test2017.metalink) WARNING (missing or invali
Metalink: parsing (file://%PWD/log/test2017.metalink) FAILED
</file2>
<stripfile2>
$_ = '' if ($_ !~ /^Metalink: /)
$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
</stripfile2>
</verify>
</testcase>
78 changes: 78 additions & 0 deletions tests/data/test2018
Original file line number Diff line number Diff line change
@@ -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=name2018; 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 UNIX questionable file name I
</name>
<command option="no-output,no-include">
--metalink file://%PWD/log/test2018.metalink
</command>
# local metalink file written before test command runs
<file name="log/test2018.metalink">
<?xml version="1.0" encoding="utf-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/">
<files>
<file name="log/.download2018">
<verification>
<hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash>
</verification>
<resources maxconnections="1">
<url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2018</url>
</resources>
</file>
</files>
</metalink>
</file>
<postcheck>
perl %SRCDIR/libtest/notexists.pl log/2018 log/name2018 log/.download2018
</postcheck>
</client>

#
# Verify data after the test has been "shot"
<verify>
<file1 name="log/stdout2018">
</file1>
<file2 name="log/stderr2018">
Metalink: parsing (file://%PWD/log/test2018.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2018.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2018.metalink) FAILED
</file2>
<stripfile2>
$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
</stripfile2>
</verify>
</testcase>
78 changes: 78 additions & 0 deletions tests/data/test2019
Original file line number Diff line number Diff line change
@@ -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=name2019; 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 UNIX questionable file name II
</name>
<command option="no-output,no-include">
--metalink file://%PWD/log/test2019.metalink
</command>
# local metalink file written before test command runs
<file name="log/test2019.metalink">
<?xml version="1.0" encoding="utf-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/">
<files>
<file name=".">
<verification>
<hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash>
</verification>
<resources maxconnections="1">
<url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2019</url>
</resources>
</file>
</files>
</metalink>
</file>
<postcheck>
perl %SRCDIR/libtest/notexists.pl log/2019 log/name2019
</postcheck>
</client>

#
# Verify data after the test has been "shot"
<verify>
<file1 name="log/stdout2019">
</file1>
<file2 name="log/stderr2019">
Metalink: parsing (file://%PWD/log/test2019.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2019.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2019.metalink) FAILED
</file2>
<stripfile2>
$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
</stripfile2>
</verify>
</testcase>
78 changes: 78 additions & 0 deletions tests/data/test2020
Original file line number Diff line number Diff line change
@@ -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=name2020; 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 UNIX questionable file name III
</name>
<command option="no-output,no-include">
--metalink file://%PWD/log/test2020.metalink
</command>
# local metalink file written before test command runs
<file name="log/test2020.metalink">
<?xml version="1.0" encoding="utf-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/">
<files>
<file name="..">
<verification>
<hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash>
</verification>
<resources maxconnections="1">
<url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2020</url>
</resources>
</file>
</files>
</metalink>
</file>
<postcheck>
perl %SRCDIR/libtest/notexists.pl log/2020 log/name2020
</postcheck>
</client>

#
# Verify data after the test has been "shot"
<verify>
<file1 name="log/stdout2020">
</file1>
<file2 name="log/stderr2020">
Metalink: parsing (file://%PWD/log/test2020.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2020.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2020.metalink) FAILED
</file2>
<stripfile2>
$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
</stripfile2>
</verify>
</testcase>
78 changes: 78 additions & 0 deletions tests/data/test2021
Original file line number Diff line number Diff line change
@@ -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=name2021; 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 UNIX questionable file name IV
</name>
<command option="no-output,no-include">
--metalink file://%PWD/log/test2021.metalink
</command>
# local metalink file written before test command runs
<file name="log/test2021.metalink">
<?xml version="1.0" encoding="utf-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/">
<files>
<file name="log/download2021 >/dev/null">
<verification>
<hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash>
</verification>
<resources maxconnections="1">
<url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2021</url>
</resources>
</file>
</files>
</metalink>
</file>
<postcheck>
perl %SRCDIR/libtest/notexists.pl log/2021 log/name2021 log/download2021
</postcheck>
</client>

#
# Verify data after the test has been "shot"
<verify>
<file1 name="log/stdout2021">
</file1>
<file2 name="log/stderr2021">
Metalink: parsing (file://%PWD/log/test2021.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2021.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2021.metalink) FAILED
</file2>
<stripfile2>
$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i))
</stripfile2>
</verify>
</testcase>
Loading

0 comments on commit febd598

Please sign in to comment.