diff options
Diffstat (limited to 'test/asan/android_commands/android_run.py')
| -rwxr-xr-x | test/asan/android_commands/android_run.py | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/test/asan/android_commands/android_run.py b/test/asan/android_commands/android_run.py index 272d2110e5ad..f4ea52bec588 100755 --- a/test/asan/android_commands/android_run.py +++ b/test/asan/android_commands/android_run.py @@ -1,6 +1,6 @@  #!/usr/bin/python -import os, sys, subprocess, tempfile +import os, signal, sys, subprocess, tempfile  from android_common import *  ANDROID_TMPDIR = '/data/local/tmp/Output' @@ -11,8 +11,7 @@ device_binary = os.path.join(ANDROID_TMPDIR, os.path.basename(sys.argv[0]))  def build_env():      args = []      # Android linker ignores RPATH. Set LD_LIBRARY_PATH to Output dir. -    args.append('LD_LIBRARY_PATH=%s:%s' % -                (ANDROID_TMPDIR, os.environ.get('LD_LIBRARY_PATH', ''))) +    args.append('LD_LIBRARY_PATH=%s' % (ANDROID_TMPDIR,))      for (key, value) in os.environ.items():          if key in ['ASAN_OPTIONS', 'ASAN_ACTIVATION_OPTIONS']:              args.append('%s="%s"' % (key, value)) @@ -34,4 +33,9 @@ if ret != 0:  sys.stdout.write(pull_from_device(device_stdout))  sys.stderr.write(pull_from_device(device_stderr)) -sys.exit(int(pull_from_device(device_exitcode))) +retcode = int(pull_from_device(device_exitcode)) +# If the device process died with a signal, do abort(). +# Not exactly the same, but good enough to fool "not --crash". +if retcode > 128: +  os.kill(os.getpid(), signal.SIGABRT) +sys.exit(retcode)  | 
