Bug 1215679 - Ignore ODR violations in ASan CPP unit tests. r=jmaher
authorAndrew McCreight <continuation@gmail.com>
Thu, 22 Oct 2015 09:33:43 -0700
changeset 302382 08a76850aef182640f1f06bb73af10f9b01cabe8
parent 302381 b5fc7e286929c74bb3e4d2a9cd8d6d9b36b97356
child 302383 8afdbe8ce1dd61202c8f13b4999e5437caa688cf
push id5392
push userraliiev@mozilla.com
push dateMon, 14 Dec 2015 20:08:23 +0000
treeherdermozilla-beta@16ce8562a975 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher
bugs1215679
milestone44.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1215679 - Ignore ODR violations in ASan CPP unit tests. r=jmaher
testing/runcppunittests.py
--- a/testing/runcppunittests.py
+++ b/testing/runcppunittests.py
@@ -125,16 +125,21 @@ class CPPUnitTests(object):
             # Use llvm-symbolizer for ASan if available/required
             llvmsym = os.path.join(self.xre_path, "llvm-symbolizer")
             if os.path.isfile(llvmsym):
                 env["ASAN_SYMBOLIZER_PATH"] = llvmsym
                 self.log.info("ASan using symbolizer at %s" % llvmsym)
             else:
                 self.log.info("Failed to find ASan symbolizer at %s" % llvmsym)
 
+            # media/mtransport tests statically link in NSS, which
+            # causes ODR violations. See bug 1215679.
+            assert not 'ASAN_OPTIONS' in env
+            env['ASAN_OPTIONS'] = 'detect_leaks=0:detect_odr_violation=0'
+
         return env
 
     def run_tests(self, programs, xre_path, symbols_path=None, interactive=False):
         """
         Run a set of C++ unit test programs.
 
         Arguments:
         * programs: An iterable containing (test path, test timeout factor) tuples