mirror of https://github.com/acidanthera/audk.git
97 lines
3.0 KiB
Python
97 lines
3.0 KiB
Python
# @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()
|