Skip to content

Commit

Permalink
[lldb] Improve diagnostics in lldb-repro when replay fails
Browse files Browse the repository at this point in the history
 - Print the replay invocation.
 - Keep the reproducer around.
 - Return the "opposite" exit code so we don't have to rely on FileCheck
   to fail the test when the expected exit code is non-zero.
  • Loading branch information
JDevlieghere committed Aug 13, 2020
1 parent 7d1cb18 commit 3da9396
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion lldb/utils/lldb-repro/lldb-repro.py
Expand Up @@ -62,9 +62,14 @@ def main():
# exit code and return that for tests that expect a non-zero exit code.
exit_code_path = os.path.join(reproducer_path, 'exit_code.txt')
if sys.argv[1] == "replay":
replay_exit_code = exit_code
with open(exit_code_path, 'r') as f:
assert exit_code == 0
exit_code = int(f.read())
if replay_exit_code != 0:
print("error: replay failed with exit code {}".format(replay_exit_code))
print("invocation: " + " ".join(new_args))
# Return 1 if the expected exit code is 0 or vice versa.
return 1 if (exit_code == 0) else 0
shutil.rmtree(reproducer_path, True)
elif sys.argv[1] == "capture":
with open(exit_code_path, 'w') as f:
Expand Down

0 comments on commit 3da9396

Please sign in to comment.