diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/linux/handler/exception_handler_unittest.cc | 19 | ||||
-rw-r--r-- | src/client/windows/unittests/exception_handler_death_test.cc | 4 |
2 files changed, 18 insertions, 5 deletions
diff --git a/src/client/linux/handler/exception_handler_unittest.cc b/src/client/linux/handler/exception_handler_unittest.cc index cfd50bb3..976f9f41 100644 --- a/src/client/linux/handler/exception_handler_unittest.cc +++ b/src/client/linux/handler/exception_handler_unittest.cc @@ -191,6 +191,8 @@ static bool DoneCallback(const MinidumpDescriptor& descriptor, return true; } +#ifndef ADDRESS_SANITIZER + void ChildCrash(bool use_fd) { AutoTempDir temp_dir; int fds[2] = {0}; @@ -242,6 +244,8 @@ TEST(ExceptionHandlerTest, ChildCrashWithFD) { ASSERT_NO_FATAL_FAILURE(ChildCrash(true)); } +#endif // !ADDRESS_SANITIZER + static bool DoneCallbackReturnFalse(const MinidumpDescriptor& descriptor, void* context, bool succeeded) { @@ -283,6 +287,8 @@ static bool InstallRaiseSIGKILL() { return sigaction(SIGSEGV, &sa, NULL) != -1; } +#ifndef ADDRESS_SANITIZER + static void CrashWithCallbacks(ExceptionHandler::FilterCallback filter, ExceptionHandler::MinidumpCallback done, string path) { @@ -450,6 +456,8 @@ TEST(ExceptionHandlerTest, StackedHandlersUnhandledToBottom) { ASSERT_NO_FATAL_FAILURE(WaitForProcessToTerminate(child, SIGKILL)); } +#endif // !ADDRESS_SANITIZER + const unsigned char kIllegalInstruction[] = { #if defined(__mips__) // mfc2 zero,Impl - usually illegal in userspace. @@ -731,10 +739,6 @@ TEST(ExceptionHandlerTest, InstructionPointerMemoryMaxBound) { unlink(minidump_path.c_str()); } -// 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 @@ -781,7 +785,8 @@ TEST(ExceptionHandlerTest, InstructionPointerMemoryNullPointer) { unlink(minidump_path.c_str()); } -#endif // !ADDRESS_SANITIZER + +#endif // !ADDRESS_SANITIZER // Test that anonymous memory maps can be annotated with names and IDs. TEST(ExceptionHandlerTest, ModuleInfo) { @@ -902,6 +907,8 @@ CrashHandler(const void* crash_context, size_t crash_context_size, return true; } +#ifndef ADDRESS_SANITIZER + TEST(ExceptionHandlerTest, ExternalDumper) { int fds[2]; ASSERT_NE(socketpair(AF_UNIX, SOCK_DGRAM, 0, fds), -1); @@ -974,6 +981,8 @@ TEST(ExceptionHandlerTest, ExternalDumper) { unlink(templ.c_str()); } +#endif // !ADDRESS_SANITIZER + TEST(ExceptionHandlerTest, WriteMinidumpExceptionStream) { AutoTempDir temp_dir; ExceptionHandler handler(MinidumpDescriptor(temp_dir.path()), NULL, NULL, diff --git a/src/client/windows/unittests/exception_handler_death_test.cc b/src/client/windows/unittests/exception_handler_death_test.cc index 3a16e525..079ca3d6 100644 --- a/src/client/windows/unittests/exception_handler_death_test.cc +++ b/src/client/windows/unittests/exception_handler_death_test.cc @@ -307,6 +307,8 @@ wstring find_minidump_in_directory(const wstring &directory) { return filename; } +#ifndef ADDRESS_SANITIZER + TEST_F(ExceptionHandlerDeathTest, InstructionPointerMemory) { ASSERT_TRUE(DoesPathExist(temp_path_)); scoped_ptr<google_breakpad::ExceptionHandler> exc( @@ -575,4 +577,6 @@ TEST_F(ExceptionHandlerDeathTest, InstructionPointerMemoryMaxBound) { DeleteFileW(minidump_filename_wide.c_str()); } +#endif // !ADDRESS_SANITIZER + } // namespace |