Skip to content

Commit d8ab464

Browse files
committedSep 20, 2022
Bug 1790905 - Respect ASAN_SYMBOLIZER_PATH when running asan cppunit/xpcshell/gtests; r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D157751
1 parent af9cb10 commit d8ab464

File tree

3 files changed

+24
-9
lines changed

3 files changed

+24
-9
lines changed
 

‎testing/gtest/rungtests.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,14 @@ def build_environment(self):
157157
# ASan specific environment stuff
158158
if mozinfo.info["asan"]:
159159
# Symbolizer support
160-
llvmsym = os.path.join(
161-
self.xre_path, "llvm-symbolizer" + mozinfo.info["bin_suffix"]
162-
)
160+
if "ASAN_SYMBOLIZER_PATH" in env and os.path.isfile(
161+
env["ASAN_SYMBOLIZER_PATH"]
162+
):
163+
llvmsym = env["ASAN_SYMBOLIZER_PATH"]
164+
else:
165+
llvmsym = os.path.join(
166+
self.xre_path, "llvm-symbolizer" + mozinfo.info["bin_suffix"]
167+
)
163168
if os.path.isfile(llvmsym):
164169
env["ASAN_SYMBOLIZER_PATH"] = llvmsym
165170
log.info("gtest | ASan using symbolizer at %s", llvmsym)

‎testing/runcppunittests.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,14 @@ def build_environment(self):
145145

146146
if mozinfo.info["asan"]:
147147
# Use llvm-symbolizer for ASan if available/required
148-
llvmsym = os.path.join(
149-
self.xre_path, "llvm-symbolizer" + mozinfo.info["bin_suffix"]
150-
)
148+
if "ASAN_SYMBOLIZER_PATH" in env and os.path.isfile(
149+
env["ASAN_SYMBOLIZER_PATH"]
150+
):
151+
llvmsym = env["ASAN_SYMBOLIZER_PATH"]
152+
else:
153+
llvmsym = os.path.join(
154+
self.xre_path, "llvm-symbolizer" + mozinfo.info["bin_suffix"]
155+
)
151156
if os.path.isfile(llvmsym):
152157
env["ASAN_SYMBOLIZER_PATH"] = llvmsym
153158
self.log.info("ASan using symbolizer at %s" % llvmsym)

‎testing/xpcshell/runxpcshelltests.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -1260,9 +1260,14 @@ def buildEnvironment(self):
12601260
usingTSan = "tsan" in self.mozInfo and self.mozInfo["tsan"]
12611261
if usingASan or usingTSan:
12621262
# symbolizer support
1263-
llvmsym = os.path.join(
1264-
self.xrePath, "llvm-symbolizer" + self.mozInfo["bin_suffix"]
1265-
)
1263+
if "ASAN_SYMBOLIZER_PATH" in self.env and os.path.isfile(
1264+
self.env["ASAN_SYMBOLIZER_PATH"]
1265+
):
1266+
llvmsym = self.env["ASAN_SYMBOLIZER_PATH"]
1267+
else:
1268+
llvmsym = os.path.join(
1269+
self.xrePath, "llvm-symbolizer" + self.mozInfo["bin_suffix"]
1270+
)
12661271
if os.path.isfile(llvmsym):
12671272
if usingASan:
12681273
self.env["ASAN_SYMBOLIZER_PATH"] = llvmsym

0 commit comments

Comments
 (0)
Failed to load comments.