[compiler-rt] r263142 - [sanitizer_common tests] Make Darwin a Posix system and bring the stable-runtime definition from ASan tests.

Filipe Cabecinhas via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 10 10:46:23 PST 2016


Author: filcab
Date: Thu Mar 10 12:46:23 2016
New Revision: 263142

URL: http://llvm.org/viewvc/llvm-project?rev=263142&view=rev
Log:
[sanitizer_common tests] Make Darwin a Posix system and bring the stable-runtime definition from ASan tests.

Summary: This is an initial setup in order to move some additional tests from Linux onto Posix.
I also moved decorate_proc_maps onto the Linux directory

Finally added msan's definition for "stable-runtime".
Only a test requires it, and its commit message (r248014) seems to imply
that AArch64 is problematic with MSan.

Reviewers: samsonov, rengolin, t.p.northover, eugenis

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D17928

Added:
    compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cc
      - copied, changed from r263137, compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
Removed:
    compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
Modified:
    compiler-rt/trunk/test/msan/lit.cfg
    compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/lit.local.cfg
    compiler-rt/trunk/test/sanitizer_common/lit.common.cfg

Modified: compiler-rt/trunk/test/msan/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/lit.cfg?rev=263142&r1=263141&r2=263142&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/lit.cfg (original)
+++ compiler-rt/trunk/test/msan/lit.cfg Thu Mar 10 12:46:23 2016
@@ -32,3 +32,6 @@ config.suffixes = ['.c', '.cc', '.cpp']
 # MemorySanitizer tests are currently supported on Linux only.
 if config.host_os not in ['Linux']:
   config.unsupported = True
+
+if config.target_arch != 'aarch64':
+  config.available_features.add('stable-runtime')

Copied: compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cc (from r263137, compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc)
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cc?p2=compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cc&p1=compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc&r1=263137&r2=263142&rev=263142&view=diff
==============================================================================
    (empty)

Removed: compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc?rev=263141&view=auto
==============================================================================
--- compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc (original)
+++ compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc (removed)
@@ -1,61 +0,0 @@
-// RUN: %clangxx -g %s -o %t
-// RUN: %env_tool_opts=decorate_proc_maps=1 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-%tool_name
-// REQUIRES: stable-runtime
-#include <errno.h>
-#include <fcntl.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-bool CopyFdToFd(int in_fd, int out_fd) {
-  const size_t kBufSize = 0x10000;
-  static char buf[kBufSize];
-  while (true) {
-    ssize_t got = read(in_fd, buf, kBufSize);
-    if (got > 0) {
-      write(out_fd, buf, got);
-    } else if (got == 0) {
-      break;
-    } else if (errno != EAGAIN || errno != EWOULDBLOCK || errno != EINTR) {
-      fprintf(stderr, "error reading file, errno %d\n", errno);
-      return false;
-    }
-  }
-  return true;
-}
-
-void *ThreadFn(void *arg) {
-  (void)arg;
-  int fd = open("/proc/self/maps", O_RDONLY);
-  bool res = CopyFdToFd(fd, 2);
-  close(fd);
-  return (void *)!res;
-}
-
-int main(void) {
-  pthread_t t;
-  void *res;
-  pthread_create(&t, 0, ThreadFn, 0);
-  pthread_join(t, &res);
-  return (int)(size_t)res;
-}
-
-// CHECK-asan: rw-p {{.*}} [low shadow]
-// CHECK-asan: ---p {{.*}} [shadow gap]
-// CHECK-asan: rw-p {{.*}} [high shadow]
-
-// CHECK-msan: ---p {{.*}} [invalid]
-// CHECK-msan: rw-p {{.*}} [shadow{{.*}}]
-// CHECK-msan: ---p {{.*}} [origin{{.*}}]
-
-// CHECK-tsan: rw-p {{.*}} [shadow]
-// CHECK-tsan: rw-p {{.*}} [meta shadow]
-// CHECK-tsan: rw-p {{.*}} [trace 0]
-// CHECK-tsan: rw-p {{.*}} [trace header 0]
-// CHECK-tsan: rw-p {{.*}} [trace 1]
-// CHECK-tsan: rw-p {{.*}} [trace header 1]
-
-// Nothing interesting with standalone LSan.
-// CHECK-lsan: decorate_proc_maps

Modified: compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/lit.local.cfg?rev=263142&r1=263141&r2=263142&view=diff
==============================================================================
--- compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/lit.local.cfg (original)
+++ compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/lit.local.cfg Thu Mar 10 12:46:23 2016
@@ -5,5 +5,5 @@ def getRoot(config):
 
 root = getRoot(config)
 
-if root.host_os in ['Windows', 'Darwin']:
+if root.host_os in ['Windows']:
   config.unsupported = True

Modified: compiler-rt/trunk/test/sanitizer_common/lit.common.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/lit.common.cfg?rev=263142&r1=263141&r2=263142&view=diff
==============================================================================
--- compiler-rt/trunk/test/sanitizer_common/lit.common.cfg (original)
+++ compiler-rt/trunk/test/sanitizer_common/lit.common.cfg Thu Mar 10 12:46:23 2016
@@ -23,6 +23,9 @@ else:
 
 config.available_features.add(config.tool_name)
 
+if config.target_arch not in ['arm', 'armhf', 'aarch64']:
+  config.available_features.add('stable-runtime')
+
 if config.host_os == 'Darwin':
   # On Darwin, we default to `abort_on_error=1`, which would make tests run
   # much slower. Let's override this and run lit tests with 'abort_on_error=0'.




More information about the llvm-commits mailing list