Files
pmaports-rtwo/.ci/testcases/test_ui.py
T
Pablo Correa Gómez d035338047 ci: fix remaining ruff issues and run ruff format
We only disable LOG015 rule, as in the simple situation of pmaports,
it doesn't matter too much if in pytest we are using the root logger
or a custom one.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9363>
2026-08-12 05:39:47 +00:00

49 lines
1.8 KiB
Python

# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
from pathlib import Path
import common
import pmb.parse
from pmb.core.arch import Arch
def test_aports_ui():
"""
Raise an error if package in _pmb_recommends is not found
"""
pmaports_cfg = pmb.config.pmaports.read_config()
for arch_string in pmaports_cfg["supported_arches"].split(","):
for path in common.get_changed_files():
arch = Arch(arch_string)
path = Path(path)
if path.name != "APKBUILD":
continue
if not path.parent.name.startswith("postmarketos-ui"):
continue
apkbuild = pmb.parse.apkbuild(path)
# Skip if arch isn't enabled
if arch not in Arch.from_arch_field(apkbuild["arch"]):
continue
for package in apkbuild["_pmb_recommends"]:
depend = pmb.helpers.package.get(package, arch, must_exist=False)
if depend is None:
raise RuntimeError(
f"{path}: package '{package}' from"
f" _pmb_recommends not found for arch '{arch}'"
)
# Check packages from "_pmb_recommends" of -extras subpackage if one exists
if f"{apkbuild['pkgname']}-extras" in apkbuild["subpackages"]:
apkbuild = apkbuild["subpackages"][f"{apkbuild['pkgname']}-extras"]
for package in apkbuild["_pmb_recommends"]:
depend = pmb.helpers.package.get(package, arch, must_exist=False)
if depend is None:
raise RuntimeError(
f"{path}: package '{package}' from _pmb_recommends "
f"of -extras subpackage is not found for arch '{arch}'"
)