diff options
author | Arthur Zamarin <arthurzam@gentoo.org> | 2022-12-31 13:30:19 +0200 |
---|---|---|
committer | Arthur Zamarin <arthurzam@gentoo.org> | 2022-12-31 13:30:19 +0200 |
commit | 10717ac4ea34a89ed60d1d0d118c491102de9862 (patch) | |
tree | b9bbb656fa7d3f2a86330ff2080e96a3779d8bf3 | |
parent | dev-python/jupyter_server: Keyword 2.0.6-r1 ia64, #887521 (diff) | |
download | gentoo-10717ac4ea34a89ed60d1d0d118c491102de9862.tar.gz gentoo-10717ac4ea34a89ed60d1d0d118c491102de9862.tar.bz2 gentoo-10717ac4ea34a89ed60d1d0d118c491102de9862.zip |
dev-util/pkgcheck: fix missing bin/ for replay test
Closes: https://bugs.gentoo.org/888896
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
-rw-r--r-- | dev-util/pkgcheck/files/pkgcheck-0.10.20-fix-replay-bin.patch | 109 | ||||
-rw-r--r-- | dev-util/pkgcheck/pkgcheck-0.10.20.ebuild | 4 |
2 files changed, 113 insertions, 0 deletions
diff --git a/dev-util/pkgcheck/files/pkgcheck-0.10.20-fix-replay-bin.patch b/dev-util/pkgcheck/files/pkgcheck-0.10.20-fix-replay-bin.patch new file mode 100644 index 000000000000..e20c0b3f53f5 --- /dev/null +++ b/dev-util/pkgcheck/files/pkgcheck-0.10.20-fix-replay-bin.patch @@ -0,0 +1,109 @@ +test_pkgcheck_replay: fix test_replay_pipe_stdin from sdist + +Bug: https://bugs.gentoo.org/888896 +Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org> +--- a/tests/scripts/test_pkgcheck_replay.py ++++ b/tests/scripts/test_pkgcheck_replay.py +@@ -1,20 +1,18 @@ +-import os +-import subprocess + import tempfile + from functools import partial + from unittest.mock import patch + + import pytest ++from snakeoil.formatters import PlainTextFormatter ++ + from pkgcheck import __title__ as project + from pkgcheck.checks.profiles import ProfileWarning + from pkgcheck.reporters import JsonStream + from pkgcheck.scripts import run +-from snakeoil.formatters import PlainTextFormatter + + + class TestPkgcheckReplay: +- +- script = partial(run, project) ++ script = staticmethod(partial(run, project)) + + @pytest.fixture(autouse=True) + def _setup(self, testconfig): +@@ -33,11 +31,11 @@ class TestPkgcheckReplay: + + def test_replay(self, capsys): + result = ProfileWarning("profile warning: foo") +- with tempfile.NamedTemporaryFile() as f: +- out = PlainTextFormatter(f) ++ with tempfile.NamedTemporaryFile() as file: ++ out = PlainTextFormatter(file) + with JsonStream(out) as reporter: + reporter.report(result) +- with patch("sys.argv", self.args + ["-R", "StrReporter", f.name]): ++ with patch("sys.argv", self.args + ["-R", "StrReporter", file.name]): + with pytest.raises(SystemExit) as excinfo: + self.script() + out, err = capsys.readouterr() +@@ -47,13 +45,13 @@ class TestPkgcheckReplay: + + def test_corrupted_resuts(self, capsys): + result = ProfileWarning("profile warning: foo") +- with tempfile.NamedTemporaryFile() as f: +- out = PlainTextFormatter(f) ++ with tempfile.NamedTemporaryFile() as file: ++ out = PlainTextFormatter(file) + with JsonStream(out) as reporter: + reporter.report(result) +- f.write(b"corrupted") +- f.seek(0) +- with patch("sys.argv", self.args + ["-R", "StrReporter", f.name]): ++ file.write(b"corrupted") ++ file.seek(0) ++ with patch("sys.argv", self.args + ["-R", "StrReporter", file.name]): + with pytest.raises(SystemExit) as excinfo: + self.script() + out, err = capsys.readouterr() +@@ -61,26 +59,28 @@ class TestPkgcheckReplay: + assert excinfo.value.code == 2 + + def test_invalid_file(self, capsys): +- with tempfile.NamedTemporaryFile(mode="wt") as f: +- f.write("invalid file") +- f.seek(0) +- with patch("sys.argv", self.args + ["-R", "StrReporter", f.name]): ++ with tempfile.NamedTemporaryFile(mode="wt") as file: ++ file.write("invalid file") ++ file.seek(0) ++ with patch("sys.argv", self.args + ["-R", "StrReporter", file.name]): + with pytest.raises(SystemExit) as excinfo: + self.script() + out, err = capsys.readouterr() + assert err.strip() == "pkgcheck replay: error: invalid or unsupported replay file" + assert excinfo.value.code == 2 + +- def test_replay_pipe_stdin(self): +- script = pytest.REPO_ROOT / "bin/pkgcheck" +- result = ProfileWarning("profile warning: foo") +- with tempfile.NamedTemporaryFile() as f: +- out = PlainTextFormatter(f) ++ def test_replay_pipe_stdin(self, capsys): ++ with tempfile.NamedTemporaryFile() as file: ++ out = PlainTextFormatter(file) + with JsonStream(out) as reporter: +- reporter.report(result) +- f.seek(0) +- p = subprocess.run( +- [script, "replay", "-R", "StrReporter", "-"], stdin=f, stdout=subprocess.PIPE +- ) +- assert p.stdout.decode() == "profile warning: foo\n" +- assert p.returncode == 0 ++ reporter.report(ProfileWarning("profile warning: foo")) ++ file.seek(0) ++ ++ with open(file.name) as stdin, patch("sys.stdin", stdin), patch( ++ "sys.argv", [*self.args, "-R", "StrReporter", "-"] ++ ), pytest.raises(SystemExit) as excinfo: ++ self.script() ++ out, err = capsys.readouterr() ++ assert not err ++ assert out == "profile warning: foo\n" ++ assert excinfo.value.code == 0 diff --git a/dev-util/pkgcheck/pkgcheck-0.10.20.ebuild b/dev-util/pkgcheck/pkgcheck-0.10.20.ebuild index 45516db85496..c3d2532fb01c 100644 --- a/dev-util/pkgcheck/pkgcheck-0.10.20.ebuild +++ b/dev-util/pkgcheck/pkgcheck-0.10.20.ebuild @@ -55,6 +55,10 @@ BDEPEND="${RDEPEND} ) " +PATCHES=( + "${FILESDIR}/${P}-fix-replay-bin.patch" +) + SITEFILE="50${PN}-gentoo.el" distutils_enable_tests pytest |