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)