mirror of
https://github.com/arcan1s/ahriman.git
synced 2026-10-27 04:56:37 +00:00
feat: only remove packages from build queue which were actually built
This commit is contained in:
1 parent
4537969d5d
commit
b73be7abcc
5 files changed
+19
-9
No files matched your search
@@ -188,6 +188,7 @@ def test_update(application_repository: ApplicationRepository, package_ahriman:
|
||||
"""
|
||||
must process package updates
|
||||
"""
|
||||
application_repository.database.build_queue_insert(package_ahriman)
|
||||
paths = [package.filepath for package in package_ahriman.packages.values()]
|
||||
tree = Tree([Leaf(package_ahriman)])
|
||||
prebuilt_result = Result()
|
||||
@@ -207,12 +208,15 @@ def test_update(application_repository: ApplicationRepository, package_ahriman:
|
||||
update_mock.assert_called_once_with(paths, Packagers("username"))
|
||||
on_result_mock.assert_has_calls([MockCall(prebuilt_result), MockCall(result)])
|
||||
|
||||
assert application_repository.database.build_queue_get() == []
|
||||
|
||||
|
||||
def test_update_prebuilt_filter(application_repository: ApplicationRepository, package_ahriman: Package, result: Result,
|
||||
mocker: MockerFixture) -> None:
|
||||
"""
|
||||
must filter out packages which were successfully prebuilt
|
||||
"""
|
||||
application_repository.database.build_queue_insert(package_ahriman)
|
||||
paths = [package.filepath for package in package_ahriman.packages.values()]
|
||||
|
||||
resolve_mock = mocker.patch("ahriman.application.application.workers.local_updater.LocalUpdater.partition",
|
||||
@@ -224,6 +228,8 @@ def test_update_prebuilt_filter(application_repository: ApplicationRepository, p
|
||||
application_repository.update([package_ahriman], Packagers("username"), bump_pkgrel=True)
|
||||
resolve_mock.assert_called_once_with([])
|
||||
|
||||
assert application_repository.database.build_queue_get() == []
|
||||
|
||||
|
||||
def test_update_empty(application_repository: ApplicationRepository, package_ahriman: Package, result: Result,
|
||||
mocker: MockerFixture) -> None:
|
||||
|
||||
@@ -361,17 +361,16 @@ def test_updates_local_held_metadata(update_handler: UpdateHandler, package_ahri
|
||||
assert update_handler.updates_local(vcs=True) == []
|
||||
|
||||
|
||||
def test_updates_manual_clear(update_handler: UpdateHandler, mocker: MockerFixture) -> None:
|
||||
def test_updates_manual_preserves_queue(update_handler: UpdateHandler, package_ahriman: Package,
|
||||
mocker: MockerFixture) -> None:
|
||||
"""
|
||||
requesting manual updates must clear packages directory
|
||||
discovery must leave manual requests queued for execution
|
||||
"""
|
||||
mocker.patch("pathlib.Path.iterdir", return_value=[])
|
||||
mocker.patch("ahriman.core.repository.update_handler.UpdateHandler.packages")
|
||||
update_handler.database.build_queue_insert(package_ahriman)
|
||||
mocker.patch("ahriman.core.repository.update_handler.UpdateHandler.packages", return_value=[package_ahriman])
|
||||
|
||||
update_handler.updates_manual()
|
||||
|
||||
from ahriman.core.repository.cleaner import Cleaner
|
||||
Cleaner.clear_queue.assert_called_once_with()
|
||||
assert update_handler.updates_manual() == [package_ahriman]
|
||||
assert update_handler.database.build_queue_get() == [package_ahriman]
|
||||
|
||||
|
||||
def test_updates_manual_status_known(update_handler: UpdateHandler, package_ahriman: Package,
|
||||
|
||||
Reference in new issue
Block a user