PyCIRCLean/tests/test_filecheck_logging.py

48 lines
1.8 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
from datetime import datetime
import pytest # type: ignore
try:
from filecheck.filecheck import KittenGroomerFileCheck
NODEPS = False
except ImportError:
NODEPS = True
pytestmark = pytest.mark.skipif(NODEPS, reason="Dependencies aren't installed")
def save_logs(groomer, test_description):
divider = ('=' * 10 + '{}' + '=' * 10 + '\n')
test_log_path = 'tests/{}.log'.format(test_description)
time_now = str(datetime.now().time()) + '\n'
with open(test_log_path, 'wb+') as test_log:
test_log_header = divider.format('TEST LOG')
test_log.write(bytes(test_log_header, encoding='utf-8'))
test_log.write(bytes(time_now, encoding='utf-8'))
test_log.write(bytes(test_description, encoding='utf-8'))
test_log.write(b'\n')
log_header = divider.format('STD LOG')
test_log.write(bytes(log_header, encoding='utf-8'))
with open(groomer.logger.log_path, 'rb') as logfile:
log = logfile.read()
test_log.write(log)
if os.path.exists(groomer.logger.log_debug_err):
test_log.write(bytes(divider.format('ERR LOG'), encoding='utf-8'))
with open(groomer.logger.log_debug_err, 'rb') as debug_err:
err = debug_err.read()
test_log.write(err)
if os.path.exists(groomer.logger.log_debug_out):
test_log.write(bytes(divider.format('OUT LOG'), encoding='utf-8'))
with open(groomer.logger.log_debug_out, 'rb') as debug_out:
out = debug_out.read()
test_log.write(out)
def test_logging(tmpdir):
groomer = KittenGroomerFileCheck('tests/logging/', tmpdir.strpath)
groomer.run()
save_logs(groomer, "visual_logging_test")