From fd7870028f2dd681fa3e84aa3eeda21f4639f1e5 Mon Sep 17 00:00:00 2001
From: "ivan.penkov@gmail.com"
 <ivan.penkov@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e>
Date: Mon, 6 Aug 2012 21:44:25 +0000
Subject: Conditionally compiling a unittest - based on whether
 AddressSanitizer is used.

http://breakpad.appspot.com/428002



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1004 4c0a9323-5329-0410-9bdc-e9ce6186880e
---
 src/client/linux/handler/exception_handler_unittest.cc | 7 +++++++
 1 file changed, 7 insertions(+)

(limited to 'src/client')

diff --git a/src/client/linux/handler/exception_handler_unittest.cc b/src/client/linux/handler/exception_handler_unittest.cc
index ab3e3072..ea2652d5 100644
--- a/src/client/linux/handler/exception_handler_unittest.cc
+++ b/src/client/linux/handler/exception_handler_unittest.cc
@@ -514,6 +514,12 @@ TEST(ExceptionHandlerTest, InstructionPointerMemoryMaxBound) {
   free(filename);
 }
 
+// If AddressSanitizer is used, NULL pointer dereferences generate SIGILL
+// (illegal instruction) instead of SIGSEGV (segmentation fault).  Also,
+// the number of memory regions differs, so there is no point in running
+// this test if AddressSanitizer is used.
+#ifndef ADDRESS_SANITIZER
+
 // Ensure that an extra memory block doesn't get added when the
 // instruction pointer is not in mapped memory.
 TEST(ExceptionHandlerTest, InstructionPointerMemoryNullPointer) {
@@ -580,6 +586,7 @@ TEST(ExceptionHandlerTest, InstructionPointerMemoryNullPointer) {
   unlink(minidump_filename.c_str());
   free(filename);
 }
+#endif // !ADDRESS_SANITIZER
 
 static bool SimpleCallback(const char* dump_path,
                            const char* minidump_id,
-- 
cgit v1.2.1