77
88from abc import ABC , abstractmethod
99from time import perf_counter , sleep
10+ import logging
11+ from datetime import datetime
1012
1113import pytest
1214from tests .system_tests import BaseSystemTests
1517from uds .client import Client
1618from uds .message import RequestSID , UdsMessage , UdsMessageRecord
1719from uds .translator import BASE_TRANSLATOR
18- from uds .transport_interface import AbstractTransportInterface
20+ from uds .transport_interface import AbstractTransportInterface , TransportLogger
1921
2022
2123class AbstractClientTests (BaseSystemTests , ABC ):
2224 """Abstract definition of System tests for UDS Client."""
2325
26+ LOGGER_NAME : str = "UDS"
27+
28+ logger : logging .Logger
29+ transport_logger : TransportLogger
2430 transport_interface_1 : AbstractTransportInterface
2531 transport_interface_2 : AbstractTransportInterface
2632
@@ -36,6 +42,20 @@ def _define_transport_interfaces(self):
3642 def configure_slow_message_reception (self ):
3743 """Change configuration of Transport Interfaces to reach timeouts easily."""
3844
45+ @classmethod
46+ def configure_logger (cls ):
47+ cls .logger = logging .getLogger (cls .LOGGER_NAME )
48+ cls .logger .setLevel (logging .INFO )
49+ date_and_time = datetime .now ().strftime ('%Y-%m-%d_%H-%M-%S' )
50+ file_handler = logging .FileHandler (filename = f"{ date_and_time } .log" , encoding = "utf-8" )
51+ file_handler .setLevel (logging .INFO )
52+ cls .logger .addHandler (file_handler )
53+ cls .transport_logger = TransportLogger (logger_name = cls .LOGGER_NAME )
54+
55+ @classmethod
56+ def setup_class (cls ):
57+ cls .configure_logger ()
58+
3959 def setup_method (self ):
4060 """
4161 Prepare for testing:
0 commit comments