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 272d2110e5ade..f4ea52bec5880 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) |