commit:     2548dd9a941955301df1debd54305c1724021f25
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  1 06:58:10 2025 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sun Jun  1 06:58:10 2025 +0000
URL:        
https://gitweb.gentoo.org/proj/pkgcore/pkgcore.git/commit/?id=2548dd9a

format using ruff

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 src/pkgcore/binpkg/repository.py         |  3 +--
 src/pkgcore/ebuild/atom.py               |  6 ++----
 src/pkgcore/ebuild/domain.py             |  2 +-
 src/pkgcore/ebuild/ebd.py                |  2 +-
 src/pkgcore/ebuild/ebd_ipc.py            |  3 +--
 src/pkgcore/ebuild/eclass.py             |  6 +++---
 src/pkgcore/ebuild/errors.py             |  2 +-
 src/pkgcore/ebuild/triggers.py           |  2 +-
 src/pkgcore/fs/fs.py                     |  4 +---
 src/pkgcore/plugin.py                    |  2 +-
 src/pkgcore/pytest/plugin.py             |  2 +-
 src/pkgcore/repository/errors.py         |  3 +--
 src/pkgcore/resolver/plan.py             |  4 ++--
 src/pkgcore/restrictions/boolean.py      |  4 ++--
 src/pkgcore/restrictions/packages.py     |  4 ++--
 src/pkgcore/restrictions/required_use.py |  7 ++++---
 src/pkgcore/scripts/pebuild.py           |  3 +--
 src/pkgcore/scripts/pmaint.py            |  5 ++---
 src/pkgcore/scripts/pmerge.py            |  2 +-
 src/pkgcore/scripts/pquery.py            |  2 +-
 src/pkgcore/util/commandline.py          |  3 +--
 tests/config/test_central.py             | 27 ++++++++++++------------
 tests/config/test_init.py                |  4 ++--
 tests/ebuild/test_atom.py                | 36 ++++++++++++++++----------------
 tests/ebuild/test_conditionals.py        |  6 +++---
 tests/ebuild/test_ebuild_src.py          | 12 +++++------
 tests/ebuild/test_eclass.py              |  7 +------
 tests/ebuild/test_formatter.py           | 18 +++++++---------
 tests/ebuild/test_profiles.py            | 13 ++++++------
 tests/ebuild/test_repository.py          |  4 ++--
 tests/fs/test_contents.py                |  6 +++---
 tests/merge/test_triggers.py             | 12 +++++------
 tests/pkgsets/test_glsa.py               | 12 +++++------
 tests/repository/test_filtered.py        |  4 +++-
 tests/restrictions/test_delegated.py     |  6 +++---
 tests/restrictions/utils.py              | 16 +++++---------
 tests/scripts/test_pconfig.py            |  4 ++--
 tests/scripts/test_pmaint.py             | 24 ++++++++++-----------
 tests/test_gpg.py                        |  6 +++---
 tests/util/test_parserestrict.py         | 24 ++++++++++-----------
 40 files changed, 146 insertions(+), 166 deletions(-)

diff --git a/src/pkgcore/binpkg/repository.py b/src/pkgcore/binpkg/repository.py
index 20441408..40879955 100644
--- a/src/pkgcore/binpkg/repository.py
+++ b/src/pkgcore/binpkg/repository.py
@@ -131,8 +131,7 @@ class StackedXpakDict(DictMixin):
                 data = data_source(self.xpak.get("environment"), mutable=True)
                 if data is None:
                     raise KeyError(
-                        "environment.bz2 not found in xpak segment, "
-                        "malformed binpkg?"
+                        "environment.bz2 not found in xpak segment, malformed 
binpkg?"
                     )
             else:
                 data = data_source(

diff --git a/src/pkgcore/ebuild/atom.py b/src/pkgcore/ebuild/atom.py
index 0dc046fa..8f82f4e9 100644
--- a/src/pkgcore/ebuild/atom.py
+++ b/src/pkgcore/ebuild/atom.py
@@ -341,7 +341,7 @@ class atom(boolean.AndRestriction, 
metaclass=klass.generic_equality):
             attrs.append(f"subslot={self.subslot!r}")
         if self.repo_id is not None:
             attrs.append(f"repo_id={self.repo_id!r}")
-        return f'<{self.__class__.__name__} {" ".join(attrs)} @#{id(self):x}>'
+        return f"<{self.__class__.__name__} {' '.join(attrs)} @#{id(self):x}>"
 
     def __reduce__(self):
         return (atom, (str(self), self.negate_vers))
@@ -622,9 +622,7 @@ class atom(boolean.AndRestriction, 
metaclass=klass.generic_equality):
                 other.op, other.version, other.revision
             ).match(ranged) and restricts.VersionMatch(
                 ranged.op, ranged.version, ranged.revision
-            ).match(
-                other
-            )
+            ).match(other)
 
         if other.op == "~":
             # Other definitely matches its own version. If ranged also

diff --git a/src/pkgcore/ebuild/domain.py b/src/pkgcore/ebuild/domain.py
index 1554f424..dfead784 100644
--- a/src/pkgcore/ebuild/domain.py
+++ b/src/pkgcore/ebuild/domain.py
@@ -815,7 +815,7 @@ class domain(config_domain):
                         args.append(getattr(self, x))
             except AttributeError as e:
                 raise Failure(
-                    f"failed configuring repo {repo!r}: " f"configurable 
missing: {e}"
+                    f"failed configuring repo {repo!r}: configurable missing: 
{e}"
                 ) from e
             repo = repo.configure(*args)
         return repo

diff --git a/src/pkgcore/ebuild/ebd.py b/src/pkgcore/ebuild/ebd.py
index 1a47ab77..34158970 100644
--- a/src/pkgcore/ebuild/ebd.py
+++ b/src/pkgcore/ebuild/ebd.py
@@ -400,7 +400,7 @@ class ebd:
                 )
             if not ebd.expect("next"):
                 chuck_UnhandledCommand(
-                    ebd, "bashrc transfer, didn't receive 'next' response.  " 
"failure?"
+                    ebd, "bashrc transfer, didn't receive 'next' response. 
failure?"
                 )
         ebd.write("end_request")
 

diff --git a/src/pkgcore/ebuild/ebd_ipc.py b/src/pkgcore/ebuild/ebd_ipc.py
index d836cc79..3da97d99 100644
--- a/src/pkgcore/ebuild/ebd_ipc.py
+++ b/src/pkgcore/ebuild/ebd_ipc.py
@@ -1105,8 +1105,7 @@ class Unpack(IpcCommand):
                     )
                 else:
                     raise IpcCommandError(
-                        "relative paths must be prefixed with "
-                        f"'./' in EAPI {self.eapi}"
+                        f"relative paths must be prefixed with './' in EAPI 
{self.eapi}"
                     )
 
             path = pjoin(srcdir, archive)

diff --git a/src/pkgcore/ebuild/eclass.py b/src/pkgcore/ebuild/eclass.py
index 23e970f7..439836e4 100644
--- a/src/pkgcore/ebuild/eclass.py
+++ b/src/pkgcore/ebuild/eclass.py
@@ -72,7 +72,7 @@ class ParseEclassDoc:
         self.tags = tags
         # regex matching all known tags for the eclass doc block
         self._block_tags_re = re.compile(
-            rf'^(?P<tag>{"|".join(self.tags)})(?P<value>.*)'
+            rf"^(?P<tag>{'|'.join(self.tags)})(?P<value>.*)"
         )
         # regex matching @CODE tags
         self._code_tag = re.compile(r"^\s*@CODE\s*$")
@@ -365,7 +365,7 @@ class EclassFuncVarBlock(ParseEclassDoc):
 
 
 _eclass_blocks_re = re.compile(
-    rf'^(?P<prefix>\s*#) 
(?P<tag>{"|".join(ParseEclassDoc.blocks)})(?P<value>.*)'
+    rf"^(?P<prefix>\s*#) 
(?P<tag>{'|'.join(ParseEclassDoc.blocks)})(?P<value>.*)"
 )
 
 
@@ -624,7 +624,7 @@ class EclassDoc(AttrDict):
                 header = [func.name]
                 if func.usage:
                     header.append(func.usage)
-                rst.append(f'**{" ".join(header)}**')
+                rst.append(f"**{' '.join(header)}**")
                 if func.description:
                     rst.append(
                         "  " + func.description.lstrip("\n").replace("\n", "\n 
 ")

diff --git a/src/pkgcore/ebuild/errors.py b/src/pkgcore/ebuild/errors.py
index d7923c70..56cb23be 100644
--- a/src/pkgcore/ebuild/errors.py
+++ b/src/pkgcore/ebuild/errors.py
@@ -108,7 +108,7 @@ class RequiredUseError(SanityCheckError):
                     f"""
                 Failed to match: {node}
                 from: {self.pkg.required_use}
-                for USE: {' '.join(sorted(self.pkg.use))}
+                for USE: {" ".join(sorted(self.pkg.use))}
                 """
                 )
             )

diff --git a/src/pkgcore/ebuild/triggers.py b/src/pkgcore/ebuild/triggers.py
index 14ef725a..8b572820 100644
--- a/src/pkgcore/ebuild/triggers.py
+++ b/src/pkgcore/ebuild/triggers.py
@@ -593,7 +593,7 @@ class SFPerms(triggers.base):
             if x.mode & 0o4000:
                 if x.mode & 0o044:
                     engine.observer.warn(
-                        "sfperms: dropping group/world read " f"due to SetGID: 
{x!r}"
+                        f"sfperms: dropping group/world read due to SetGID: 
{x!r}"
                     )
                     resets.append(x.change_attributes(mode=x.mode & ~0o44))
             if x.mode & 0o2000:

diff --git a/src/pkgcore/fs/fs.py b/src/pkgcore/fs/fs.py
index ba9fedd7..82c25b67 100644
--- a/src/pkgcore/fs/fs.py
+++ b/src/pkgcore/fs/fs.py
@@ -41,9 +41,7 @@ def gen_doc_additions(init, slots):
 :param location: location (real or intended) for this entry
 :param strict: is this fully representative of the entry, or only partially
 :raise KeyError: if strict is enabled, and not all args are passed in
-""".split(
-            "\n"
-        )
+""".split("\n")
     else:
         d = init.__doc__.split("\n")
     init.__doc__ = "\n".join(k.lstrip() for k in d) + "\n".join(

diff --git a/src/pkgcore/plugin.py b/src/pkgcore/plugin.py
index a41097c7..e565af6a 100644
--- a/src/pkgcore/plugin.py
+++ b/src/pkgcore/plugin.py
@@ -173,7 +173,7 @@ def _write_cache_file(path, data, uid=-1, gid=-1):
             # Use error, not exception for this one: the traceback
             # is not necessary and too alarming.
             logger.error(
-                "Cannot write cache for %s: %s. " "Try running pplugincache.", 
path, e
+                "Cannot write cache for %s: %s. Try running pplugincache.", 
path, e
             )
     finally:
         if cachefile is not None:

diff --git a/src/pkgcore/pytest/plugin.py b/src/pkgcore/pytest/plugin.py
index d7231dd3..15b3cd75 100644
--- a/src/pkgcore/pytest/plugin.py
+++ b/src/pkgcore/pytest/plugin.py
@@ -197,7 +197,7 @@ class EbuildRepo:
                 f.write(
                     textwrap.dedent(
                         f"""\
-                    masters = {' '.join(masters)}
+                    masters = {" ".join(masters)}
                     cache-formats =
                     thin-manifests = true
                 """

diff --git a/src/pkgcore/repository/errors.py b/src/pkgcore/repository/errors.py
index eb336239..a00b73ce 100644
--- a/src/pkgcore/repository/errors.py
+++ b/src/pkgcore/repository/errors.py
@@ -36,6 +36,5 @@ class UnsupportedRepo(RepoError, PkgcoreUserException):
 
     def __str__(self):
         return (
-            f"{self.repo.repo_id!r} repo: "
-            f"unsupported repo EAPI {str(self.repo.eapi)!r}"
+            f"{self.repo.repo_id!r} repo: unsupported repo EAPI 
{str(self.repo.eapi)!r}"
         )

diff --git a/src/pkgcore/resolver/plan.py b/src/pkgcore/resolver/plan.py
index 90edb81f..1e78f988 100644
--- a/src/pkgcore/resolver/plan.py
+++ b/src/pkgcore/resolver/plan.py
@@ -672,7 +672,7 @@ class merge_plan:
                         # and was intractable because it has a hard dep on an
                         # unsolvable atom.
                         ret = (
-                            (False, "pruning of insoluble deps " "left no 
choices"),
+                            (False, "pruning of insoluble deps left no 
choices"),
                             {},
                         )
                 else:
@@ -811,7 +811,7 @@ class merge_plan:
                     # XXX kill it; purpose seems... questionable.
                     if cur_frame.drop_cycles:
                         self._dprint(
-                            "%s level cycle: %s: " "dropping cycle for %s from 
%s",
+                            "%s level cycle: %s: dropping cycle for %s from 
%s",
                             (mode, cur_frame.atom, or_node, 
cur_frame.current_pkg),
                             "cycle",
                         )

diff --git a/src/pkgcore/restrictions/boolean.py 
b/src/pkgcore/restrictions/boolean.py
index 53de6e9c..26ec4d90 100644
--- a/src/pkgcore/restrictions/boolean.py
+++ b/src/pkgcore/restrictions/boolean.py
@@ -410,7 +410,7 @@ class AndRestriction(base):
 
         if self.negate:
             raise NotImplementedError(
-                "negation for solutions on " "AndRestriction isn't implemented 
yet"
+                "negation for solutions on AndRestriction isn't implemented 
yet"
             )
         for x in self.restrictions:
             method = getattr(x, "iter_cnf_solutions", None)
@@ -429,7 +429,7 @@ class AndRestriction(base):
 
         if self.negate:
             raise NotImplementedError(
-                "negation for solutions on " "AndRestriction isn't implemented 
yet"
+                "negation for solutions on AndRestriction isn't implemented 
yet"
             )
         andreqs = []
         for x in self.restrictions:

diff --git a/src/pkgcore/restrictions/packages.py 
b/src/pkgcore/restrictions/packages.py
index 0375f746..3b6a48cf 100644
--- a/src/pkgcore/restrictions/packages.py
+++ b/src/pkgcore/restrictions/packages.py
@@ -75,7 +75,7 @@ class PackageRestriction(restriction.base, 
metaclass=generic_equality):
         if isinstance(exc, AttributeError):
             if not self.ignore_missing:
                 logger.exception(
-                    "failed getting attribute %s from %s, " "exception %s",
+                    "failed getting attribute %s from %s, exception %s",
                     ".".join(attr_split),
                     str(pkg),
                     str(exc),
@@ -92,7 +92,7 @@ class PackageRestriction(restriction.base, 
metaclass=generic_equality):
                 # if it doesn't match, exception is thrown.
                 return False
         logger.exception(
-            "caught unexpected exception accessing %s from %s, " "exception 
%s",
+            "caught unexpected exception accessing %s from %s, exception %s",
             ".".join(attr_split),
             str(pkg),
             str(exc),

diff --git a/src/pkgcore/restrictions/required_use.py 
b/src/pkgcore/restrictions/required_use.py
index ec41c2b2..a2dee31c 100644
--- a/src/pkgcore/restrictions/required_use.py
+++ b/src/pkgcore/restrictions/required_use.py
@@ -108,9 +108,10 @@ def __to_multiple_constraint(
         assert isinstance(x := restrict.restriction, values.ContainmentMatch)
         for rule in restrict.payload:
             for func, variables in __to_multiple_constraint(rule):
-                yield __condition(x.negate, frozenset(x.vals), func), 
frozenset(
-                    x.vals
-                ).union(variables)
+                yield (
+                    __condition(x.negate, frozenset(x.vals), func),
+                    frozenset(x.vals).union(variables),
+                )
     elif isinstance(restrict, boolean.AndRestriction):
         assert not restrict.negate
         for rule in restrict.restrictions:

diff --git a/src/pkgcore/scripts/pebuild.py b/src/pkgcore/scripts/pebuild.py
index 0a3ce64b..6ef8c169 100644
--- a/src/pkgcore/scripts/pebuild.py
+++ b/src/pkgcore/scripts/pebuild.py
@@ -23,8 +23,7 @@ phase_opts.add_argument(
     "--no-auto",
     action="store_true",
     default=False,
-    help="run just the specified phases; "
-    "it's up to the invoker to get the order right",
+    help="run just the specified phases; it's up to the invoker to get the 
order right",
 )
 
 

diff --git a/src/pkgcore/scripts/pmaint.py b/src/pkgcore/scripts/pmaint.py
index c148454a..e4c3fc84 100644
--- a/src/pkgcore/scripts/pmaint.py
+++ b/src/pkgcore/scripts/pmaint.py
@@ -148,7 +148,7 @@ commandline.make_query(
     copy,
     nargs="+",
     dest="query",
-    help="packages matching any of these restrictions will be selected " "for 
copying",
+    help="packages matching any of these restrictions will be selected for 
copying",
 )
 copy_opts = copy.add_argument_group("subcommand options")
 copy_opts.add_argument(
@@ -201,8 +201,7 @@ def copy_main(options, out, err):
                     )
                 except OSError as oe:
                     err.write(
-                        f"failed accessing fs obj {fsobj!r}; {oe}\n"
-                        "aborting this copy"
+                        f"failed accessing fs obj {fsobj!r}; {oe}\naborting 
this copy"
                     )
                     failures = True
                     new_contents = None

diff --git a/src/pkgcore/scripts/pmerge.py b/src/pkgcore/scripts/pmerge.py
index 7949f5b0..11755549 100644
--- a/src/pkgcore/scripts/pmerge.py
+++ b/src/pkgcore/scripts/pmerge.py
@@ -792,7 +792,7 @@ def main(options, out, err):
         if not options.oneshot:
             if world_set is None:
                 argparser.error(
-                    "disable world updating via --oneshot, " "or fix your 
configuration"
+                    "disable world updating via --oneshot, or fix your 
configuration"
                 )
         try:
             unmerge(

diff --git a/src/pkgcore/scripts/pquery.py b/src/pkgcore/scripts/pquery.py
index ff04a95c..0d647c17 100644
--- a/src/pkgcore/scripts/pquery.py
+++ b/src/pkgcore/scripts/pquery.py
@@ -1150,7 +1150,7 @@ output.add_argument(
         Print the given attribute's value. This option can be specified
         multiple times.
 
-        Valid attributes: {', '.join(f'``{x}``' for x in printable_attrs)}
+        Valid attributes: {", ".join(f"``{x}``" for x in printable_attrs)}
     """,
 )
 output.add_argument(

diff --git a/src/pkgcore/util/commandline.py b/src/pkgcore/util/commandline.py
index b6878d26..700b2539 100644
--- a/src/pkgcore/util/commandline.py
+++ b/src/pkgcore/util/commandline.py
@@ -417,8 +417,7 @@ class BooleanQuery(arghparse.DelayedValue):
 
         if converter is not None and not callable(converter):
             raise ValueError(
-                "converter either needs to be None, or a callable;"
-                f" got {converter!r}"
+                f"converter either needs to be None, or a callable; got 
{converter!r}"
             )
 
         self.converter = converter

diff --git a/tests/config/test_central.py b/tests/config/test_central.py
index c7572f56..300a5dd6 100644
--- a/tests/config/test_central.py
+++ b/tests/config/test_central.py
@@ -46,9 +46,9 @@ def check_error(message, func, *args, **kwargs):
     try:
         func(*args, **kwargs)
     except klass as exc:
-        assert message == _str_exc(
-            exc
-        ), f"\nGot:\n{_str_exc(exc)!r}\nExpected:\n{message!r}\n"
+        assert message == _str_exc(exc), (
+            f"\nGot:\n{_str_exc(exc)!r}\nExpected:\n{message!r}\n"
+        )
     else:
         pytest.fail("no exception raised")
 
@@ -83,7 +83,7 @@ def test_contains():
 def test_no_class():
     manager = central.ConfigManager([{"foo": 
basics.HardCodedConfigSection({})}])
     check_error(
-        "Collapsing section named 'foo':\n" "no class specified",
+        "Collapsing section named 'foo':\nno class specified",
         manager.collapse_named_section,
         "foo",
     )
@@ -113,7 +113,7 @@ def test_unknown_type():
         [{"spork": basics.HardCodedConfigSection({"class": drawer, "foon": 
None})}]
     )
     check_error(
-        "Collapsing section named 'spork':\n" "Type of 'foon' unknown",
+        "Collapsing section named 'spork':\nType of 'foon' unknown",
         manager.collapse_named_section,
         "spork",
     )
@@ -134,8 +134,7 @@ def test_missing_inherit_target():
         [RemoteSource()],
     )
     check_error(
-        "Collapsing section named 'myrepo':\n"
-        "Inherit target 'baserepo' cannot be found",
+        "Collapsing section named 'myrepo':\nInherit target 'baserepo' cannot 
be found",
         get_config_obj,
         manager,
         "repo",
@@ -162,7 +161,7 @@ def test_inherit_unknown_type():
         ]
     )
     check_error(
-        "Collapsing section named 'actual repo':\n" "Type of 'cache' unknown",
+        "Collapsing section named 'actual repo':\nType of 'cache' unknown",
         get_config_obj,
         manager,
         "repo",
@@ -356,9 +355,9 @@ def test_reload():
     manager.reload()
     newspork = manager.collapse_named_section("spork")
     assert collapsedspork is not newspork
-    assert (
-        "modded" == newspork.instantiate()
-    ), "it did not throw away the cached instance"
+    assert "modded" == newspork.instantiate(), (
+        "it did not throw away the cached instance"
+    )
     assert types is not manager.types
 
 
@@ -559,7 +558,7 @@ def test_recursive_inherit():
         ]
     )
     check_error(
-        "Collapsing section named 'spork':\n" "Inherit 'spork' is recursive",
+        "Collapsing section named 'spork':\nInherit 'spork' is recursive",
         get_config_obj,
         manager,
         "drawer",
@@ -918,7 +917,7 @@ def test_inherit_only():
         [RemoteSource()],
     )
     check_error(
-        "Collapsing section named 'source':\n" "cannot collapse inherit-only 
section",
+        "Collapsing section named 'source':\ncannot collapse inherit-only 
section",
         manager.collapse_named_section,
         "source",
     )
@@ -938,7 +937,7 @@ def test_self_inherit():
         [RemoteSource()],
     )
     check_error(
-        "Collapsing section named 'self':\n" "Self-inherit 'self' cannot be 
found",
+        "Collapsing section named 'self':\nSelf-inherit 'self' cannot be 
found",
         get_config_obj,
         manager,
         "drawer",

diff --git a/tests/config/test_init.py b/tests/config/test_init.py
index c3cfbac8..99231d07 100644
--- a/tests/config/test_init.py
+++ b/tests/config/test_init.py
@@ -15,13 +15,13 @@ class TestConfigLoading:
     @pytest.fixture
     def user_config(self, tmp_path):
         user_config = tmp_path / "user.conf"
-        user_config.write_text("[foo]\n" "class = 
tests.config.test_init.passthrough\n")
+        user_config.write_text("[foo]\nclass = 
tests.config.test_init.passthrough\n")
         return str(user_config)
 
     @pytest.fixture
     def system_config(self, tmp_path):
         system_config = tmp_path / "system.conf"
-        system_config.write_text("[foo]\n" "class = also invalid\n")
+        system_config.write_text("[foo]\nclass = also invalid\n")
         return str(system_config)
 
     def test_load_config(self, user_config):

diff --git a/tests/ebuild/test_atom.py b/tests/ebuild/test_atom.py
index 3fa193ae..cc953899 100644
--- a/tests/ebuild/test_atom.py
+++ b/tests/ebuild/test_atom.py
@@ -540,12 +540,12 @@ class TestAtom(TestRestriction):
     def test_intersects(self, this, that, result):
         this_atom = self.kls(this)
         that_atom = self.kls(that)
-        assert result == this_atom.intersects(
-            that_atom
-        ), f"{this} intersecting {that} should be {result}"
-        assert result == that_atom.intersects(
-            this_atom
-        ), f"{that} intersecting {this} should be {result}"
+        assert result == this_atom.intersects(that_atom), (
+            f"{this} intersecting {that} should be {result}"
+        )
+        assert result == that_atom.intersects(this_atom), (
+            f"{that} intersecting {this} should be {result}"
+        )
 
     def test_comparison(self):
         assert_equal_bidirectional(self.kls("cat/pkg"), self.kls("cat/pkg"))
@@ -583,18 +583,18 @@ class TestAtom(TestRestriction):
         assert_not_equal_bidirectional(self.kls("cat/pkg:1"), 
self.kls("cat/pkg"))
         assert_equal_bidirectional(self.kls("cat/pkg:2"), 
self.kls("cat/pkg:2"))
         for lesser, greater in (("0.1", "1"), ("1", "1-r1"), ("1.1", "1.2")):
-            assert self.kls(f"=d/b-{lesser}") < self.kls(
-                f"=d/b-{greater}"
-            ), f"d/b-{lesser} < d/b-{greater}"
-            assert not (
-                self.kls(f"=d/b-{lesser}") > self.kls(f"=d/b-{greater}")
-            ), f"!: d/b-{lesser} < d/b-{greater}"
-            assert self.kls(f"=d/b-{greater}") > self.kls(
-                f"=d/b-{lesser}"
-            ), f"d/b-{greater} > d/b-{lesser}"
-            assert not (
-                self.kls(f"=d/b-{greater}") < self.kls(f"=d/b-{lesser}")
-            ), f"!: d/b-{greater} > d/b-{lesser}"
+            assert self.kls(f"=d/b-{lesser}") < self.kls(f"=d/b-{greater}"), (
+                f"d/b-{lesser} < d/b-{greater}"
+            )
+            assert not (self.kls(f"=d/b-{lesser}") > 
self.kls(f"=d/b-{greater}")), (
+                f"!: d/b-{lesser} < d/b-{greater}"
+            )
+            assert self.kls(f"=d/b-{greater}") > self.kls(f"=d/b-{lesser}"), (
+                f"d/b-{greater} > d/b-{lesser}"
+            )
+            assert not (self.kls(f"=d/b-{greater}") < 
self.kls(f"=d/b-{lesser}")), (
+                f"!: d/b-{greater} > d/b-{lesser}"
+            )
 
         assert self.kls("!!=d/b-1", eapi="2") > self.kls("!=d/b-1")
         assert self.kls("!=d/b-1") < self.kls("!!=d/b-1")

diff --git a/tests/ebuild/test_conditionals.py 
b/tests/ebuild/test_conditionals.py
index cce9efdd..fe7eb331 100644
--- a/tests/ebuild/test_conditionals.py
+++ b/tests/ebuild/test_conditionals.py
@@ -360,8 +360,8 @@ class TestDepSetEvaluate(base):
                 kls = str
             orig = self.gen_depset(src, element_kls=kls, **kwds)
             collapsed = orig.evaluate_depset(use, tristate_filter=tristate)
-            assert (
-                str(collapsed) == result
-            ), f"expected {result!r} got {collapsed!r}\nraw depset: 
{src!r}\nuse: {use!r}, tristate: {tristate!r}"
+            assert str(collapsed) == result, (
+                f"expected {result!r} got {collapsed!r}\nraw depset: 
{src!r}\nuse: {use!r}, tristate: {tristate!r}"
+            )
             if not ("?" in src or kwds.get("transitive_use_atoms")):
                 assert orig is collapsed

diff --git a/tests/ebuild/test_ebuild_src.py b/tests/ebuild/test_ebuild_src.py
index f34c9c94..70c1070e 100644
--- a/tests/ebuild/test_ebuild_src.py
+++ b/tests/ebuild/test_ebuild_src.py
@@ -381,7 +381,7 @@ class TestBase:
 
         f = self.get_pkg(
             {
-                "SRC_URI": "http://foo.com/monkey.tgz " "http://dar/boon.tgz";,
+                "SRC_URI": "http://foo.com/monkey.tgz http://dar/boon.tgz";,
                 "EAPI": "2",
             },
             repo=parent,
@@ -407,7 +407,7 @@ class TestBase:
 
         # verify it collapses multiple basenames down to the same.
         f = self.get_pkg(
-            {"SRC_URI": "http://foo.com/monkey.tgz " 
"http://foo.com2/monkey.tgz"},
+            {"SRC_URI": "http://foo.com/monkey.tgz 
http://foo.com2/monkey.tgz"},
             repo=parent,
         ).fetchables
         assert list(f[0].uri) == [
@@ -478,7 +478,7 @@ class TestBase:
         )
         f = self.get_pkg(
             {
-                "SRC_URI": "http://foo.com/monkey.tgz " 
"mirror://mirror1/boon.tgz",
+                "SRC_URI": "http://foo.com/monkey.tgz 
mirror://mirror1/boon.tgz",
                 "RESTRICT": "primaryuri",
             },
             repo=parent,
@@ -509,9 +509,9 @@ class TestBase:
             # Check all EAPIs for REQUIRED_USE parsing, EAPIs that don't 
support it
             # should return depsets that evaluate to False.
             pkg = self.get_pkg({"EAPI": eapi_str, "REQUIRED_USE": "test? ( foo 
)"})
-            assert (
-                bool(pkg.required_use) == eapi.options.has_required_use
-            ), f"failure parsing REQUIRED_USE for EAPI '{eapi}'"
+            assert bool(pkg.required_use) == eapi.options.has_required_use, (
+                f"failure parsing REQUIRED_USE for EAPI '{eapi}'"
+            )
 
             # Render various REQUIRED_USE deps with set USE flag states and
             # check for satisfiability.

diff --git a/tests/ebuild/test_eclass.py b/tests/ebuild/test_eclass.py
index 1d71d81e..13a6223c 100644
--- a/tests/ebuild/test_eclass.py
+++ b/tests/ebuild/test_eclass.py
@@ -132,12 +132,7 @@ class TestEclassDoc:
             "Somehow."
         )
         assert doc.example == (
-            "\n\n"
-            "::\n\n"
-            "  inherit foo\n\n"
-            "  src_prepare() {\n"
-            "    foo_public_func\n"
-            "  }"
+            "\n\n::\n\n  inherit foo\n\n  src_prepare() {\n    
foo_public_func\n  }"
         )
         assert doc.supported_eapis == frozenset(map(str, range(8)))
 

diff --git a/tests/ebuild/test_formatter.py b/tests/ebuild/test_formatter.py
index 170fb8ca..c84de67a 100644
--- a/tests/ebuild/test_formatter.py
+++ b/tests/ebuild/test_formatter.py
@@ -50,13 +50,13 @@ class BaseFormatterTest:
                 try:
                     ret = self.formatterClass.format(internal_self, *args, 
**kwds)
                 except Exception as exc:
-                    assert (
-                        autoline == self.fakeout.autoline
-                    ), f"exception thrown {exc}, autoline was {autoline}, now 
is {self.fakeout.autoline}"
+                    assert autoline == self.fakeout.autoline, (
+                        f"exception thrown {exc}, autoline was {autoline}, now 
is {self.fakeout.autoline}"
+                    )
                     raise
-                assert (
-                    autoline == self.fakeout.autoline
-                ), f"autoline was {autoline}, now is {self.fakeout.autoline}"
+                assert autoline == self.fakeout.autoline, (
+                    f"autoline was {autoline}, now is {self.fakeout.autoline}"
+                )
                 return ret
 
         return state_verifying_class
@@ -164,7 +164,7 @@ class TestPkgcoreFormatter(BaseFormatterTest):
                 FakeMutatedPkg("dev-util/diffball-1.1"),
             )
         )
-        self.assertOut("replace dev-util/diffball-1.1, " 
"dev-util/diffball-1.2")
+        self.assertOut("replace dev-util/diffball-1.1, dev-util/diffball-1.2")
 
     def test_reinstall_repo(self):
         self.formatter.format(
@@ -178,9 +178,7 @@ class TestPkgcoreFormatter(BaseFormatterTest):
                 FakeMutatedPkg("dev-util/diffball-1.1"),
             )
         )
-        self.assertOut(
-            "replace dev-util/diffball-1.1, " "dev-util/diffball-1.2::gentoo"
-        )
+        self.assertOut("replace dev-util/diffball-1.1, 
dev-util/diffball-1.2::gentoo")
 
 
 class CountingFormatterTest(BaseFormatterTest):

diff --git a/tests/ebuild/test_profiles.py b/tests/ebuild/test_profiles.py
index 47fcf8b5..f1b54863 100644
--- a/tests/ebuild/test_profiles.py
+++ b/tests/ebuild/test_profiles.py
@@ -77,13 +77,14 @@ class profile_mixin:
             )
             assert isinstance(got, tuple), f"key {key!r}, non tuple: {got!r}"
             assert not isinstance(got, bare_kls), (
-                f"key {key!r}, bare {bare_kls.__name__}, " f"rather than 
tuple: {got!r}"
+                f"key {key!r}, bare {bare_kls.__name__}, rather than tuple: 
{got!r}"
             )
-            assert all(
-                isinstance(x, bare_kls) for x in got
-            ), f"non {bare_kls.__name__} instance: key {key!r}, got {got!r}; 
types {list(map(type, got))}"
-            got2, desired2 = tuple(map(reformat_f, got)), tuple(
-                map(reformat_f, desired)
+            assert all(isinstance(x, bare_kls) for x in got), (
+                f"non {bare_kls.__name__} instance: key {key!r}, got {got!r}; 
types {list(map(type, got))}"
+            )
+            got2, desired2 = (
+                tuple(map(reformat_f, got)),
+                tuple(map(reformat_f, desired)),
             )
             assert got2 == desired2
 

diff --git a/tests/ebuild/test_repository.py b/tests/ebuild/test_repository.py
index 10c0b93b..1bb4c853 100644
--- a/tests/ebuild/test_repository.py
+++ b/tests/ebuild/test_repository.py
@@ -304,14 +304,14 @@ class TestSlavedTree(TestUnconfiguredTree):
         for license in master_licenses:
             (master_repo / "licenses" / license).touch()
         (master_repo / "profiles" / "license_groups").write_text(
-            f'FREE {" ".join(master_licenses)}\nOSI-APPROVED @FREE\n'
+            f"FREE {' '.join(master_licenses)}\nOSI-APPROVED @FREE\n"
         )
 
         (slave_repo / "licenses").mkdir()
         for license in slave_licenses:
             (slave_repo / "licenses" / license).touch()
         (slave_repo / "profiles" / "license_groups").write_text(
-            f'MISC-FREE @FREE {" ".join(slave_licenses)}\nFSF-APPROVED 
MIT\nOSI-APPROVED @FSF-APPROVED\n'
+            f"MISC-FREE @FREE {' '.join(slave_licenses)}\nFSF-APPROVED 
MIT\nOSI-APPROVED @FSF-APPROVED\n"
         )
 
         repo = self.mk_tree(slave_repo)

diff --git a/tests/fs/test_contents.py b/tests/fs/test_contents.py
index 5896d797..dbee4945 100644
--- a/tests/fs/test_contents.py
+++ b/tests/fs/test_contents.py
@@ -236,9 +236,9 @@ class TestContentsSet:
         cset2 = contents.contentsSet(data2)
         f = getattr(cset1, name)
         got = f(cset2)
-        assert (
-            got == required
-        ), f"{name}: expected {required}, got 
{got}\ncset1={cset1!r}\ncset2={cset2!r}"
+        assert got == required, (
+            f"{name}: expected {required}, got 
{got}\ncset1={cset1!r}\ncset2={cset2!r}"
+        )
 
     @pytest.mark.parametrize(
         ("required", "data1", "data2"),

diff --git a/tests/merge/test_triggers.py b/tests/merge/test_triggers.py
index 08d0402d..140ca320 100644
--- a/tests/merge/test_triggers.py
+++ b/tests/merge/test_triggers.py
@@ -111,12 +111,12 @@ class TestBase:
             " for required_csets=None"
         )
 
-        assert get_csets([1, 2], {1: 1, 2: 2}) == [
-            [1, 2]
-        ], "basic mapping through failed"
-        assert get_csets([], {}) == [
-            []
-        ], "for no required csets, must have no args passed"
+        assert get_csets([1, 2], {1: 1, 2: 2}) == [[1, 2]], (
+            "basic mapping through failed"
+        )
+        assert get_csets([], {}) == [[]], (
+            "for no required csets, must have no args passed"
+        )
 
 
 def test_module_constants():

diff --git a/tests/pkgsets/test_glsa.py b/tests/pkgsets/test_glsa.py
index 4ad975c7..442e0883 100644
--- a/tests/pkgsets/test_glsa.py
+++ b/tests/pkgsets/test_glsa.py
@@ -49,15 +49,15 @@ class TestGlsaDirSet:
         restrict = restrict[0]
         for ver in ver_matches:
             pkg = cpv.VersionedCPV(f"dev-util/diffball-{ver}")
-            assert restrict.match(
-                pkg
-            ), f"pkg {pkg} must match for {vuln_range!r}: {restrict}"
+            assert restrict.match(pkg), (
+                f"pkg {pkg} must match for {vuln_range!r}: {restrict}"
+            )
 
         for ver in ver_nonmatches:
             pkg = cpv.VersionedCPV(f"dev-util/diffball-{ver}")
-            assert not restrict.match(
-                pkg
-            ), "pkg {pkg} must not match for {vuln_range!r}: {restrict}"
+            assert not restrict.match(pkg), (
+                "pkg {pkg} must not match for {vuln_range!r}: {restrict}"
+            )
 
     def test_iter(self, tmp_path):
         self.mk_glsa(tmp_path, pkgs_set)

diff --git a/tests/repository/test_filtered.py 
b/tests/repository/test_filtered.py
index 7a04c21b..4585072e 100644
--- a/tests/repository/test_filtered.py
+++ b/tests/repository/test_filtered.py
@@ -70,7 +70,9 @@ class TestVisibility:
                 "dev-lib",
                 "dev-util",
             ]
-        ), "category filtering must not filter dev-lib even if there are no 
packages left post filtering"
+        ), (
+            "category filtering must not filter dev-lib even if there are no 
packages left post filtering"
+        )
 
     def test_packages_api(self):
         _, vrepo = self.setup_repos(atom("dev-util/diffball"))

diff --git a/tests/restrictions/test_delegated.py 
b/tests/restrictions/test_delegated.py
index 10eff707..3ff764d8 100644
--- a/tests/restrictions/test_delegated.py
+++ b/tests/restrictions/test_delegated.py
@@ -22,9 +22,9 @@ class Test_delegate(TestRestriction):
         for negated in (False, True):
 
             def assertIt(got, expected):
-                assert (
-                    got == expected
-                ), f"got={got!r}, expected={expected!r}, negate={negated!r}"
+                assert got == expected, (
+                    f"got={got!r}, expected={expected!r}, negate={negated!r}"
+                )
 
             y = True
             l[:] = []

diff --git a/tests/restrictions/utils.py b/tests/restrictions/utils.py
index 7d6f40aa..b29380d0 100644
--- a/tests/restrictions/utils.py
+++ b/tests/restrictions/utils.py
@@ -5,19 +5,13 @@ class TestRestriction:
         else:
             msg = "; msg=" + msg
         if negated:
-            assert not getattr(obj, mode)(
-                *args
-            ), "%r must not match %r, mode=%s, negated=%r%s" % (
-                obj,
-                args,
-                mode,
-                negated,
-                msg,
+            assert not getattr(obj, mode)(*args), (
+                f"{obj!r} must not match {args!r}, mode={mode}, 
negated={negated!r}{msg}"
             )
         else:
-            assert getattr(obj, mode)(
-                *args
-            ), "%r must match %r, mode=%s, not negated%s" % (obj, args, mode, 
msg)
+            assert getattr(obj, mode)(*args), (
+                f"{obj!r} must match {args!r}, mode={mode}, not negated{msg}"
+            )
 
     def assertMatch(self, obj, target, mode="match", negated=False, msg=None):
         return self._assertMatch(obj, (target,), mode=mode, negated=negated, 
msg=msg)

diff --git a/tests/scripts/test_pconfig.py b/tests/scripts/test_pconfig.py
index 68543361..56999968 100644
--- a/tests/scripts/test_pconfig.py
+++ b/tests/scripts/test_pconfig.py
@@ -265,11 +265,11 @@ class TestUncollapsable(ArgParseMixin):
             [
                 "section foon:",
                 " Collapsing section named 'foon'",
-                " cannot collapse inherit-only section" "",
+                " cannot collapse inherit-only section",
                 "",
                 "section spork:",
                 " Collapsing section named 'spork'",
-                " type tests.scripts.test_pconfig.spork needs settings for 
'reff'" "",
+                " type tests.scripts.test_pconfig.spork needs settings for 
'reff'",
                 "",
             ],
             spork=basics.HardCodedConfigSection({"class": spork}),

diff --git a/tests/scripts/test_pmaint.py b/tests/scripts/test_pmaint.py
index b4dc48ce..2578779b 100644
--- a/tests/scripts/test_pmaint.py
+++ b/tests/scripts/test_pmaint.py
@@ -202,9 +202,9 @@ class TestCopy(ArgParseMixin):
             "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"
+        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(
@@ -218,9 +218,9 @@ class TestCopy(ArgParseMixin):
         assert [[x.cpvstr for x in pkg] for pkg 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"
+        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(
@@ -236,9 +236,9 @@ class TestCopy(ArgParseMixin):
             "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"
+        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",
@@ -255,9 +255,9 @@ class TestCopy(ArgParseMixin):
         assert [pkg.cpvstr for pkg in 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"
+        assert config.target_repo.uninstalled == config.target_repo.replaced, (
+            "uninstalled should be the same as replaced; empty"
+        )
 
 
 class TestRegen(ArgParseMixin):

diff --git a/tests/test_gpg.py b/tests/test_gpg.py
index f59d9441..c870cb50 100644
--- a/tests/test_gpg.py
+++ b/tests/test_gpg.py
@@ -18,9 +18,9 @@ class TestSkipSignatures:
             d2 = header + d
             parsed = list(gpg.skip_signatures(d2))
             required = [d[0], d[1], d[-1]]
-            assert (
-                parsed == required
-            ), f"{parsed!r} != {required!r} for header {header!r}"
+            assert parsed == required, (
+                f"{parsed!r} != {required!r} for header {header!r}"
+            )
 
     def test_signed_signed(self):
         d = [

diff --git a/tests/util/test_parserestrict.py b/tests/util/test_parserestrict.py
index 328c921e..4299441c 100644
--- a/tests/util/test_parserestrict.py
+++ b/tests/util/test_parserestrict.py
@@ -34,18 +34,18 @@ class TestExtendedRestrictionGeneration:
 
         for token in ("*", ""):
             i = parserestrict.convert_glob(token)
-            assert (
-                i == None
-            ), f"verifying None is returned on pointless restrictions, failed 
token: {token}"
+            assert i == None, (
+                f"verifying None is returned on pointless restrictions, failed 
token: {token}"
+            )
 
         with pytest.raises(parserestrict.ParseError):
             parserestrict.convert_glob("**")
 
     def verify_restrict(self, restrict, attr, token):
         assert isinstance(restrict, packages.PackageRestriction), token
-        assert (
-            restrict.attr == attr
-        ), f"verifying package attr {restrict.attr}; required({attr}), token 
{token}"
+        assert restrict.attr == attr, (
+            f"verifying package attr {restrict.attr}; required({attr}), token 
{token}"
+        )
 
         if "*" in token:
             self.verify_text_glob(restrict.restriction, token)
@@ -67,9 +67,9 @@ class TestExtendedRestrictionGeneration:
         self.verify_restrict(i, attr, raw_token)
 
     def test_combined(self):
-        assert isinstance(
-            parserestrict.parse_match("dev-util/diffball"), atom
-        ), "dev-util/diffball"
+        assert isinstance(parserestrict.parse_match("dev-util/diffball"), 
atom), (
+            "dev-util/diffball"
+        )
         for token in ("dev-*/util", "dev-*/util*", "dev-a/util*"):
             i = parserestrict.parse_match(token)
             assert isinstance(i, boolean.AndRestriction), token
@@ -144,9 +144,9 @@ class TestExtendedRestrictionGeneration:
             self.verify_restrict(i[3], attr, token.split(":")[0].split("/")[n])
 
     def test_atom_globbed(self):
-        assert isinstance(
-            parserestrict.parse_match("=sys-devel/gcc-4*"), atom
-        ), "=sys-devel/gcc-4*"
+        assert isinstance(parserestrict.parse_match("=sys-devel/gcc-4*"), 
atom), (
+            "=sys-devel/gcc-4*"
+        )
 
     def test_use_atom(self):
         o = parserestrict.parse_match("net-misc/openssh[-X]")


Reply via email to