mirror of
https://github.com/arcan1s/ahriman.git
synced 2026-04-07 19:03:38 +00:00
Compare commits
17 Commits
56d5478216
...
93ccf7aa62
| Author | SHA1 | Date | |
|---|---|---|---|
| 93ccf7aa62 | |||
| 5d783eff4a | |||
| 69aadb4e8b | |||
| 4e996c4ed9 | |||
| 4f4d2a4c01 | |||
| 2e5382bd5b | |||
| 77d56f701f | |||
| b4435552d0 | |||
| 5441990ecb | |||
| fa0b7f2334 | |||
| c234123560 | |||
| 1f47d52719 | |||
| 2750c85b87 | |||
| c776c1c4a1 | |||
| acf3df2222 | |||
| 799dc73d8a | |||
| 4e79cbf71a |
@@ -23,6 +23,7 @@ from ahriman.core.build_tools.sources import Sources
|
||||
from ahriman.core.exceptions import UnknownPackageError
|
||||
from ahriman.core.repository.cleaner import Cleaner
|
||||
from ahriman.core.repository.package_info import PackageInfo
|
||||
from ahriman.models.build_status import BuildStatusEnum
|
||||
from ahriman.models.event import EventType
|
||||
from ahriman.models.package import Package
|
||||
from ahriman.models.package_source import PackageSource
|
||||
@@ -71,6 +72,8 @@ class UpdateHandler(PackageInfo, Cleaner):
|
||||
self.reporter.set_pending(local.base)
|
||||
self.event(local.base, EventType.PackageOutdated, "Remote version is newer than local")
|
||||
result.append(remote)
|
||||
else:
|
||||
self.reporter.package_status_update(local.base, BuildStatusEnum.Success)
|
||||
except Exception:
|
||||
self.reporter.set_failed(local.base)
|
||||
self.logger.exception("could not load remote package %s", local.base)
|
||||
@@ -79,7 +82,8 @@ class UpdateHandler(PackageInfo, Cleaner):
|
||||
|
||||
def updates_dependencies(self, filter_packages: Iterable[str]) -> list[Package]:
|
||||
"""
|
||||
check packages which ae required to be rebuilt based on dynamic dependencies (e.g. linking, modules paths, etc.)
|
||||
check packages which are required to be rebuilt based on dynamic dependencies
|
||||
(e.g. linking, modules paths, etc.)
|
||||
|
||||
Args:
|
||||
filter_packages(Iterable[str]): do not check every package just specified in the list
|
||||
|
||||
@@ -205,7 +205,7 @@ class Package(LazyLogging):
|
||||
package = pacman.handle.load_pkg(str(path))
|
||||
description = PackageDescription.from_package(package, path)
|
||||
return cls(
|
||||
base=package.base,
|
||||
base=package.base or package.name,
|
||||
version=package.version,
|
||||
remote=RemoteSource(source=PackageSource.Archive),
|
||||
packages={package.name: description},
|
||||
|
||||
@@ -6,6 +6,7 @@ from typing import Any
|
||||
|
||||
from ahriman.core.exceptions import UnknownPackageError
|
||||
from ahriman.core.repository.update_handler import UpdateHandler
|
||||
from ahriman.models.build_status import BuildStatusEnum
|
||||
from ahriman.models.dependencies import Dependencies
|
||||
from ahriman.models.event import EventType
|
||||
from ahriman.models.package import Package
|
||||
@@ -66,6 +67,20 @@ def test_updates_aur_failed(update_handler: UpdateHandler, package_ahriman: Pack
|
||||
status_client_mock.assert_called_once_with(package_ahriman.base)
|
||||
|
||||
|
||||
def test_updates_aur_up_to_date(update_handler: UpdateHandler, package_ahriman: Package,
|
||||
mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must set success status for packages which are not out-of-dated
|
||||
"""
|
||||
mocker.patch("ahriman.core.repository.update_handler.UpdateHandler.packages", return_value=[package_ahriman])
|
||||
mocker.patch("ahriman.models.package.Package.from_aur", return_value=package_ahriman)
|
||||
mocker.patch("ahriman.models.package.Package.is_outdated", return_value=False)
|
||||
status_client_mock = mocker.patch("ahriman.core.status.local_client.LocalClient.package_status_update")
|
||||
|
||||
assert update_handler.updates_aur([], vcs=True) == []
|
||||
status_client_mock.assert_called_once_with(package_ahriman.base, BuildStatusEnum.Success)
|
||||
|
||||
|
||||
def test_updates_aur_local(update_handler: UpdateHandler, package_ahriman: Package,
|
||||
mocker: MockerFixture) -> None:
|
||||
"""
|
||||
|
||||
@@ -2,7 +2,7 @@ import copy
|
||||
|
||||
from pathlib import Path
|
||||
from pytest_mock import MockerFixture
|
||||
from unittest.mock import MagicMock, call as MockCall
|
||||
from unittest.mock import MagicMock, PropertyMock, call as MockCall
|
||||
|
||||
from ahriman.core.alpm.pacman import Pacman
|
||||
from ahriman.core.configuration import Configuration
|
||||
@@ -163,6 +163,23 @@ def test_from_archive(package_ahriman: Package, pyalpm_handle: MagicMock, mocker
|
||||
assert generated == package_ahriman
|
||||
|
||||
|
||||
def test_from_archive_empty_base(package_ahriman: Package, pyalpm_package_ahriman: MagicMock,
|
||||
mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must construct package with empty base from alpm library
|
||||
"""
|
||||
pyalpm_handle = MagicMock()
|
||||
type(pyalpm_package_ahriman).base = PropertyMock(return_value=None)
|
||||
pyalpm_handle.handle.load_pkg.return_value = pyalpm_package_ahriman
|
||||
|
||||
mocker.patch("ahriman.models.package_description.PackageDescription.from_package",
|
||||
return_value=package_ahriman.packages[package_ahriman.base])
|
||||
generated = Package.from_archive(Path("path"), pyalpm_handle)
|
||||
generated.remote = package_ahriman.remote
|
||||
|
||||
assert generated == package_ahriman
|
||||
|
||||
|
||||
def test_from_aur(package_ahriman: Package, aur_package_ahriman: AURPackage, mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must construct package from aur
|
||||
|
||||
Reference in New Issue
Block a user