Official ARM version: v5.6.0
This commit is contained in:
parent
9f95ff5b6b
commit
96d6da4e25
2939 changed files with 339304 additions and 113320 deletions
128
DSP/DSP_Lib_TestSuite/parseLog_SV.py
Normal file
128
DSP/DSP_Lib_TestSuite/parseLog_SV.py
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
import sys
|
||||
|
||||
toolchain_list = ["ARM", "GCC", "ARMCLANG"]
|
||||
core_list = ["cortexM0l", "cortexM3l", "cortexM4l", "cortexM4lf", "cortexM7l", "cortexM7lfsp", "cortexM7lfdp",
|
||||
"ARMv8MBLl", "ARMv8MMLl", "ARMv8MMLlfsp", "ARMv8MMLlfdp", "ARMv8MMLld", "ARMv8MMLldfsp", "ARMv8MMLldfdp" ]
|
||||
test_list = ["MPS2", "FVP", "Simulator"]
|
||||
error = 1
|
||||
|
||||
|
||||
def parseLog(toolchain, core, test):
|
||||
if toolchain not in toolchain_list:
|
||||
print ("Error: Unkown toolchain '{0}'".format(toolchain))
|
||||
return error
|
||||
|
||||
if core not in core_list:
|
||||
print ("Error: Unkown core '{0}'".format(core))
|
||||
return error
|
||||
|
||||
if test not in test_list:
|
||||
print ("Error: Unkown test '{0}'".format(test))
|
||||
return error
|
||||
|
||||
inFileName = ".\DspLibTest_SV_{2}\{0}\Logs\DspLibTest_{2}_{1}.log".format(toolchain, core, test)
|
||||
outFileName = ".\DspLibTest_SV_{2}\{0}\Logs\DspLibTest_{2}_{1}_parsed.log".format(toolchain, core, test)
|
||||
|
||||
infile = open(inFileName).read()
|
||||
infile = infile.split('\n')
|
||||
|
||||
outfile = open(outFileName, 'w')
|
||||
|
||||
count = 0
|
||||
strName = ""
|
||||
strNr = -1
|
||||
strFUT = ""
|
||||
coverageInfo = 0
|
||||
|
||||
for line in infile:
|
||||
if line.find("==================================================") != -1:
|
||||
continue
|
||||
if line.find("--------------------------------------------------") != -1:
|
||||
continue
|
||||
if line.find("Start: Group") != -1:
|
||||
outfile.write("\n")
|
||||
continue
|
||||
if line.find("End: Group") != -1:
|
||||
outfile.write("\n")
|
||||
continue
|
||||
if line.find("Start: Test") != -1:
|
||||
outfile.write("\n")
|
||||
continue
|
||||
if line.find("End: Test") != -1:
|
||||
outfile.write("\n")
|
||||
continue
|
||||
if line.find("Start Dump: String") != -1:
|
||||
continue
|
||||
if line.find("End Dump: String") != -1:
|
||||
strName = strName.rstrip("\n")
|
||||
outfile.write(strName)
|
||||
if strNr == 3:
|
||||
strFUT = strName
|
||||
# else:
|
||||
# strFUT == ""
|
||||
if strName == "Group Name:":
|
||||
strNr = 1
|
||||
outfile.write(" ")
|
||||
elif strName == "Test Name:":
|
||||
strNr = 2
|
||||
outfile.write(" ")
|
||||
elif strName == "Function Under Test:":
|
||||
strNr = 3
|
||||
outfile.write(" ")
|
||||
else:
|
||||
strNr = 4
|
||||
if len(strName) < 128:
|
||||
outfile.write("\n")
|
||||
strName = ""
|
||||
continue
|
||||
if line.find("Start: Coverage Information") != -1:
|
||||
coverageInfo = 1
|
||||
outfile.write(line)
|
||||
outfile.write("\n")
|
||||
if line.find("End: Coverage Information") != -1:
|
||||
strFUT == ""
|
||||
coverageInfo = 0
|
||||
if coverageInfo == 1:
|
||||
# if line.find(strFUT) == -1: #this line contains no relevant coverage info
|
||||
# continue
|
||||
if line.find("- 0%") == -1 and line.find("src") == -1 and line.find("Functions") != -1:
|
||||
outfile.write(line + "\n")
|
||||
continue
|
||||
if line.find("0x") == 0: #this is a line to translate
|
||||
line = line[12:35] + line[37:61]
|
||||
nums = line.split(' ')
|
||||
for num in nums:
|
||||
intNum = int(num, base=16)
|
||||
# if intNum == 10:
|
||||
# continue
|
||||
if intNum == 0:
|
||||
continue
|
||||
strName += str(chr(intNum))
|
||||
continue
|
||||
outfile.write(line)
|
||||
outfile.write("\n")
|
||||
|
||||
def print_usage(sys_argv):
|
||||
script_name = sys_argv[0]
|
||||
usage_str = "Syntax: {0} toolchain core test\n".format(sys.argv[0])
|
||||
argument_desc = "\n toolchain: {0}".format(" ".join(toolchain_list))
|
||||
argument_desc += "\n core: {0}".format(" ".join(core_list))
|
||||
argument_desc += "\n test: {0}".format(" ".join(test_list))
|
||||
argument_desc += "\n\ne.g.: parseLog ARM cortexM3l FVP"
|
||||
|
||||
print (usage_str + argument_desc)
|
||||
|
||||
def exit_on_error(sys_argv):
|
||||
print_usage(sys_argv)
|
||||
exit(1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
arg_len = len(sys.argv)
|
||||
|
||||
if arg_len != 4:
|
||||
exit_on_error(sys.argv)
|
||||
|
||||
if error == parseLog(sys.argv[1], sys.argv[2], sys.argv[3]):
|
||||
exit_on_error(sys.argv)
|
||||
Loading…
Add table
Add a link
Reference in a new issue