sw:vec: test_runner: grab elf return code Grab the return code from the log string. Ideally we would like to grab the result from CSR or a register, but QEMU doesn't have the register access hooked up. :( With this change, test_runner.py will tunnel the main return code, and can be used in CI or ctest. Change-Id: I6dfbf9cb1b4f4911bcfb230936c67f255178ee7c
diff --git a/scripts/test_runner.py b/scripts/test_runner.py index f603d40..f9e3c72 100755 --- a/scripts/test_runner.py +++ b/scripts/test_runner.py
@@ -129,6 +129,12 @@ failure_strings = ["FAILED", "Exception occurred"] if any(x in output for x in failure_strings): sys.exit(1) + # Grab the return code from the output string with regex + # Syntax: "main returned: ", <code> (<hex_code>) + return_string = re.compile( + r"\"main returned:\s\",(?P<ret_code>\s[0-9]+\s*)") + code = return_string.search(output) + sys.exit(int(code.group(1))) if __name__ == "__main__":