Merge pull request #7657 from mjstapp/fix_topo_asan_noise

tests: Cleanup topo asan noise
This commit is contained in:
Donald Sharp 2020-12-02 20:07:53 -05:00 committed by GitHub
commit dd2a6ddb3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -919,10 +919,10 @@ def checkAddressSanitizerError(output, router, component, logdir=""):
) )
# Sanitizer Error found in log # Sanitizer Error found in log
pidMark = asanErrorRe.group(1) pidMark = asanErrorRe.group(1)
addressSantizerLog = re.search( addressSanitizerLog = re.search(
"%s(.*)%s" % (pidMark, pidMark), output, re.DOTALL "%s(.*)%s" % (pidMark, pidMark), output, re.DOTALL
) )
if addressSantizerLog: if addressSanitizerLog:
# Find Calling Test. Could be multiple steps back # Find Calling Test. Could be multiple steps back
testframe=sys._current_frames().values()[0] testframe=sys._current_frames().values()[0]
level=0 level=0
@ -964,7 +964,7 @@ def checkAddressSanitizerError(output, router, component, logdir=""):
% (callingTest, callingProc, router) % (callingTest, callingProc, router)
) )
sys.stderr.write( sys.stderr.write(
"\n".join(addressSantizerLog.group(1).splitlines()) + "\n" "\n".join(addressSanitizerLog.group(1).splitlines()) + "\n"
) )
addrSanFile.write("## Error: %s\n\n" % asanErrorRe.group(2)) addrSanFile.write("## Error: %s\n\n" % asanErrorRe.group(2))
addrSanFile.write( addrSanFile.write(
@ -973,32 +973,32 @@ def checkAddressSanitizerError(output, router, component, logdir=""):
) )
addrSanFile.write( addrSanFile.write(
" " " "
+ "\n ".join(addressSantizerLog.group(1).splitlines()) + "\n ".join(addressSanitizerLog.group(1).splitlines())
+ "\n" + "\n"
) )
addrSanFile.write("\n---------------\n") addrSanFile.write("\n---------------\n")
return return
addressSantizerError = re.search( addressSanitizerError = re.search(
"(==[0-9]+==)ERROR: AddressSanitizer: ([^\s]*) ", output "(==[0-9]+==)ERROR: AddressSanitizer: ([^\s]*) ", output
) )
if addressSantizerError: if addressSanitizerError:
processAddressSanitizerError(addressSantizerError, output, router, component) processAddressSanitizerError(addressSanitizerError, output, router, component)
return True return True
# No Address Sanitizer Error in Output. Now check for AddressSanitizer daemon file # No Address Sanitizer Error in Output. Now check for AddressSanitizer daemon file
if logdir: if logdir:
filepattern=logdir+"/"+router+"/"+component+".asan.*" filepattern=logdir+"/"+router+"/"+component+".asan.*"
sys.stderr.write("Log check for %s on %s, pattern %s\n" % (component, router, filepattern)) logger.debug("Log check for %s on %s, pattern %s\n" % (component, router, filepattern))
for file in glob.glob(filepattern): for file in glob.glob(filepattern):
with open(file, "r") as asanErrorFile: with open(file, "r") as asanErrorFile:
asanError=asanErrorFile.read() asanError=asanErrorFile.read()
addressSantizerError = re.search( addressSanitizerError = re.search(
"(==[0-9]+==)ERROR: AddressSanitizer: ([^\s]*) ", asanError "(==[0-9]+==)ERROR: AddressSanitizer: ([^\s]*) ", asanError
) )
if addressSantizerError: if addressSanitizerError:
processAddressSanitizerError(addressSantizerError, asanError, router, component) processAddressSanitizerError(addressSanitizerError, asanError, router, component)
return True return True
return False return False