aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorArthur Zamarin <arthurzam@gentoo.org>2022-08-26 16:56:39 +0300
committerArthur Zamarin <arthurzam@gentoo.org>2022-08-26 17:27:41 +0300
commit773d8152e2c134febe3d66ce0ce57dc3ddf4508f (patch)
tree0425e58057dfbe3bc5b94f7d1c71c82ea27b7e42 /tests
parentpkgsets/test_*.py: modernize tests to pytest (diff)
downloadpkgcore-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.py10
-rw-r--r--tests/package/test_base.py4
-rw-r--r--tests/repository/test_prototype.py4
-rw-r--r--tests/restrictions/test_packages.py23
-rw-r--r--tests/test_plugin.py5
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()