aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2022-05-24 15:12:43 +0200
committerMichał Górny <mgorny@gentoo.org>2022-05-25 21:54:31 +0200
commit051a298a0b0d3c4992a956e08b6b4989c2a5914d (patch)
tree4a34ddb2bfe008b0c2aa4b6f47c3f200f0baf2d4 /testdata
parentadd a check for remote-id validity (diff)
downloadpkgcheck-051a298a0b0d3c4992a956e08b6b4989c2a5914d.tar.gz
pkgcheck-051a298a0b0d3c4992a956e08b6b4989c2a5914d.tar.bz2
pkgcheck-051a298a0b0d3c4992a956e08b6b4989c2a5914d.zip
checks: Sync remote-id types with wiki and test all of them
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'testdata')
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-cpan/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-cran/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-ctan/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-gentoo/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-launchpad/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-osdn/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-pecl/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-pypi/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-rubygems/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/expected.json1
-rw-r--r--testdata/data/repos/network/MetadataUrlCheck/DeadUrl-vim/expected.json1
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/DeadUrl-bitbucket-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/DeadUrl-cpan-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/DeadUrl-cran-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/DeadUrl-ctan-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/DeadUrl-gentoo-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/DeadUrl-launchpad-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/DeadUrl-osdn-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/DeadUrl-pecl-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/DeadUrl-pypi-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/DeadUrl-rubygems-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/DeadUrl-sourceforge-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/responses.py10
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/DeadUrl-vim-0.ebuild4
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/metadata.xml7
-rw-r--r--testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/responses.py10
48 files changed, 264 insertions, 0 deletions
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/expected.json
new file mode 100644
index 00000000..86ba1a8a
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-bitbucket", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://bitbucket.org/pkgcore/pkgcheck", "message": "404 Client Error: Not Found for url: https://bitbucket.org/pkgcore/pkgcheck"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-cpan/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-cpan/expected.json
new file mode 100644
index 00000000..7dec6252
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-cpan/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-cpan", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://metacpan.org/dist/PkgCore-PkgCheck", "message": "404 Client Error: Not Found for url: https://metacpan.org/dist/PkgCore-PkgCheck"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-cran/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-cran/expected.json
new file mode 100644
index 00000000..c3f2b49d
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-cran/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-cran", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://cran.r-project.org/web/packages/PkgCheck/", "message": "404 Client Error: Not Found for url: https://cran.r-project.org/web/packages/PkgCheck/"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-ctan/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-ctan/expected.json
new file mode 100644
index 00000000..3fb44dab
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-ctan/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-ctan", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://ctan.org/pkg/pkgcheck", "message": "404 Client Error: Not Found for url: https://ctan.org/pkg/pkgcheck"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-gentoo/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-gentoo/expected.json
new file mode 100644
index 00000000..07930ccd
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-gentoo/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-gentoo", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://gitweb.gentoo.org/proj/pkgcheck.git/", "message": "404 Client Error: Not Found for url: https://gitweb.gentoo.org/proj/pkgcheck.git/"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-launchpad/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-launchpad/expected.json
new file mode 100644
index 00000000..58792d25
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-launchpad/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-launchpad", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://launchpad.net/pkgcheck", "message": "404 Client Error: Not Found for url: https://launchpad.net/pkgcheck"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-osdn/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-osdn/expected.json
new file mode 100644
index 00000000..ff445512
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-osdn/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-osdn", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://osdn.net/projects/pkgcore/pkgcheck/", "message": "404 Client Error: Not Found for url: https://osdn.net/projects/pkgcore/pkgcheck/"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-pecl/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-pecl/expected.json
new file mode 100644
index 00000000..2edc168f
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-pecl/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-pecl", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://pecl.php.net/package/pkgcheck", "message": "404 Client Error: Not Found for url: https://pecl.php.net/package/pkgcheck"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-pypi/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-pypi/expected.json
new file mode 100644
index 00000000..1c9fd88b
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-pypi/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-pypi", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://pypi.org/project/pkgcheck/", "message": "404 Client Error: Not Found for url: https://pypi.org/project/pkgcheck/"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-rubygems/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-rubygems/expected.json
new file mode 100644
index 00000000..74361bcf
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-rubygems/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-rubygems", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://rubygems.org/gems/pkgcheck", "message": "404 Client Error: Not Found for url: https://rubygems.org/gems/pkgcheck"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/expected.json
new file mode 100644
index 00000000..064c69b3
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-sourceforge", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://sourceforge.net/projects/pkgcheck/", "message": "404 Client Error: Not Found for url: https://sourceforge.net/projects/pkgcheck/"}
diff --git a/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-vim/expected.json b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-vim/expected.json
new file mode 100644
index 00000000..81000d98
--- /dev/null
+++ b/testdata/data/repos/network/MetadataUrlCheck/DeadUrl-vim/expected.json
@@ -0,0 +1 @@
+{"__class__": "DeadUrl", "category": "MetadataUrlCheck", "package": "DeadUrl-vim", "version": "0", "attr": "metadata.xml: remote-id", "url": "https://vim.org/scripts/script.php?script_id=12345", "message": "404 Client Error: Not Found for url: https://vim.org/scripts/script.php?script_id=12345"}
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/DeadUrl-bitbucket-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/DeadUrl-bitbucket-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/DeadUrl-bitbucket-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/metadata.xml
new file mode 100644
index 00000000..1d555cad
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="bitbucket">pkgcore/pkgcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/responses.py
new file mode 100644
index 00000000..ba4f7cd1
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-bitbucket/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://bitbucket.org/pkgcore/pkgcheck'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/DeadUrl-cpan-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/DeadUrl-cpan-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/DeadUrl-cpan-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/metadata.xml
new file mode 100644
index 00000000..c72aee68
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="cpan">PkgCore-PkgCheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/responses.py
new file mode 100644
index 00000000..02e637f4
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cpan/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://metacpan.org/dist/PkgCore-PkgCheck'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/DeadUrl-cran-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/DeadUrl-cran-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/DeadUrl-cran-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/metadata.xml
new file mode 100644
index 00000000..3c7cb799
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="cran">PkgCheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/responses.py
new file mode 100644
index 00000000..7e6bef3e
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-cran/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://cran.r-project.org/web/packages/PkgCheck/'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/DeadUrl-ctan-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/DeadUrl-ctan-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/DeadUrl-ctan-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/metadata.xml
new file mode 100644
index 00000000..7240d243
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="ctan">pkgcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/responses.py
new file mode 100644
index 00000000..ff9b152e
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-ctan/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://ctan.org/pkg/pkgcheck'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/DeadUrl-gentoo-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/DeadUrl-gentoo-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/DeadUrl-gentoo-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/metadata.xml
new file mode 100644
index 00000000..f2923a76
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="gentoo">proj/pkgcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/responses.py
new file mode 100644
index 00000000..61271075
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-gentoo/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://gitweb.gentoo.org/proj/pkgcheck.git/'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/DeadUrl-launchpad-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/DeadUrl-launchpad-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/DeadUrl-launchpad-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/metadata.xml
new file mode 100644
index 00000000..cc47b0cd
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="launchpad">pkgcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/responses.py
new file mode 100644
index 00000000..92455e24
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-launchpad/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://launchpad.net/pkgcheck'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/DeadUrl-osdn-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/DeadUrl-osdn-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/DeadUrl-osdn-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/metadata.xml
new file mode 100644
index 00000000..05a66a88
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="osdn">pkgcore/pkgcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/responses.py
new file mode 100644
index 00000000..02bcf124
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-osdn/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://osdn.net/projects/pkgcore/pkgcheck/'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/DeadUrl-pecl-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/DeadUrl-pecl-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/DeadUrl-pecl-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/metadata.xml
new file mode 100644
index 00000000..2ef8f7fc
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="pecl">pkgcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/responses.py
new file mode 100644
index 00000000..f9585adf
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pecl/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://pecl.php.net/package/pkgcheck'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/DeadUrl-pypi-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/DeadUrl-pypi-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/DeadUrl-pypi-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/metadata.xml
new file mode 100644
index 00000000..772e6af4
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="pypi">pkgcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/responses.py
new file mode 100644
index 00000000..1a13d51b
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-pypi/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://pypi.org/project/pkgcheck/'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/DeadUrl-rubygems-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/DeadUrl-rubygems-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/DeadUrl-rubygems-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/metadata.xml
new file mode 100644
index 00000000..27030085
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="rubygems">pkgcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/responses.py
new file mode 100644
index 00000000..dd70699f
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-rubygems/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://rubygems.org/gems/pkgcheck'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/DeadUrl-sourceforge-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/DeadUrl-sourceforge-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/DeadUrl-sourceforge-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/metadata.xml
new file mode 100644
index 00000000..bd7f32ea
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="sourceforge">pkgcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/responses.py
new file mode 100644
index 00000000..53fe194e
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-sourceforge/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://sourceforge.net/projects/pkgcheck/'
+r.raw = io.StringIO()
+responses = [r]
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/DeadUrl-vim-0.ebuild b/testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/DeadUrl-vim-0.ebuild
new file mode 100644
index 00000000..9ac7e593
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/DeadUrl-vim-0.ebuild
@@ -0,0 +1,4 @@
+DESCRIPTION="Ebuild with a dead metadata.xml URL"
+HOMEPAGE="https://github.com/pkgcore/pkgcheck"
+LICENSE="BSD"
+SLOT="0"
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/metadata.xml b/testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/metadata.xml
new file mode 100644
index 00000000..5728e49a
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="vim">12345</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/responses.py b/testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/responses.py
new file mode 100644
index 00000000..9e184839
--- /dev/null
+++ b/testdata/repos/network/MetadataUrlCheck/DeadUrl-vim/responses.py
@@ -0,0 +1,10 @@
+import io
+
+from requests.models import Response
+
+r = Response()
+r.status_code = 404
+r.reason = 'Not Found'
+r.url = 'https://vim.org/scripts/script.php?script_id=12345'
+r.raw = io.StringIO()
+responses = [r]