1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
# 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!
# flake8: noqa: F821
import os
import sys
import traceback
def execfile(filename, globs, locs):
with open(filename) as f:
code = compile(f.read(), filename, "exec")
exec(code, globs, locs)
try:
# testlibdir is set on the GDB command line, via:
# --eval-command python testlibdir=...
execfile(os.path.join(testlibdir, "prologue.py"), globals(), locals())
except Exception as err:
sys.stderr.write("Error running GDB prologue:\n")
traceback.print_exc()
sys.exit(1)
|