diff options
author | Arthur Zamarin <arthurzam@gentoo.org> | 2022-08-26 12:56:02 +0300 |
---|---|---|
committer | Arthur Zamarin <arthurzam@gentoo.org> | 2022-08-26 12:56:02 +0300 |
commit | 0de91a6ec76070f8ec69722f45eb454367cc04e8 (patch) | |
tree | a0295afa5cf1cddb403062f1e90121272be9260e /tests | |
parent | bash completion: add for pquery (diff) | |
download | pkgcore-0de91a6ec76070f8ec69722f45eb454367cc04e8.tar.gz pkgcore-0de91a6ec76070f8ec69722f45eb454367cc04e8.tar.bz2 pkgcore-0de91a6ec76070f8ec69722f45eb454367cc04e8.zip |
scripts/test_*.py: modernize tests to pytest
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/scripts/test_pclean.py | 3 | ||||
-rw-r--r-- | tests/scripts/test_pclonecache.py | 3 | ||||
-rw-r--r-- | tests/scripts/test_pconfig.py | 13 | ||||
-rw-r--r-- | tests/scripts/test_pebuild.py | 13 | ||||
-rw-r--r-- | tests/scripts/test_pmaint.py | 121 | ||||
-rw-r--r-- | tests/scripts/test_pplugincache.py | 5 | ||||
-rw-r--r-- | tests/scripts/test_pquery.py | 33 |
7 files changed, 82 insertions, 109 deletions
diff --git a/tests/scripts/test_pclean.py b/tests/scripts/test_pclean.py index 800ce10d..4dfe942a 100644 --- a/tests/scripts/test_pclean.py +++ b/tests/scripts/test_pclean.py @@ -1,9 +1,8 @@ from pkgcore.scripts import pclean from pkgcore.test.scripts.helpers import ArgParseMixin -from snakeoil.test import TestCase -class CommandlineTest(TestCase, ArgParseMixin): +class TestCommandline(ArgParseMixin): _argparser = pclean.argparser diff --git a/tests/scripts/test_pclonecache.py b/tests/scripts/test_pclonecache.py index a0eb126a..fb472223 100644 --- a/tests/scripts/test_pclonecache.py +++ b/tests/scripts/test_pclonecache.py @@ -2,7 +2,6 @@ from pkgcore.config import basics from pkgcore.config.hint import ConfigHint from pkgcore.scripts import pclonecache from pkgcore.test.scripts.helpers import ArgParseMixin -from snakeoil.test import TestCase class Cache: @@ -13,7 +12,7 @@ class Cache: self.readonly = self.frozen = readonly -class CommandlineTest(TestCase, ArgParseMixin): +class TestCommandline(ArgParseMixin): _argparser = pclonecache.argparser diff --git a/tests/scripts/test_pconfig.py b/tests/scripts/test_pconfig.py index 3e90cf30..7b3a1586 100644 --- a/tests/scripts/test_pconfig.py +++ b/tests/scripts/test_pconfig.py @@ -1,11 +1,8 @@ -import sys - import pytest from pkgcore.config import basics, errors from pkgcore.config.hint import configurable from pkgcore.scripts import pconfig from pkgcore.test.scripts.helpers import ArgParseMixin -from snakeoil.test import TestCase @configurable({'reff': 'ref:spork'}) @@ -83,7 +80,7 @@ class DescribeClassTest(ArgParseMixin): 'tests.scripts.test_pconfig.broken_type') -class ClassesTest(TestCase, ArgParseMixin): +class TestClasses(ArgParseMixin): _argparser = pconfig.classes @@ -125,7 +122,7 @@ class ClassesTest(TestCase, ArgParseMixin): 'class': pseudospork})})) -class DumpTest(TestCase, ArgParseMixin): +class TestDump(ArgParseMixin): _argparser = pconfig.dump @@ -226,7 +223,7 @@ class DumpTest(TestCase, ArgParseMixin): ) -class UncollapsableTest(TestCase, ArgParseMixin): +class TestUncollapsable(ArgParseMixin): _argparser = pconfig.uncollapsable @@ -249,7 +246,7 @@ class UncollapsableTest(TestCase, ArgParseMixin): ) -class ConfigurablesTest(TestCase, ArgParseMixin): +class TestConfigurables(ArgParseMixin): _argparser = pconfig.configurables @@ -277,7 +274,7 @@ class WeirdSection(basics.ConfigSection): None, None] -class DumpUncollapsedTest(TestCase, ArgParseMixin): +class TestDumpUncollapsed(ArgParseMixin): _argparser = pconfig.dump_uncollapsed diff --git a/tests/scripts/test_pebuild.py b/tests/scripts/test_pebuild.py index 15602659..ff84440a 100644 --- a/tests/scripts/test_pebuild.py +++ b/tests/scripts/test_pebuild.py @@ -3,7 +3,6 @@ from pkgcore.config.hint import ConfigHint, configurable from pkgcore.scripts import pebuild from pkgcore.test.misc import FakePkg, FakeRepo from pkgcore.test.scripts.helpers import ArgParseMixin -from snakeoil.test import TestCase class FakeDomain: @@ -29,13 +28,13 @@ def fake_repo(): domain_config = basics.HardCodedConfigSection({ - 'class': FakeDomain, - 'repo': basics.HardCodedConfigSection({'class': fake_repo}), - 'default': True, - }) + 'class': FakeDomain, + 'repo': basics.HardCodedConfigSection({'class': fake_repo}), + 'default': True, +}) -class CommandlineTest(TestCase, ArgParseMixin): +class TestCommandline(ArgParseMixin): _argparser = pebuild.argparser @@ -45,4 +44,4 @@ class CommandlineTest(TestCase, ArgParseMixin): # working initialization config = self.parse('sys-apps/coreutils', 'bar', 'baz', domain=domain_config) - self.assertEqual(config.phase, ['bar', 'baz']) + assert config.phase == ['bar', 'baz'] diff --git a/tests/scripts/test_pmaint.py b/tests/scripts/test_pmaint.py index 77d65b3b..43814cae 100644 --- a/tests/scripts/test_pmaint.py +++ b/tests/scripts/test_pmaint.py @@ -2,7 +2,7 @@ from functools import partial from io import BytesIO from pkgcore.config import basics -from pkgcore.config.hint import ConfigHint, configurable +from pkgcore.config.hint import ConfigHint from pkgcore.ebuild.cpv import CPV from pkgcore.operations.repo import install, operations, replace, uninstall from pkgcore.repository import syncable, util @@ -11,7 +11,6 @@ from pkgcore.sync import base from pkgcore.test.scripts.helpers import ArgParseMixin from snakeoil.formatters import PlainTextFormatter from snakeoil.mappings import AttrAccessible -from snakeoil.test import TestCase Options = AttrAccessible @@ -32,7 +31,7 @@ class fake_operations(operations): replace, self.repo, oldpkg, newpkg, observer) -class fake_repo(util.SimpleTree): +class FakeRepo(util.SimpleTree): operations_kls = fake_operations @@ -40,15 +39,14 @@ class fake_repo(util.SimpleTree): self.installed = [] self.replaced = [] self.uninstalled = [] - util.SimpleTree.__init__( - self, data, pkg_klass=partial(fake_pkg, self), repo_id=repo_id) + super().__init__(data, pkg_klass=partial(fake_pkg, self), repo_id=repo_id) self.livefs = livefs self.frozen = frozen def make_repo_config(repo_data, livefs=False, frozen=False, repo_id=None): def repo(): - return fake_repo(repo_data, livefs=livefs, frozen=frozen, repo_id=repo_id) + return FakeRepo(repo_data, livefs=livefs, frozen=frozen, repo_id=repo_id) repo.pkgcore_config_type = ConfigHint(typename='repo') return basics.HardCodedConfigSection({'class':repo}) @@ -61,7 +59,7 @@ class FakeDomain: typename='domain') def __init__(self, repos, binpkg, vdb): - object.__init__(self) + super().__init__() self.repos = repos self.source_repos_raw = util.RepositoryGroup(repos) self.installed_repos = util.RepositoryGroup(vdb) @@ -86,7 +84,7 @@ def make_domain(repo=None, binpkg=None, vdb=None): 'binpkg': [binpkg_config], 'vdb': [vdb_config], 'default': True, - }) + }) class FakeSyncer(base.Syncer): @@ -117,43 +115,36 @@ failure_section = basics.HardCodedConfigSection({'class': SyncableRepo, 'succeed': False}) -class TestSync(TestCase, ArgParseMixin): +class TestSync(ArgParseMixin): _argparser = pmaint.sync def test_parser(self): values = self.parse(repo=success_section) - self.assertEqual(['repo'], [x[0] for x in values.repos]) + assert ['repo'] == [x[0] for x in values.repos] values = self.parse('repo', repo=success_section) - self.assertEqual(['repo'], [x[0] for x in values.repos]) + assert ['repo'] == [x[0] for x in values.repos] def test_sync(self): - config = self.assertOut( - [ - "*** syncing myrepo", - "*** synced myrepo", - ], - myrepo=success_section) - self.assertTrue(config.repo_config['myrepo']._syncer.synced) - self.assertOut( - [ - "*** syncing myrepo", - "!!! failed syncing myrepo", - ], - myrepo=failure_section) - self.assertOutAndErr( - [ - "*** syncing goodrepo", - "*** synced goodrepo", - "*** syncing badrepo", - "!!! failed syncing badrepo", - "", - "*** sync results:", - "*** synced: goodrepo", - "!!! failed: badrepo", - ], [], - 'goodrepo', 'badrepo', - goodrepo=success_section, badrepo=failure_section) + config = self.assertOut([ + "*** syncing myrepo", + "*** synced myrepo", + ], myrepo=success_section) + assert config.repo_config['myrepo']._syncer.synced + self.assertOut([ + "*** syncing myrepo", + "!!! failed syncing myrepo", + ], myrepo=failure_section) + self.assertOutAndErr([ + "*** syncing goodrepo", + "*** synced goodrepo", + "*** syncing badrepo", + "!!! failed syncing badrepo", + "", + "*** sync results:", + "*** synced: goodrepo", + "!!! failed: badrepo", + ], [], 'goodrepo', 'badrepo', goodrepo=success_section, badrepo=failure_section) class fake_pkg(CPV): @@ -176,7 +167,7 @@ def derive_op(name, op, *a, **kw): return new_op(*a, **kw) -class TestCopy(TestCase, ArgParseMixin): +class TestCopy(ArgParseMixin): _argparser = pmaint.copy @@ -191,39 +182,33 @@ class TestCopy(TestCase, ArgParseMixin): 'fake_binpkg', '--source-repo', 'fake_vdb', '*', domain=make_domain(vdb={'sys-apps':{'portage':['2.1', '2.3']}}), - ) - self.assertEqual(ret, 0, "expected non zero exit code") - self.assertEqual(list(map(str, config.target_repo.installed)), - ['sys-apps/portage-2.1', 'sys-apps/portage-2.3']) - self.assertEqual(config.target_repo.uninstalled, - config.target_repo.replaced, - msg="uninstalled should be the same as replaced; empty") + ) + assert ret == 0, "expected non zero exit code" + assert list(map(str, config.target_repo.installed)) == ['sys-apps/portage-2.1', 'sys-apps/portage-2.3'] + assert config.target_repo.uninstalled == config.target_repo.replaced, \ + "uninstalled should be the same as replaced; empty" d = {'sys-apps':{'portage':['2.1', '2.2']}} ret, config, out = self.execute_main( 'fake_binpkg', '--source-repo', 'fake_vdb', '=sys-apps/portage-2.1', domain=make_domain(binpkg=d, vdb=d), - ) - self.assertEqual(ret, 0, "expected non zero exit code") - self.assertEqual([list(map(str, x)) for x in config.target_repo.replaced], - [['sys-apps/portage-2.1', 'sys-apps/portage-2.1']]) - self.assertEqual(config.target_repo.uninstalled, - config.target_repo.installed, - msg="installed should be the same as uninstalled; empty") + ) + assert ret == 0, "expected non zero exit code" + assert [list(map(str, x)) for x in config.target_repo.replaced] == [['sys-apps/portage-2.1', 'sys-apps/portage-2.1']] + assert config.target_repo.uninstalled == config.target_repo.installed, \ + "installed should be the same as uninstalled; empty" def test_ignore_existing(self): ret, config, out = self.execute_main( 'fake_binpkg', '--source-repo', 'fake_vdb', '*', '--ignore-existing', domain=make_domain(vdb={'sys-apps':{'portage':['2.1', '2.3']}}), - ) - self.assertEqual(ret, 0, "expected non zero exit code") - self.assertEqual(list(map(str, config.target_repo.installed)), - ['sys-apps/portage-2.1', 'sys-apps/portage-2.3']) - self.assertEqual(config.target_repo.uninstalled, - config.target_repo.replaced, - msg="uninstalled should be the same as replaced; empty") + ) + assert ret == 0, "expected non zero exit code" + assert list(map(str, config.target_repo.installed)) == ['sys-apps/portage-2.1', 'sys-apps/portage-2.3'] + assert config.target_repo.uninstalled == config.target_repo.replaced, \ + "uninstalled should be the same as replaced; empty" ret, config, out = self.execute_main( 'fake_binpkg', '--source-repo', 'fake_vdb', @@ -231,16 +216,14 @@ class TestCopy(TestCase, ArgParseMixin): domain=make_domain( binpkg={'sys-apps':{'portage':['2.1']}}, vdb={'sys-apps':{'portage':['2.1', '2.3']}}), - ) - self.assertEqual(ret, 0, "expected non zero exit code") - self.assertEqual(list(map(str, config.target_repo.installed)), - ['sys-apps/portage-2.3']) - self.assertEqual(config.target_repo.uninstalled, - config.target_repo.replaced, - msg="uninstalled should be the same as replaced; empty") + ) + assert ret == 0, "expected non zero exit code" + assert list(map(str, config.target_repo.installed)) == ['sys-apps/portage-2.3'] + assert config.target_repo.uninstalled == config.target_repo.replaced, \ + "uninstalled should be the same as replaced; empty" -class TestRegen(TestCase, ArgParseMixin): +class TestRegen(ArgParseMixin): _argparser = pmaint.regen @@ -248,5 +231,5 @@ class TestRegen(TestCase, ArgParseMixin): options = self.parse( 'fake', '--threads', '2', domain=make_domain()) - self.assertTrue(isinstance(options.repos[0], util.SimpleTree)) - self.assertEqual(options.threads, 2) + assert isinstance(options.repos[0], util.SimpleTree) + assert options.threads == 2 diff --git a/tests/scripts/test_pplugincache.py b/tests/scripts/test_pplugincache.py index cd37e8d9..15f8b2c9 100644 --- a/tests/scripts/test_pplugincache.py +++ b/tests/scripts/test_pplugincache.py @@ -1,14 +1,13 @@ from pkgcore import plugins from pkgcore.scripts import pplugincache from pkgcore.test.scripts.helpers import ArgParseMixin -from snakeoil.test import TestCase -class CommandlineTest(TestCase, ArgParseMixin): +class TestCommandline(ArgParseMixin): _argparser = pplugincache.argparser has_config = False def test_parser(self): - self.assertEqual([plugins], self.parse().packages) + assert self.parse().packages == [plugins] diff --git a/tests/scripts/test_pquery.py b/tests/scripts/test_pquery.py index 90e51ddb..84b185ef 100644 --- a/tests/scripts/test_pquery.py +++ b/tests/scripts/test_pquery.py @@ -4,7 +4,6 @@ from pkgcore.ebuild import atom from pkgcore.repository import util from pkgcore.scripts import pquery from pkgcore.test.scripts.helpers import ArgParseMixin -from snakeoil.test import TestCase class FakeDomain: @@ -30,14 +29,14 @@ def fake_vdb(): domain_config = basics.HardCodedConfigSection({ - 'class': FakeDomain, - 'repos': [basics.HardCodedConfigSection({'class': fake_repo})], - 'vdb': [basics.HardCodedConfigSection({'class': fake_vdb})], - 'default': True, - }) + 'class': FakeDomain, + 'repos': [basics.HardCodedConfigSection({'class': fake_repo})], + 'vdb': [basics.HardCodedConfigSection({'class': fake_vdb})], + 'default': True, +}) -class CommandlineTest(TestCase, ArgParseMixin): +class TestCommandline(ArgParseMixin): _argparser = pquery.argparser @@ -54,21 +53,19 @@ class CommandlineTest(TestCase, ArgParseMixin): '--all') def test_no_description(self): - self.assertOut( - [' * spork/foon-2', - ' repo: MISSING', - ' description: MISSING', - ' homepage: MISSING', - ' license: MISSING', - '', - ], - '-v', '--max', '--all', - test_domain=domain_config) + self.assertOut([ + ' * spork/foon-2', + ' repo: MISSING', + ' description: MISSING', + ' homepage: MISSING', + ' license: MISSING', + '', + ], '-v', '--max', '--all', test_domain=domain_config) def test_atom(self): config = self.parse( '--print-revdep', 'a/spork', '--all', domain=domain_config) - self.assertEqual([atom.atom('a/spork')], config.print_revdep) + assert config.print_revdep == [atom.atom('a/spork')] def test_no_contents(self): self.assertOut([], '--contents', '--all', test_domain=domain_config) |