From 0287ad85cb56f920b7794c4c9fc44eef638dac8f Mon Sep 17 00:00:00 2001 From: Sheng Yu Date: Tue, 30 Jan 2024 19:25:30 -0500 Subject: [PATCH] chore(deps): update black and pyright (#4550) --- requirements-devel.txt | 3 ++- snapcraft/commands/status.py | 16 +++++++------ snapcraft/elf/_elf_file.py | 6 +++-- snapcraft/extensions/ros2_humble_desktop.py | 6 +++-- snapcraft/extensions/ros2_humble_ros_base.py | 6 +++-- snapcraft/extensions/ros2_humble_ros_core.py | 6 +++-- .../legacy/unit/deltas/test_deltas_xdelta3.py | 7 +++--- tests/legacy/unit/meta/test_meta.py | 24 +++++++++---------- .../unit/pluginhandler/test_pluginhandler.py | 23 +++++++++++------- tests/legacy/unit/store/test_store_client.py | 6 ++--- 10 files changed, 60 insertions(+), 43 deletions(-) diff --git a/requirements-devel.txt b/requirements-devel.txt index 2dbc664217..846e1cc8d1 100644 --- a/requirements-devel.txt +++ b/requirements-devel.txt @@ -1,6 +1,6 @@ astroid==2.15.8 attrs==23.2.0 -black==23.12.1 +black==24.1.1 cachetools==5.3.2 catkin-pkg==1.0.0 certifi==2023.11.17 @@ -80,6 +80,7 @@ pyparsing==3.1.1 pyproject-api==1.6.1 pyramid==2.0.2 pyRFC3339==1.1 +pyright==1.1.349 pytest==7.4.4 pytest-cov==4.1.0 pytest-mock==3.12.0 diff --git a/snapcraft/commands/status.py b/snapcraft/commands/status.py index d317645380..d9fead82f4 100644 --- a/snapcraft/commands/status.py +++ b/snapcraft/commands/status.py @@ -193,10 +193,10 @@ def _get_channel_lines_for_channel( # noqa: C901 # pylint: disable=too-many-lo channel_info = snap_channel_map.get_channel_info(channel_name) try: - progressive_mapped_channel: Optional[ - MappedChannel - ] = snap_channel_map.get_mapped_channel( - channel_name=channel_name, architecture=architecture, progressive=True + progressive_mapped_channel: Optional[MappedChannel] = ( + snap_channel_map.get_mapped_channel( + channel_name=channel_name, architecture=architecture, progressive=True + ) ) except ValueError: progressive_mapped_channel = None @@ -266,9 +266,11 @@ def _get_channel_lines_for_channel( # noqa: C901 # pylint: disable=too-many-lo revision=None, channel_info=channel_info, hint=current_tick, - progress_string=_HINTS.NO_PROGRESS - if current_tick == _HINTS.CLOSED - else progress_string, + progress_string=( + _HINTS.NO_PROGRESS + if current_tick == _HINTS.CLOSED + else progress_string + ), ) ) diff --git a/snapcraft/elf/_elf_file.py b/snapcraft/elf/_elf_file.py index 67495d6805..9cf80b84e7 100644 --- a/snapcraft/elf/_elf_file.py +++ b/snapcraft/elf/_elf_file.py @@ -260,11 +260,13 @@ def _extract_attributes(self) -> None: # noqa: C901 for tag in section.iter_tags(): if tag.entry.d_tag == "DT_NEEDED": - needed = tag.needed # pyright: ignore[reportGeneralTypeIssues] + needed = ( + tag.needed # pyright: ignore[reportAttributeAccessIssue] + ) self.needed[needed] = _NeededLibrary(name=needed) elif tag.entry.d_tag == "DT_SONAME": self.soname = ( - tag.soname # pyright: ignore[reportGeneralTypeIssues] + tag.soname # pyright: ignore[reportAttributeAccessIssue] ) for segment in elf_file.iter_segments(): diff --git a/snapcraft/extensions/ros2_humble_desktop.py b/snapcraft/extensions/ros2_humble_desktop.py index 6fd030ac86..8aeef7c5a0 100644 --- a/snapcraft/extensions/ros2_humble_desktop.py +++ b/snapcraft/extensions/ros2_humble_desktop.py @@ -28,9 +28,11 @@ class ROS2HumbleDesktopExtension(ROS2HumbleMetaBase): """Drives ROS 2 build and runtime environment for snap using content-sharing.""" - @functools.cached_property # type: ignore[reportIncompatibleMethodOverride] + @functools.cached_property @overrides - def ros2_humble_snaps(self) -> ROS2HumbleSnaps: + def ros2_humble_snaps( # type: ignore[reportIncompatibleMethodOverride] + self, + ) -> ROS2HumbleSnaps: return ROS2HumbleSnaps( sdk="ros-humble-desktop-dev", content="ros-humble-desktop", diff --git a/snapcraft/extensions/ros2_humble_ros_base.py b/snapcraft/extensions/ros2_humble_ros_base.py index 233ef775e2..040a0c1ae6 100644 --- a/snapcraft/extensions/ros2_humble_ros_base.py +++ b/snapcraft/extensions/ros2_humble_ros_base.py @@ -28,9 +28,11 @@ class ROS2HumbleRosBaseExtension(ROS2HumbleMetaBase): """Drives ROS 2 build and runtime environment for snap using content-sharing.""" - @functools.cached_property # type: ignore[reportIncompatibleMethodOverride] + @functools.cached_property @overrides - def ros2_humble_snaps(self) -> ROS2HumbleSnaps: + def ros2_humble_snaps( # type: ignore[reportIncompatibleMethodOverride] + self, + ) -> ROS2HumbleSnaps: return ROS2HumbleSnaps( sdk="ros-humble-ros-base-dev", content="ros-humble-ros-base", diff --git a/snapcraft/extensions/ros2_humble_ros_core.py b/snapcraft/extensions/ros2_humble_ros_core.py index 611582b1cd..20253c3fdb 100644 --- a/snapcraft/extensions/ros2_humble_ros_core.py +++ b/snapcraft/extensions/ros2_humble_ros_core.py @@ -28,9 +28,11 @@ class ROS2HumbleRosCoreExtension(ROS2HumbleMetaBase): """Drives ROS 2 build and runtime environment for snap using content-sharing.""" - @functools.cached_property # type: ignore[reportIncompatibleMethodOverride] + @functools.cached_property @overrides - def ros2_humble_snaps(self) -> ROS2HumbleSnaps: + def ros2_humble_snaps( # type: ignore[reportIncompatibleMethodOverride] + self, + ) -> ROS2HumbleSnaps: return ROS2HumbleSnaps( sdk="ros-humble-ros-core-dev", content="ros-humble-ros-core", diff --git a/tests/legacy/unit/deltas/test_deltas_xdelta3.py b/tests/legacy/unit/deltas/test_deltas_xdelta3.py index 15834f62a1..0370d5ab72 100644 --- a/tests/legacy/unit/deltas/test_deltas_xdelta3.py +++ b/tests/legacy/unit/deltas/test_deltas_xdelta3.py @@ -60,9 +60,10 @@ def generate_snap_pair(self): self.source_file = os.path.join(scratchdir, "source-snap") self.target_file = os.path.join(scratchdir, "target-snap") # source snap is completely random: - with open(self.source_file, "wb") as source, open( - self.target_file, "wb" - ) as target: + with ( + open(self.source_file, "wb") as source, + open(self.target_file, "wb") as target, + ): for i in range(0, snap_size, 1024): block = os.urandom(1024) source.write(block) diff --git a/tests/legacy/unit/meta/test_meta.py b/tests/legacy/unit/meta/test_meta.py index 97fe12a5f1..766f74846e 100644 --- a/tests/legacy/unit/meta/test_meta.py +++ b/tests/legacy/unit/meta/test_meta.py @@ -900,9 +900,9 @@ def assert_scriptlets_satisfy_required_property( del self.config_data[keyword] del self.config_data["parts"]["test-part"]["parse-info"] - self.config_data["parts"]["test-part"][ - "override-prime" - ] = "snapcraftctl {} {}\nsnapcraftctl prime".format(setter, value) + self.config_data["parts"]["test-part"]["override-prime"] = ( + "snapcraftctl {} {}\nsnapcraftctl prime".format(setter, value) + ) generated = self.generate_meta_yaml(build=True) @@ -916,9 +916,9 @@ def assert_scriptlets_no_overwrite_existing_property( self.useFixture(fake_logger) del self.config_data["parts"]["test-part"]["parse-info"] - self.config_data["parts"]["test-part"][ - "override-prime" - ] = "snapcraftctl {} {}\nsnapcraftctl prime".format(setter, value) + self.config_data["parts"]["test-part"]["override-prime"] = ( + "snapcraftctl {} {}\nsnapcraftctl prime".format(setter, value) + ) generated = self.generate_meta_yaml(build=True) @@ -940,9 +940,9 @@ def assert_scriptlets_overwrite_extracted_metadata( with contextlib.suppress(KeyError): del self.config_data[keyword] - self.config_data["parts"]["test-part"][ - "override-build" - ] = "snapcraftctl build && snapcraftctl {} {}".format(setter, value) + self.config_data["parts"]["test-part"]["override-build"] = ( + "snapcraftctl build && snapcraftctl {} {}".format(setter, value) + ) def _fake_extractor(file_path, workdir): return extractors.ExtractedMetadata(**{keyword: "extracted-value"}) @@ -959,9 +959,9 @@ def assert_scriptlets_overwrite_extracted_metadata_regardless_of_order( with contextlib.suppress(KeyError): del self.config_data[keyword] - self.config_data["parts"]["test-part"][ - "override-pull" - ] = "snapcraftctl {} {} && snapcraftctl pull".format(setter, value) + self.config_data["parts"]["test-part"]["override-pull"] = ( + "snapcraftctl {} {} && snapcraftctl pull".format(setter, value) + ) def _fake_extractor(file_path, workdir): return extractors.ExtractedMetadata(**{keyword: "extracted-value"}) diff --git a/tests/legacy/unit/pluginhandler/test_pluginhandler.py b/tests/legacy/unit/pluginhandler/test_pluginhandler.py index dc505b4188..d65989f191 100644 --- a/tests/legacy/unit/pluginhandler/test_pluginhandler.py +++ b/tests/legacy/unit/pluginhandler/test_pluginhandler.py @@ -1360,15 +1360,20 @@ def test_stage_packages_offline(self): self.useFixture(fixtures.EnvironmentVariable("SNAPCRAFT_OFFLINE", "True")) part = self.load_part("offline-test", plugin_name="nil") - with patch( - "snapcraft_legacy.internal.pluginhandler.PluginHandler._fetch_stage_packages" - ) as fetch_stage_packages, patch( - "snapcraft_legacy.internal.pluginhandler.PluginHandler._fetch_stage_snaps" - ) as fetch_stage_snaps, patch( - "snapcraft_legacy.internal.pluginhandler.PluginHandler._unpack_stage_packages" - ) as unpack_stage_packages, patch( - "snapcraft_legacy.internal.pluginhandler.PluginHandler._unpack_stage_snaps" - ) as unpack_stage_snaps: + with ( + patch( + "snapcraft_legacy.internal.pluginhandler.PluginHandler._fetch_stage_packages" + ) as fetch_stage_packages, + patch( + "snapcraft_legacy.internal.pluginhandler.PluginHandler._fetch_stage_snaps" + ) as fetch_stage_snaps, + patch( + "snapcraft_legacy.internal.pluginhandler.PluginHandler._unpack_stage_packages" + ) as unpack_stage_packages, + patch( + "snapcraft_legacy.internal.pluginhandler.PluginHandler._unpack_stage_snaps" + ) as unpack_stage_snaps, + ): part.prepare_pull() assert fetch_stage_packages.mock_calls == [] diff --git a/tests/legacy/unit/store/test_store_client.py b/tests/legacy/unit/store/test_store_client.py index 6dcdf8e810..ef89aa0eb1 100644 --- a/tests/legacy/unit/store/test_store_client.py +++ b/tests/legacy/unit/store/test_store_client.py @@ -422,9 +422,9 @@ def test_post_invalid_sequence_for_build_assertion(self): def _fake_sign(self, build_assertion: validation_sets.BuildAssertion) -> bytes: # Fake sign. assertion_json = build_assertion.marshal() - assertion_json[ - "sign-key-sha3-384" - ] = "XSignXKeyXHashXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + assertion_json["sign-key-sha3-384"] = ( + "XSignXKeyXHashXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + ) return (json.dumps(assertion_json) + "\n\nSIGNED").encode() def test_post_valid_assertion(self):