Make rte_dummy generate a dummy mem map header
Change-Id: Ief530da762c83ee6ca2cc80b4e07086611f0400a
This commit is contained in:
@@ -29,6 +29,8 @@ class RteDummy(ProblemLogger):
|
|||||||
self.build_cfg = build_cfg
|
self.build_cfg = build_cfg
|
||||||
self.nvm_def = nvm_def
|
self.nvm_def = nvm_def
|
||||||
self.calibration_variables = calib_data.get("class_info", {})
|
self.calibration_variables = calib_data.get("class_info", {})
|
||||||
|
mem_map_config = self.build_cfg.get_memory_map_config()
|
||||||
|
self.mem_map_header_file_name = f"{mem_map_config['memMapPrefix']}_MemMap"
|
||||||
self.swc_header_file_name = f"Rte_{self.build_cfg.get_composition_config('softwareComponentName')}"
|
self.swc_header_file_name = f"Rte_{self.build_cfg.get_composition_config('softwareComponentName')}"
|
||||||
self.type_header_file_name = "Rte_Type"
|
self.type_header_file_name = "Rte_Type"
|
||||||
self.source_file_name = "Rte_Dummy"
|
self.source_file_name = "Rte_Dummy"
|
||||||
@@ -43,6 +45,15 @@ class RteDummy(ProblemLogger):
|
|||||||
" */\n"
|
" */\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _get_mem_map_header_content(self):
|
||||||
|
"""Get content for the dummy memory map header."""
|
||||||
|
return (
|
||||||
|
f"{self._get_common_header()}"
|
||||||
|
f"#ifndef {self.mem_map_header_file_name.upper()}_H\n"
|
||||||
|
f"#define {self.mem_map_header_file_name.upper()}_H\n\n"
|
||||||
|
f"#endif /* {self.mem_map_header_file_name.upper()}_H */\n"
|
||||||
|
)
|
||||||
|
|
||||||
def _get_swc_header_content(self):
|
def _get_swc_header_content(self):
|
||||||
"""Get content for the SWC RTE dummy header."""
|
"""Get content for the SWC RTE dummy header."""
|
||||||
return (
|
return (
|
||||||
@@ -221,9 +232,12 @@ class RteDummy(ProblemLogger):
|
|||||||
def generate_rte_dummy(self):
|
def generate_rte_dummy(self):
|
||||||
"""Generate RTE dummy files."""
|
"""Generate RTE dummy files."""
|
||||||
src_code_dest_dir = self.build_cfg.get_src_code_dst_dir()
|
src_code_dest_dir = self.build_cfg.get_src_code_dst_dir()
|
||||||
|
mem_map_header_file = Path(src_code_dest_dir, self.mem_map_header_file_name + ".h")
|
||||||
swc_header_file = Path(src_code_dest_dir, self.swc_header_file_name + ".h")
|
swc_header_file = Path(src_code_dest_dir, self.swc_header_file_name + ".h")
|
||||||
type_header_file = Path(src_code_dest_dir, self.type_header_file_name + ".h")
|
type_header_file = Path(src_code_dest_dir, self.type_header_file_name + ".h")
|
||||||
source_file = Path(src_code_dest_dir, self.source_file_name + ".c")
|
source_file = Path(src_code_dest_dir, self.source_file_name + ".c")
|
||||||
|
with mem_map_header_file.open(mode="w", encoding="utf-8") as mem_map_header_fh:
|
||||||
|
mem_map_header_fh.write(self._get_mem_map_header_content())
|
||||||
with swc_header_file.open(mode="w", encoding="utf-8") as swc_header_fh:
|
with swc_header_file.open(mode="w", encoding="utf-8") as swc_header_fh:
|
||||||
swc_header_fh.write(self._get_swc_header_content())
|
swc_header_fh.write(self._get_swc_header_content())
|
||||||
with type_header_file.open(mode="w", encoding="utf-8") as type_header_fh:
|
with type_header_file.open(mode="w", encoding="utf-8") as type_header_fh:
|
||||||
|
@@ -3,6 +3,17 @@
|
|||||||
|
|
||||||
"""Unit test data for powertrain_build.rte_dummy."""
|
"""Unit test data for powertrain_build.rte_dummy."""
|
||||||
|
|
||||||
|
expected_mem_map_content = (
|
||||||
|
"/*\n"
|
||||||
|
" * This file is generated by the Powertrain Build System.\n"
|
||||||
|
" * It defines RTE dummy types and/or functions.\n"
|
||||||
|
" * Do not modify this file manually.\n"
|
||||||
|
" */\n"
|
||||||
|
"#ifndef TESTNAME_SC_MEMMAP_H\n"
|
||||||
|
"#define TESTNAME_SC_MEMMAP_H\n\n"
|
||||||
|
"#endif /* TESTNAME_SC_MEMMAP_H */\n"
|
||||||
|
)
|
||||||
|
|
||||||
expected_swc_content = (
|
expected_swc_content = (
|
||||||
"/*\n"
|
"/*\n"
|
||||||
" * This file is generated by the Powertrain Build System.\n"
|
" * This file is generated by the Powertrain Build System.\n"
|
||||||
|
@@ -11,6 +11,29 @@ from powertrain_build.rte_dummy import RteDummy
|
|||||||
from test_data.powertrain_build.test_rte_dummy import rte_dummy
|
from test_data.powertrain_build.test_rte_dummy import rte_dummy
|
||||||
|
|
||||||
|
|
||||||
|
def mock_get_memory_map_config():
|
||||||
|
"""Function to mock BuildProjConfig.get_memory_map_config."""
|
||||||
|
return {
|
||||||
|
"memMapPrefix": "TESTNAME_SC",
|
||||||
|
"includeHeaderGuards": False,
|
||||||
|
"includeMemMapForCalibration": True,
|
||||||
|
"projectDefines": {
|
||||||
|
"START": {
|
||||||
|
"code": "#define TESTNAME_SC_START_CODE",
|
||||||
|
"const": "#define TESTNAME_SC_START_CONST",
|
||||||
|
"disp": "#define TESTNAME_SC_START_DISP",
|
||||||
|
"cal": "#define TESTNAME_SC_START_CAL"
|
||||||
|
},
|
||||||
|
"STOP": {
|
||||||
|
"code": "#define TESTNAME_SC_STOP_CODE",
|
||||||
|
"const": "#define TESTNAME_SC_STOP_CONST",
|
||||||
|
"disp": "#define TESTNAME_SC_STOP_DISP",
|
||||||
|
"cal": "#define TESTNAME_SC_STOP_CAL"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def mock_get_composition_config(key):
|
def mock_get_composition_config(key):
|
||||||
"""Function to mock BuildProjConfig.get_composition_config."""
|
"""Function to mock BuildProjConfig.get_composition_config."""
|
||||||
return {
|
return {
|
||||||
@@ -32,6 +55,7 @@ class TestRteDummy(unittest.TestCase):
|
|||||||
self.build_cfg = MagicMock()
|
self.build_cfg = MagicMock()
|
||||||
self.build_cfg.get_scheduler_prefix.return_value = "DUMMY_"
|
self.build_cfg.get_scheduler_prefix.return_value = "DUMMY_"
|
||||||
self.build_cfg.get_composition_config.side_effect = mock_get_composition_config
|
self.build_cfg.get_composition_config.side_effect = mock_get_composition_config
|
||||||
|
self.build_cfg.get_memory_map_config.side_effect = mock_get_memory_map_config
|
||||||
self.build_cfg.get_code_generation_config.return_value = False
|
self.build_cfg.get_code_generation_config.return_value = False
|
||||||
self.build_cfg.get_nvm_defs.return_value = {"fileName": "vcc_nvm_struct"}
|
self.build_cfg.get_nvm_defs.return_value = {"fileName": "vcc_nvm_struct"}
|
||||||
self.nvm_def = MagicMock()
|
self.nvm_def = MagicMock()
|
||||||
@@ -76,6 +100,7 @@ class TestRteDummy(unittest.TestCase):
|
|||||||
with patch.object(Path, "open", m_open, create=True):
|
with patch.object(Path, "open", m_open, create=True):
|
||||||
self.rte_dummy.generate_rte_dummy()
|
self.rte_dummy.generate_rte_dummy()
|
||||||
expected = [
|
expected = [
|
||||||
|
rte_dummy.expected_mem_map_content,
|
||||||
rte_dummy.expected_swc_content,
|
rte_dummy.expected_swc_content,
|
||||||
rte_dummy.expected_type_header_header,
|
rte_dummy.expected_type_header_header,
|
||||||
rte_dummy.expected_typedefs,
|
rte_dummy.expected_typedefs,
|
||||||
@@ -98,6 +123,7 @@ class TestRteDummy(unittest.TestCase):
|
|||||||
with patch.object(Path, "open", m_open, create=True):
|
with patch.object(Path, "open", m_open, create=True):
|
||||||
self.rte_dummy.generate_rte_dummy()
|
self.rte_dummy.generate_rte_dummy()
|
||||||
expected = [
|
expected = [
|
||||||
|
rte_dummy.expected_mem_map_content,
|
||||||
rte_dummy.expected_swc_content,
|
rte_dummy.expected_swc_content,
|
||||||
rte_dummy.expected_rte_structs_type_header_header,
|
rte_dummy.expected_rte_structs_type_header_header,
|
||||||
rte_dummy.expected_rte_structs_typedefs,
|
rte_dummy.expected_rte_structs_typedefs,
|
||||||
@@ -134,6 +160,7 @@ class TestRteDummy(unittest.TestCase):
|
|||||||
with patch.object(Path, "open", m_open, create=True):
|
with patch.object(Path, "open", m_open, create=True):
|
||||||
self.rte_dummy.generate_rte_dummy()
|
self.rte_dummy.generate_rte_dummy()
|
||||||
expected = [
|
expected = [
|
||||||
|
rte_dummy.expected_mem_map_content,
|
||||||
rte_dummy.expected_swc_content,
|
rte_dummy.expected_swc_content,
|
||||||
rte_dummy.expected_rte_structs_type_header_header,
|
rte_dummy.expected_rte_structs_type_header_header,
|
||||||
rte_dummy.expected_rte_structs_and_calibration_typedefs,
|
rte_dummy.expected_rte_structs_and_calibration_typedefs,
|
||||||
|
Reference in New Issue
Block a user