| # @file | |
| # Split a file into two pieces at the request offset. | |
| # | |
| # Copyright (c) 2021, Intel Corporation. All rights reserved.<BR> | |
| # | |
| # SPDX-License-Identifier: BSD-2-Clause-Patent | |
| # | |
| ## | |
| # Import Modules | |
| import unittest | |
| import tempfile | |
| import os | |
| import shutil | |
| import struct as st | |
| import filecmp | |
| import os, sys | |
| currentdir = os.path.dirname(os.path.realpath(__file__)) | |
| parentdir = os.path.dirname(currentdir) | |
| sys.path.append(parentdir) | |
| import FspDscBsf2Yaml | |
| YamlHeaderLineLength = 10 | |
| HdrFileHeaderLineLength = 32 | |
| BsfFileHeaderLineLength = 19 | |
| def GenFileWithoutHdr(inputfile, numLineToStrip): | |
| yaml_file = open(inputfile, "r") | |
| lines = yaml_file.readlines() | |
| yaml_file.close() | |
| del lines[:numLineToStrip] | |
| noHdrOutputFileName = "no-header-" + inputfile | |
| stripped_file = open(noHdrOutputFileName, "w") | |
| for line in lines: | |
| stripped_file.write(line) | |
| stripped_file.close() | |
| return noHdrOutputFileName | |
| class TestFspScripts(unittest.TestCase): | |
| def test_generateFspHeader_fromDsc(self): | |
| # Generate HEADER | |
| cmd = '{} {} HEADER {} {} {}'.format( | |
| 'python', | |
| '..\GenCfgOpt.py', | |
| 'QemuFspPkg.dsc', | |
| '.', | |
| "") | |
| os.system(cmd) | |
| noHdrOutputFileName = GenFileWithoutHdr("FspUpd.h", HdrFileHeaderLineLength) | |
| self.assertTrue(filecmp.cmp(noHdrOutputFileName, | |
| 'ExpectedFspUpd.h')) | |
| def test_generateFspsHeader_fromDsc(self): | |
| noHdrOutputFileName = GenFileWithoutHdr("FspsUpd.h", HdrFileHeaderLineLength) | |
| self.assertTrue(filecmp.cmp(noHdrOutputFileName, | |
| 'ExpectedFspsUpd.h')) | |
| def test_generateFsptHeader_fromDsc(self): | |
| noHdrOutputFileName = GenFileWithoutHdr("FsptUpd.h", HdrFileHeaderLineLength) | |
| self.assertTrue(filecmp.cmp(noHdrOutputFileName, | |
| 'ExpectedFsptUpd.h')) | |
| def test_generateFspmHeader_fromDsc(self): | |
| noHdrOutputFileName = GenFileWithoutHdr("FspmUpd.h", HdrFileHeaderLineLength) | |
| self.assertTrue(filecmp.cmp(noHdrOutputFileName, | |
| 'ExpectedFspmUpd.h')) | |
| def test_generateBsf_fromDsc(self): | |
| # Generate BSF | |
| cmd = '{} {} GENBSF {} {} {}'.format( | |
| 'python', | |
| '..\GenCfgOpt.py', | |
| 'QemuFspPkg.dsc', | |
| '.', | |
| "Output.bsf") | |
| os.system(cmd) | |
| noHdrOutputFileName = GenFileWithoutHdr("Output.bsf", BsfFileHeaderLineLength) | |
| self.assertTrue(filecmp.cmp(noHdrOutputFileName, | |
| 'ExpectedOutput.bsf')) | |
| def test_generateYaml_fromDsc(self): | |
| # Generate YAML | |
| cmd = '{} {} {} {}'.format( | |
| 'python', | |
| '..\FspDscBsf2Yaml.py', | |
| 'QemuFspPkg.dsc', | |
| "Output.yaml") | |
| os.system(cmd) | |
| noHdrOutputFileName = GenFileWithoutHdr("Output.yaml", YamlHeaderLineLength) | |
| self.assertTrue(filecmp.cmp(noHdrOutputFileName, | |
| 'ExpectedOutput.yaml')) | |
| if __name__ == '__main__': | |
| unittest.main() |