mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-05-06 05:03:49 +00:00
Compare commits
1 Commits
fa3191c2be
...
cd70445ac5
Author | SHA1 | Date | |
---|---|---|---|
cd70445ac5 |
@ -52,14 +52,6 @@ ahriman.core.tree module
|
|||||||
:no-undoc-members:
|
:no-undoc-members:
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
|
|
||||||
ahriman.core.types module
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
.. automodule:: ahriman.core.types
|
|
||||||
:members:
|
|
||||||
:no-undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
ahriman.core.util module
|
ahriman.core.util module
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
@ -99,24 +99,3 @@ class LazyLogging:
|
|||||||
yield
|
yield
|
||||||
finally:
|
finally:
|
||||||
self._package_logger_reset()
|
self._package_logger_reset()
|
||||||
|
|
||||||
@contextlib.contextmanager
|
|
||||||
def suppress_logging(self, log_level: int = logging.WARNING) -> Generator[None, None, None]:
|
|
||||||
"""
|
|
||||||
silence log messages in context
|
|
||||||
|
|
||||||
Args:
|
|
||||||
log_level(int, optional): the highest log level to keep (Default value = logging.WARNING)
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
This function is designed to be used to suppress all log messages in context, e.g.:
|
|
||||||
|
|
||||||
>>> with self.suppress_logging():
|
|
||||||
>>> do_some_noisy_actions()
|
|
||||||
"""
|
|
||||||
current_level = self.logger.manager.disable
|
|
||||||
try:
|
|
||||||
logging.disable(log_level)
|
|
||||||
yield
|
|
||||||
finally:
|
|
||||||
logging.disable(current_level)
|
|
||||||
|
@ -429,14 +429,13 @@ class Package(LazyLogging):
|
|||||||
task = Task(self, configuration, repository_id.architecture, paths)
|
task = Task(self, configuration, repository_id.architecture, paths)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
with self.suppress_logging():
|
# create fresh chroot environment, fetch sources and - automagically - update PKGBUILD
|
||||||
# create fresh chroot environment, fetch sources and - automagically - update PKGBUILD
|
task.init(paths.cache_for(self.base), [], None)
|
||||||
task.init(paths.cache_for(self.base), [], None)
|
task.build(paths.cache_for(self.base), dry_run=True)
|
||||||
task.build(paths.cache_for(self.base), dry_run=True)
|
|
||||||
|
|
||||||
pkgbuild = Pkgbuild.from_file(paths.cache_for(self.base) / "PKGBUILD")
|
pkgbuild = Pkgbuild.from_file(paths.cache_for(self.base) / "PKGBUILD")
|
||||||
|
|
||||||
return full_version(pkgbuild.get("epoch"), pkgbuild["pkgver"], pkgbuild["pkgrel"])
|
return full_version(pkgbuild.get("epoch"), pkgbuild["pkgver"], pkgbuild["pkgrel"])
|
||||||
except Exception:
|
except Exception:
|
||||||
self.logger.exception("cannot determine version of VCS package")
|
self.logger.exception("cannot determine version of VCS package")
|
||||||
finally:
|
finally:
|
||||||
|
@ -2,7 +2,6 @@ import logging
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from pytest_mock import MockerFixture
|
from pytest_mock import MockerFixture
|
||||||
from unittest.mock import call as MockCall
|
|
||||||
|
|
||||||
from ahriman.core.alpm.repo import Repo
|
from ahriman.core.alpm.repo import Repo
|
||||||
from ahriman.core.build_tools.task import Task
|
from ahriman.core.build_tools.task import Task
|
||||||
@ -11,17 +10,6 @@ from ahriman.models.log_record_id import LogRecordId
|
|||||||
from ahriman.models.package import Package
|
from ahriman.models.package import Package
|
||||||
|
|
||||||
|
|
||||||
def test_logger(database: SQLite, repo: Repo) -> None:
|
|
||||||
"""
|
|
||||||
must set logger attribute
|
|
||||||
"""
|
|
||||||
assert database.logger
|
|
||||||
assert database.logger.name == "sql"
|
|
||||||
|
|
||||||
assert repo.logger
|
|
||||||
assert repo.logger.name == "ahriman.core.alpm.repo.Repo"
|
|
||||||
|
|
||||||
|
|
||||||
def test_logger_name(database: SQLite, repo: Repo, task_ahriman: Task) -> None:
|
def test_logger_name(database: SQLite, repo: Repo, task_ahriman: Task) -> None:
|
||||||
"""
|
"""
|
||||||
must correctly generate logger name
|
must correctly generate logger name
|
||||||
@ -89,11 +77,12 @@ def test_in_package_context_failed(database: SQLite, package_ahriman: Package, m
|
|||||||
reset_mock.assert_called_once_with()
|
reset_mock.assert_called_once_with()
|
||||||
|
|
||||||
|
|
||||||
def test_suppress_logging(database: SQLite, mocker: MockerFixture) -> None:
|
def test_logger(database: SQLite, repo: Repo) -> None:
|
||||||
"""
|
"""
|
||||||
must temporary disable log messages
|
must set logger attribute
|
||||||
"""
|
"""
|
||||||
disable_mock = mocker.patch("ahriman.core.log.lazy_logging.logging.disable")
|
assert database.logger
|
||||||
with database.suppress_logging():
|
assert database.logger.name == "sql"
|
||||||
pass
|
|
||||||
disable_mock.assert_has_calls([MockCall(logging.WARNING), MockCall(logging.NOTSET)])
|
assert repo.logger
|
||||||
|
assert repo.logger.name == "ahriman.core.alpm.repo.Repo"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user