Files
facefusion/tests/test_logger.py
2026-11-07 15:30:58 +01:00

85 lines
2.0 KiB
Python

import logging
from typing import Iterator
import pytest
from _pytest.logging import LogCaptureFixture
from facefusion import state_manager
from facefusion.clis.formatter import create_line_group
from facefusion.logger import create_extra, debug, disable, enable, error, get_package_logger, info, init, warn
@pytest.fixture(scope = 'module', autouse = True)
def before_all() -> None:
state_manager.init()
@pytest.fixture(scope = 'function', autouse = True)
def before_each() -> Iterator[None]:
init('debug')
yield
get_package_logger().setLevel(logging.NOTSET)
enable()
def test_init() -> None:
init('error')
assert get_package_logger().level == logging.ERROR
init('debug')
assert get_package_logger().level == logging.DEBUG
def test_get_package_logger() -> None:
assert get_package_logger().name == 'facefusion'
def test_debug(caplog : LogCaptureFixture) -> None:
debug('message', 'facefusion.core')
assert caplog.record_tuples == [ ('facefusion', logging.DEBUG, 'message') ]
def test_info(caplog : LogCaptureFixture) -> None:
info('message', 'facefusion.core')
assert caplog.record_tuples == [ ('facefusion', logging.INFO, 'message') ]
def test_warn(caplog : LogCaptureFixture) -> None:
warn('message', 'facefusion.core')
assert caplog.record_tuples == [ ('facefusion', logging.WARNING, 'message') ]
def test_error(caplog : LogCaptureFixture) -> None:
error('message', 'facefusion.core')
assert caplog.record_tuples == [ ('facefusion', logging.ERROR, 'message') ]
def test_create_extra() -> None:
assert create_extra('facefusion.core') ==\
{
'module_name': 'facefusion.core',
'line_group': create_line_group('cli', 0)
}
def test_enable_and_disable(caplog : LogCaptureFixture) -> None:
disable()
info('message', 'facefusion.core')
assert get_package_logger().disabled is True
assert caplog.messages == []
enable()
info('message', 'facefusion.core')
assert get_package_logger().disabled is False
assert caplog.messages == [ 'message' ]