Files
powertrain-build/tests/powertrain_build/test_handcode_replacer.py
olindgre 2ece01e1d7 Make powertrain-build not overlap with pybuild in site-packages
Change-Id: I7b59f3f04f0f787d35db0b9389f295bf1ad24f56
2024-09-17 10:25:04 +02:00

86 lines
3.3 KiB
Python

# Copyright 2024 Volvo Car Corporation
# Licensed under Apache 2.0.
"""Unit test script for powertrain_build.handcode_replacer module."""
import unittest
from powertrain_build import handcode_replacer
class TestPragmaRegexStart(unittest.TestCase):
"""Unit tests for powertrain_build.handcode_replacer regexes."""
def setUp(self):
self.pragma_replacer = handcode_replacer.PragmaReplacer()
def tearDown(self):
self.assertTrue(self.pragma_replacer.cvc_started)
self.assertIsNotNone(self.pragma_replacer.cvc)
def test_cvc(self):
"""Test the line found in original_line below"""
original_line = '#pragma section CVC\n'
resulting_line = self.pragma_replacer.replace_line(original_line)
expected_line = '#include "CVC_CODE_START.h"\n'
self.assertEqual(resulting_line, expected_line)
def test_cal(self):
"""Test the line found in original_line below"""
original_line = '#pragma section CVCCAL\n'
resulting_line = self.pragma_replacer.replace_line(original_line)
expected_line = '#include "CVC_CAL_START.h"\n'
self.assertEqual(resulting_line, expected_line)
def test_disp(self):
"""Test the line found in original_line below"""
original_line = '#pragma section CVCDISP\n'
resulting_line = self.pragma_replacer.replace_line(original_line)
expected_line = '#include "CVC_DISP_START.h"\n'
self.assertEqual(resulting_line, expected_line)
def test_nvm(self):
"""Test the line found in original_line below"""
original_line = '#pragma section CVCNVM\n'
resulting_line = self.pragma_replacer.replace_line(original_line)
expected_line = '#include "CVC_NVM_START.h"\n'
self.assertEqual(resulting_line, expected_line)
def test_nvm_persistent(self):
"""Test the line found in original_line below"""
original_line = '#pragma section CVCNVM_P\n'
resulting_line = self.pragma_replacer.replace_line(original_line)
expected_line = '#include "CVC_NVM_P_START.h"\n'
self.assertEqual(resulting_line, expected_line)
class TestPragmaRegexStop(unittest.TestCase):
"""Unit tests for setting the stop lines."""
def setUp(self):
self.pragma_replacer = handcode_replacer.PragmaReplacer()
self.pragma_replacer.cvc_started = True
def tearDown(self):
self.assertFalse(self.pragma_replacer.cvc_started)
self.assertIsNone(self.pragma_replacer.cvc)
def test_cvc(self):
"""Test the line found in original_line below"""
self.pragma_replacer.cvc = 'CODE'
original_line = '#pragma section\n'
resulting_line = self.pragma_replacer.replace_line(original_line)
expected_line = '#include "CVC_CODE_END.h"\n'
self.assertEqual(resulting_line, expected_line)
class TestCodeSwitchReplacer(unittest.TestCase):
"""Unit tests for setting the stop lines."""
def setUp(self):
self.codesw_replacer = handcode_replacer.CodeSwitchReplacer()
def test_cvc(self):
"""Test the line found in original_line below"""
original_line = '#include "SPM_Codeswitch_Setup.h"\n'
resulting_line = self.codesw_replacer.replace_line(original_line)
expected_line = '#include "VcCodeSwDefines.h"\n'
self.assertEqual(resulting_line, expected_line)