[compiler-rt] r313727 - [asan] Resolve FIXME by converting gtest into lit test

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 20 00:01:20 PDT 2017


Author: vitalybuka
Date: Wed Sep 20 00:01:19 2017
New Revision: 313727

URL: http://llvm.org/viewvc/llvm-project?rev=313727&view=rev
Log:
[asan] Resolve FIXME by converting gtest into lit test

Added:
    compiler-rt/trunk/test/asan/TestCases/error_report_callback.cc
Modified:
    compiler-rt/trunk/lib/asan/tests/asan_interface_test.cc

Modified: compiler-rt/trunk/lib/asan/tests/asan_interface_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/asan_interface_test.cc?rev=313727&r1=313726&r2=313727&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/tests/asan_interface_test.cc (original)
+++ compiler-rt/trunk/lib/asan/tests/asan_interface_test.cc Wed Sep 20 00:01:19 2017
@@ -386,23 +386,6 @@ TEST(AddressSanitizerInterface, DISABLED
   free(array);
 }
 
-#if !defined(_WIN32)  // FIXME: This should really be a lit test.
-static void ErrorReportCallbackOneToZ(const char *report) {
-  int report_len = strlen(report);
-  ASSERT_EQ(6, write(2, "ABCDEF", 6));
-  ASSERT_EQ(report_len, write(2, report, report_len));
-  ASSERT_EQ(6, write(2, "ABCDEF", 6));
-  _exit(1);
-}
-
-TEST(AddressSanitizerInterface, SetErrorReportCallbackTest) {
-  __asan_set_error_report_callback(ErrorReportCallbackOneToZ);
-  EXPECT_DEATH(__asan_report_error((void *)GET_CALLER_PC(), 0, 0, 0, true, 1),
-               ASAN_PCRE_DOTALL "ABCDEF.*AddressSanitizer.*WRITE.*ABCDEF");
-  __asan_set_error_report_callback(NULL);
-}
-#endif
-
 TEST(AddressSanitizerInterface, GetOwnershipStressTest) {
   std::vector<char *> pointers;
   std::vector<size_t> sizes;

Added: compiler-rt/trunk/test/asan/TestCases/error_report_callback.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/error_report_callback.cc?rev=313727&view=auto
==============================================================================
--- compiler-rt/trunk/test/asan/TestCases/error_report_callback.cc (added)
+++ compiler-rt/trunk/test/asan/TestCases/error_report_callback.cc Wed Sep 20 00:01:19 2017
@@ -0,0 +1,20 @@
+// RUN: %clangxx_asan -O0 %s -o %t
+// RUN: not %run %t 0 2>&1 | FileCheck %s
+
+#include <sanitizer/asan_interface.h>
+#include <stdio.h>
+
+static void ErrorReportCallbackOneToZ(const char *report) {
+  fprintf(stderr, "ABCDEF%sGHIJKL", report);
+}
+
+int main(int argc, char **argv) {
+  __asan_set_error_report_callback(ErrorReportCallbackOneToZ);
+  __asan_report_error(
+      (void *)__builtin_extract_return_addr(__builtin_return_address(0)), 0, 0,
+      0, true, 1);
+  // CHECK: ABCDEF
+  // CHECK: ERROR: AddressSanitizer
+  // CHECK: GHIJKL
+  return 0;
+}




More information about the llvm-commits mailing list