diff options
Diffstat (limited to 'js/src/gdb/lib-for-tests/catcher.py')
-rw-r--r-- | js/src/gdb/lib-for-tests/catcher.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/js/src/gdb/lib-for-tests/catcher.py b/js/src/gdb/lib-for-tests/catcher.py new file mode 100644 index 000000000..4bac2a025 --- /dev/null +++ b/js/src/gdb/lib-for-tests/catcher.py @@ -0,0 +1,22 @@ +# Apparently, there's simply no way to ask GDB to exit with a non-zero +# status when the script run with the --eval-command option fails. Thus, if +# we have --eval-command run prologue.py directly, syntax errors there will +# lead GDB to exit with no indication anything went wrong. +# +# To avert that, we use this very small launcher script to run prologue.py +# and catch errors. +# +# Remember, errors in this file will cause spurious passes, so keep this as +# simple as possible! + +import os +import sys +import traceback +try: + # testlibdir is set on the GDB command line, via: + # --eval-command python testlibdir=... + exec(open(os.path.join(testlibdir, 'prologue.py')).read()) +except Exception as err: + sys.stderr.write('Error running GDB prologue:\n') + traceback.print_exc() + sys.exit(1) |