[PATCH] D17928: [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
Wed Mar 9 07:47:39 PST 2016
filcab updated this revision to Diff 50141.
filcab added a comment.
Address Samsonov's comments.
http://reviews.llvm.org/D17928
Files:
test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cc
test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
test/sanitizer_common/TestCases/Posix/lit.local.cfg
test/sanitizer_common/lit.common.cfg
Index: test/sanitizer_common/lit.common.cfg
===================================================================
--- test/sanitizer_common/lit.common.cfg
+++ test/sanitizer_common/lit.common.cfg
@@ -9,9 +9,14 @@
if config.tool_name == "asan":
tool_cflags = ["-fsanitize=address"]
tool_options = "ASAN_OPTIONS"
+ # Get the same definition from asan's lit.cfg
+ if config.target_arch != 'arm' and config.target_arch != 'armhf' and config.target_arch != 'aarch64':
+ config.available_features.add('stable-runtime')
elif config.tool_name == "tsan":
tool_cflags = ["-fsanitize=thread"]
tool_options = "TSAN_OPTIONS"
+ if config.target_arch != 'aarch64':
+ config.available_features.add('stable-runtime')
elif config.tool_name == "msan":
tool_cflags = ["-fsanitize=memory"]
tool_options = "MSAN_OPTIONS"
Index: test/sanitizer_common/TestCases/Posix/lit.local.cfg
===================================================================
--- test/sanitizer_common/TestCases/Posix/lit.local.cfg
+++ test/sanitizer_common/TestCases/Posix/lit.local.cfg
@@ -5,5 +5,5 @@
root = getRoot(config)
-if root.host_os in ['Windows', 'Darwin']:
+if root.host_os in ['Windows']:
config.unsupported = True
Index: test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
===================================================================
--- /dev/null
+++ test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
@@ -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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17928.50141.patch
Type: text/x-patch
Size: 3116 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160309/52d85207/attachment-0001.bin>
More information about the llvm-commits
mailing list