# @file # Split a file into two pieces at the request offset. # # Copyright (c) 2021, Intel Corporation. All rights reserved.
# # 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()