Revert 270383 "Reland https://codereview.chromium.org/276493002:..."

> Reland https://codereview.chromium.org/276493002: Enable ToolsSanityTest.SingleElementDeletedWithBraces and ToolsSanityTest.ArrayDeletedWithoutBraces under AddressSanitizer on Linux.
> 
> Also make sure the tests aren't disabled under non-ASan on OSX.
> 
> BUG=172614
> TBR=thakis@chromium.org
> 
> Review URL: https://codereview.chromium.org/282843003

TBR=glider@chromium.org

Review URL: https://codereview.chromium.org/288723003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270412 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: f516280c4c470be8f73f71c7d86d4e245aa535e8
diff --git a/base/tools_sanity_unittest.cc b/base/tools_sanity_unittest.cc
index 3787a98..b1da3e1 100644
--- a/base/tools_sanity_unittest.cc
+++ b/base/tools_sanity_unittest.cc
@@ -100,25 +100,24 @@
 // error report mechanism is different than with Asan so these tests will fail.
 #define MAYBE_AccessesToNewMemory DISABLED_AccessesToNewMemory
 #define MAYBE_AccessesToMallocMemory DISABLED_AccessesToMallocMemory
-#define MAYBE_SingleElementDeletedWithBraces \
-    DISABLED_SingleElementDeletedWithBraces
-#define MAYBE_ArrayDeletedWithoutBraces DISABLED_ArrayDeletedWithoutBraces
 #else
 #define MAYBE_AccessesToNewMemory AccessesToNewMemory
 #define MAYBE_AccessesToMallocMemory AccessesToMallocMemory
-
-#if defined(ADDRESS_SANITIZER) && !defined(OS_MACOSX)
-// AddressSanitizer for OSX doesn't support alloc-dealloc mismatch checks.
 #define MAYBE_ArrayDeletedWithoutBraces ArrayDeletedWithoutBraces
 #define MAYBE_SingleElementDeletedWithBraces SingleElementDeletedWithBraces
-#else
-#define MAYBE_ArrayDeletedWithoutBraces DISABLED_ArrayDeletedWithoutBraces
+#endif
+
+// The following tests pass with Clang r170392, but not r172454, which
+// makes AddressSanitizer detect errors in them. We disable these tests under
+// AddressSanitizer until we fully switch to Clang r172454. After that the
+// tests should be put back under the (defined(OS_IOS) || defined(OS_WIN))
+// clause above.
+// See also http://crbug.com/172614.
+#if defined(ADDRESS_SANITIZER) || defined(SYZYASAN)
 #define MAYBE_SingleElementDeletedWithBraces \
     DISABLED_SingleElementDeletedWithBraces
+#define MAYBE_ArrayDeletedWithoutBraces DISABLED_ArrayDeletedWithoutBraces
 #endif
-
-#endif
-
 TEST(ToolsSanityTest, MAYBE_AccessesToNewMemory) {
   char *foo = new char[10];
   MakeSomeErrors(foo, 10);
@@ -145,12 +144,7 @@
 
   // Without the |volatile|, clang optimizes away the next two lines.
   int* volatile foo = new int[10];
-  HARMFUL_ACCESS(delete foo, "alloc-dealloc-mismatch");
-#if defined(ADDRESS_SANITIZER)
-  // Under ASan the crash happens in the process spawned by HARMFUL_ACCESS,
-  // need to free the memory in the parent.
-  delete [] foo;
-#endif
+  delete foo;
 }
 
 TEST(ToolsSanityTest, MAYBE_SingleElementDeletedWithBraces) {
@@ -164,12 +158,7 @@
   // Without the |volatile|, clang optimizes away the next two lines.
   int* volatile foo = new int;
   (void) foo;
-  HARMFUL_ACCESS(delete [] foo, "alloc-dealloc-mismatch");
-#if defined(ADDRESS_SANITIZER)
-  // Under ASan the crash happens in the child process, need to free the memory
-  // in the parent.
-  delete foo;
-#endif
+  delete [] foo;
 }
 
 #if defined(ADDRESS_SANITIZER) || defined(SYZYASAN)