[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