Index: build/run_tests.py |
diff --git a/build/run_tests.py b/build/run_tests.py |
index 0f97ac41d763a0d0773c84beadd2aebad98511ba..8491311da316abaeeb8ebb9ba95c1641e2f3ee36 100755 |
--- a/build/run_tests.py |
+++ b/build/run_tests.py |
@@ -30,7 +30,19 @@ def main(args): |
crashpad_dir = \ |
os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir) |
- binary_dir = os.path.join(crashpad_dir, 'out', args[0]) |
+ # In a standalone Crashpad build, the out directory is in the Crashpad root. |
+ out_dir = os.path.join(crashpad_dir, 'out') |
+ if not os.path.exists(out_dir): |
+ # In an in-Chromium build, the out directory is in the Chromium root, and |
+ # the Crashpad root is in third_party/crashpad/crashpad relative to the |
+ # Chromium root. |
+ chromium_dir = os.path.join(crashpad_dir, os.pardir, os.pardir, os.pardir) |
+ out_dir = os.path.join(chromium_dir, 'out') |
+ if not os.path.exists(out_dir): |
+ raise Exception('could not determine out_dir', crashpad_dir) |
+ |
+ binary_dir = os.path.join(out_dir, args[0]) |
+ |
tests = [ |
'crashpad_client_test', |
'crashpad_minidump_test', |