Skip to content

Commit

Permalink
Merge branch 'main' into craft-providers-1.22.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mr-cal committed Jan 31, 2024
2 parents 1a8b5b0 + 0287ad8 commit 52bad9c
Show file tree
Hide file tree
Showing 10 changed files with 60 additions and 43 deletions.
3 changes: 2 additions & 1 deletion requirements-devel.txt
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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
Expand Down
16 changes: 9 additions & 7 deletions snapcraft/commands/status.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
),
)
)

Expand Down
6 changes: 4 additions & 2 deletions snapcraft/elf/_elf_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -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():
Expand Down
6 changes: 4 additions & 2 deletions snapcraft/extensions/ros2_humble_desktop.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
6 changes: 4 additions & 2 deletions snapcraft/extensions/ros2_humble_ros_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
6 changes: 4 additions & 2 deletions snapcraft/extensions/ros2_humble_ros_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
7 changes: 4 additions & 3 deletions tests/legacy/unit/deltas/test_deltas_xdelta3.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
24 changes: 12 additions & 12 deletions tests/legacy/unit/meta/test_meta.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -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)

Expand All @@ -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"})
Expand All @@ -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"})
Expand Down
23 changes: 14 additions & 9 deletions tests/legacy/unit/pluginhandler/test_pluginhandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 == []
Expand Down
6 changes: 3 additions & 3 deletions tests/legacy/unit/store/test_store_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down

0 comments on commit 52bad9c

Please sign in to comment.