diff options
author | Arthur Zamarin <arthurzam@gentoo.org> | 2022-08-26 16:56:39 +0300 |
---|---|---|
committer | Arthur Zamarin <arthurzam@gentoo.org> | 2022-08-26 17:27:41 +0300 |
commit | 773d8152e2c134febe3d66ce0ce57dc3ddf4508f (patch) | |
tree | 0425e58057dfbe3bc5b94f7d1c71c82ea27b7e42 /tests | |
parent | pkgsets/test_*.py: modernize tests to pytest (diff) | |
download | pkgcore-773d8152e2c134febe3d66ce0ce57dc3ddf4508f.tar.gz pkgcore-773d8152e2c134febe3d66ce0ce57dc3ddf4508f.tar.bz2 pkgcore-773d8152e2c134febe3d66ce0ce57dc3ddf4508f.zip |
tests: remove various extensions
- instead of callback_logger & protect_logging please use caplog fixture
- instead of malleable_obj please use types.SimpleNamespace
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ebuild/test_ebuild_src.py | 10 | ||||
-rw-r--r-- | tests/package/test_base.py | 4 | ||||
-rw-r--r-- | tests/repository/test_prototype.py | 4 | ||||
-rw-r--r-- | tests/restrictions/test_packages.py | 23 | ||||
-rw-r--r-- | tests/test_plugin.py | 5 |
5 files changed, 19 insertions, 27 deletions
diff --git a/tests/ebuild/test_ebuild_src.py b/tests/ebuild/test_ebuild_src.py index 2a71a296..9d804de4 100644 --- a/tests/ebuild/test_ebuild_src.py +++ b/tests/ebuild/test_ebuild_src.py @@ -1,13 +1,13 @@ import os import textwrap from functools import partial +from types import SimpleNamespace import pytest from pkgcore import fetch from pkgcore.ebuild import digest, ebuild_src, repo_objs from pkgcore.ebuild.eapi import EAPI, get_eapi from pkgcore.package import errors -from pkgcore.test import malleable_obj from snakeoil.currying import post_curry from snakeoil.data_source import data_source, local_source from snakeoil.osutils import pjoin @@ -536,20 +536,20 @@ class TestPackageFactory: def test_get_ebuild_src(self): assert ( self.mkinst( - repo=malleable_obj(_get_ebuild_src=lambda s: f"lincoln haunts me: {s}") - ).get_ebuild_src("1") == + repo=SimpleNamespace(_get_ebuild_src=lambda s: f"lincoln haunts me: {s}") + ).get_ebuild_src("1") == "lincoln haunts me: 1") def test_get_ebuild_mtime(self, tmpdir): f = pjoin(str(tmpdir), "temp-0.ebuild") open(f, 'w').close() mtime = self.mkinst( - repo=malleable_obj(_get_ebuild_path=lambda s: f))._get_ebuild_mtime(None) + repo=SimpleNamespace(_get_ebuild_path=lambda s: f))._get_ebuild_mtime(None) assert mtime == os.stat(f).st_mtime def test_get_metadata(self): ec = FakeEclassCache('/nonexistent/path') - pkg = malleable_obj(_mtime_=100, cpvstr='dev-util/diffball-0.71', path='bollocks') + pkg = SimpleNamespace(_mtime_=100, cpvstr='dev-util/diffball-0.71', path='bollocks') class fake_cache(dict): readonly = False diff --git a/tests/package/test_base.py b/tests/package/test_base.py index 4a577066..cd5465ca 100644 --- a/tests/package/test_base.py +++ b/tests/package/test_base.py @@ -1,7 +1,7 @@ from functools import partial +from types import SimpleNamespace from pkgcore.package import base -from pkgcore.test import malleable_obj from snakeoil.test import TestCase @@ -14,7 +14,7 @@ def fake_pkg(cat='dev-util', pkg='bsdiff', ver='1.0', **attrs): d["cpvstr"] = f"{cat}/{pkg}-{ver}" d['built'] = False d.update(attrs) - return malleable_obj(**d) + return SimpleNamespace(**d) class mixin: diff --git a/tests/repository/test_prototype.py b/tests/repository/test_prototype.py index 5cedc237..10b4c4a6 100644 --- a/tests/repository/test_prototype.py +++ b/tests/repository/test_prototype.py @@ -1,5 +1,6 @@ from collections import OrderedDict from functools import partial +from types import SimpleNamespace import pytest from pkgcore.ebuild.atom import atom @@ -8,7 +9,6 @@ from pkgcore.operations.repo import operations from pkgcore.package.mutated import MutatedPkg from pkgcore.repository.util import SimpleTree from pkgcore.restrictions import boolean, packages, values -from pkgcore.test import malleable_obj from snakeoil.currying import post_curry @@ -118,7 +118,7 @@ class TestPrototype: 'category', values.StrExactMatch('dev-util', negate=True)))) == \ sorted(VersionedCPV(x) for x in ("dev-lib/fake-1.0", "dev-lib/fake-1.0-r1")) - obj = malleable_obj(livefs=False) + obj = SimpleNamespace(livefs=False) pkg_cls = post_curry(MutatedPkg, {'repo': obj}) assert \ sorted(self.repo.itermatch(boolean.AndRestriction(boolean.OrRestriction( diff --git a/tests/restrictions/test_packages.py b/tests/restrictions/test_packages.py index 22073631..e8cf0cab 100644 --- a/tests/restrictions/test_packages.py +++ b/tests/restrictions/test_packages.py @@ -1,8 +1,7 @@ -import pytest +from types import SimpleNamespace -from pkgcore import log +import pytest from pkgcore.restrictions import packages, values -from pkgcore.test import callback_logger, malleable_obj, silence_logging from snakeoil.mappings import AttrAccessible from .utils import TestRestriction @@ -26,26 +25,24 @@ class TestPackageRestriction(TestRestriction): kls = staticmethod(kls) - @silence_logging(log.logging.root) - def test_matching(self): + def test_matching(self, caplog): strexact = values.StrExactMatch - args = malleable_obj(category="foon", package="dar") + args = SimpleNamespace(category="foon", package="dar") self.assertMatches(self.kls("category", strexact("foon")), args) self.assertMatches(self.kls("package", strexact("dar")), args) self.assertNotMatches(self.kls("package", strexact("dar"), negate=True), args) self.assertNotMatches(self.kls("package", strexact("foon")), args) self.assertMatches(self.kls("package", strexact("foon"), negate=True), args) - excepts = [] - # no msg should be thrown, it wasn't an unexpected exception - log.logging.root.addHandler(callback_logger(excepts.append)) + # no msg should be thrown, it wasn't an unexpected exception + caplog.clear() self.assertNotMatches(self.kls("foon", AlwaysSelfIntersect), args) - assert not excepts + assert not caplog.records self.assertMatches(self.kls("foon", AlwaysSelfIntersect, negate=True), args) - assert not excepts + assert not caplog.records class foo: def __getattr__(self, attr): @@ -57,10 +54,10 @@ class TestPackageRestriction(TestRestriction): "RuntimeError":RuntimeError, "SystemExit":SystemExit} for mode in ("match", "force_True", "force_False"): - excepts[:] = [] + caplog.clear() with pytest.raises(AttributeError): getattr(self.kls("foon", AlwaysSelfIntersect), mode)(foo()) - assert len(excepts) == 1, f"expected one exception, got {excepts!r}" + assert len(caplog.records) == 1 # ensure various exceptions are passed through for k in (KeyboardInterrupt, RuntimeError, SystemExit): diff --git a/tests/test_plugin.py b/tests/test_plugin.py index 29c10d6d..e74726d9 100644 --- a/tests/test_plugin.py +++ b/tests/test_plugin.py @@ -1,4 +1,3 @@ -import logging import os import shutil import sys @@ -6,7 +5,6 @@ import tempfile from unittest import mock from pkgcore import plugin -from pkgcore.test import silence_logging from snakeoil.osutils import pjoin from snakeoil.sequences import stable_unique @@ -155,7 +153,6 @@ pkgcore_plugins = {'plugtest': [HiddenPlug]} def test_no_unneeded_import(self): self._runit(self._test_no_unneeded_import) - @silence_logging(logging.root) def test_cache_corruption(self): print(plugin.const) print('wheeeeee') @@ -198,7 +195,6 @@ pkgcore_plugins = {'plugtest': [HiddenPlug]} plugin._global_cache.clear() self._test_plug() - @silence_logging(logging.root) def test_priority_caching(self): plug3 = open(pjoin(self.packdir, 'plug3.py'), 'w') try: @@ -278,7 +274,6 @@ pkgcore_plugins = { assert 'mod_testplug.plug5' in sys.modules, 'plug4 not loaded' assert 'mod_testplug.plug6' not in sys.modules, 'plug6 loaded' - @silence_logging(logging.root) def test_header_change_invalidates_cache(self): # Write the cache plugin._global_cache.clear() |