From 5b66d95a780f5bedb246c69e255de9b412ce91f9 Mon Sep 17 00:00:00 2001 From: Saul Romero Date: Tue, 19 Mar 2024 14:44:47 +0000 Subject: [PATCH] code-coverage: Modify regex for assembly line capture Due to a change of toolchain, the assembly lines cannot be captured in blocks. This change is backward compatible with the other toolchains. Signed-off-by: Saul Romero --- coverage-tool/coverage-reporting/intermediate_layer.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/coverage-tool/coverage-reporting/intermediate_layer.py b/coverage-tool/coverage-reporting/intermediate_layer.py index 2cb1a81..b565236 100644 --- a/coverage-tool/coverage-reporting/intermediate_layer.py +++ b/coverage-tool/coverage-reporting/intermediate_layer.py @@ -436,7 +436,7 @@ class BinaryParser(object): :param asm_code: Lines of assembly code within the dump :return: AssemblyLine object. """ - lines = re.findall(r"^\s+([a-fA-F0-9]+):\t(.+?)\n", asm_code, + lines = re.findall(r"^(?:\s+)?([a-fA-F0-9]+):\t(.+?)\n", asm_code, re.DOTALL | re.MULTILINE) for line in lines: if len(line) != 2: @@ -648,8 +648,8 @@ class IntermediateCodeCoverage(object): command = "%s -Sl %s | tee %s" % (OBJDUMP, elf_filename, elf_filename.replace(".elf", ".dump")) dump = os_command(command, show_command=True) - # with open(elf_filename.replace(".elf", ".dump"), "r") as f: - # dump = f.read() + with open(elf_filename.replace(".elf", ".dump"), "r") as f: + dump = f.read() dump += "\n\n" # For pattern matching the last function logger.info(f"Parsing assembly file {elf_filename}") elf_name = os.path.splitext(os.path.basename(elf_filename))[0] -- GitLab