Ajout du GUI
This commit is contained in:
60
kivy/tests/test_logger.py
Normal file
60
kivy/tests/test_logger.py
Normal file
@@ -0,0 +1,60 @@
|
||||
"""
|
||||
Logger tests
|
||||
============
|
||||
"""
|
||||
|
||||
import pytest
|
||||
import pathlib
|
||||
import time
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def file_handler():
|
||||
# restores handler to original state
|
||||
from kivy.config import Config
|
||||
|
||||
log_dir = Config.get("kivy", "log_dir")
|
||||
log_maxfiles = Config.get("kivy", "log_maxfiles")
|
||||
|
||||
try:
|
||||
yield None
|
||||
finally:
|
||||
Config.set("kivy", "log_dir", log_dir)
|
||||
Config.set("kivy", "log_maxfiles", log_maxfiles)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('n', [0, 1, 5])
|
||||
def test_purge_logs(tmp_path, file_handler, n):
|
||||
from kivy.config import Config
|
||||
from kivy.logger import FileHandler
|
||||
|
||||
Config.set("kivy", "log_dir", str(tmp_path))
|
||||
Config.set("kivy", "log_maxfiles", n)
|
||||
|
||||
# create the default file first so it gets deleted so names match
|
||||
handler = FileHandler()
|
||||
handler._configure()
|
||||
open_file = pathlib.Path(handler.filename).name
|
||||
# wait a little so the timestamps are different for different files
|
||||
time.sleep(.05)
|
||||
|
||||
names = [f'log_{i}.txt' for i in range(n + 2)]
|
||||
for name in names:
|
||||
p = tmp_path / name
|
||||
p.write_text('some data')
|
||||
time.sleep(.05)
|
||||
|
||||
handler.purge_logs()
|
||||
|
||||
# files that should have remained after purge
|
||||
expected_names = list(reversed(names))[:n]
|
||||
files = {f.name for f in tmp_path.iterdir()}
|
||||
if open_file in files:
|
||||
# one of the remaining files is the current open log, remove it
|
||||
files.remove(open_file)
|
||||
if len(expected_names) == len(files) + 1:
|
||||
# the open log may or may not have been counted in the remaining
|
||||
# files, remove one from expected to match removed open file
|
||||
expected_names = expected_names[:-1]
|
||||
|
||||
assert set(expected_names) == files
|
||||
Reference in New Issue
Block a user