sceptic-biomem/ScEpTIC/config/result_output_config.py
2026-07-10 10:38:57 +02:00

56 lines
1.8 KiB
Python

from ScEpTIC.config.base_config import ScEpTICBaseConfig
class ResultOutputConfig(ScEpTICBaseConfig):
"""
ScEpTIC analysis result output data configuration
"""
_config_domain = {
'enabled': {'class': bool, 'mode': 'set'},
'test_name': {'class': str, 'mode': 'set'},
'save_analysis_output': {'class': bool, 'mode': 'set'},
'save_code': {'class': bool, 'mode': 'set'},
'save_state': {'class': bool, 'mode': 'set'},
'save_directory': {'class': str, 'mode': 'set'},
'dir_append_datetime': {'class': bool, 'mode': 'set'},
'save_results_after_exception': {'class': bool, 'mode': 'set'},
'enable_write_trace': {'class': bool, 'mode': 'set'},
'write_trace_directory': {'class':str, 'mode': 'set'},
'physical_mmu_log_operation': {'class':bool, 'mode': 'set'},
}
def __init__(self, main_config):
super().__init__(main_config)
self.enabled = True
self.test_name = 'generic_test'
# Information to be saved
self.save_analysis_output = True
self.save_code = True
self.save_state = True
# Dir
self.save_directory = 'analysis_results'
self.dir_append_datetime = True
self.save_results_after_exception = True
self._register_config_callback("enabled", self._enabled_callback)
def _enabled_callback(self, config_name, config_value):
"""
Callback to enable/disable result output
:param config_name: the configuration name
:param config_value: the configuration value
"""
if config_value:
self.save_analysis_output = True
self.save_code = True
self.save_state = True
else:
self.save_analysis_output = False
self.save_code = False
self.save_state = False