[compiler-rt] r219478 - [Tsan] Make the user_fopen.cc and user_malloc.cc tests Linux-specific

Viktor Kutuzov vkutuzov at accesssoftek.com
Thu Oct 9 23:55:18 PDT 2014


Author: vkutuzov
Date: Fri Oct 10 01:55:17 2014
New Revision: 219478

URL: http://llvm.org/viewvc/llvm-project?rev=219478&view=rev
Log:
[Tsan] Make the user_fopen.cc and user_malloc.cc tests Linux-specific
Differential Revision: http://reviews.llvm.org/D5670

Added:
    compiler-rt/trunk/test/tsan/Linux/
    compiler-rt/trunk/test/tsan/Linux/lit.local.cfg
    compiler-rt/trunk/test/tsan/Linux/user_fopen.cc
      - copied unchanged from r219475, compiler-rt/trunk/test/tsan/user_fopen.cc
    compiler-rt/trunk/test/tsan/Linux/user_malloc.cc
      - copied unchanged from r219475, compiler-rt/trunk/test/tsan/user_malloc.cc
Removed:
    compiler-rt/trunk/test/tsan/user_fopen.cc
    compiler-rt/trunk/test/tsan/user_malloc.cc

Added: compiler-rt/trunk/test/tsan/Linux/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/tsan/Linux/lit.local.cfg?rev=219478&view=auto
==============================================================================
--- compiler-rt/trunk/test/tsan/Linux/lit.local.cfg (added)
+++ compiler-rt/trunk/test/tsan/Linux/lit.local.cfg Fri Oct 10 01:55:17 2014
@@ -0,0 +1,9 @@
+def getRoot(config):
+  if not config.parent:
+    return config
+  return getRoot(config.parent)
+
+root = getRoot(config)
+
+if root.host_os not in ['Linux']:
+  config.unsupported = True

Removed: compiler-rt/trunk/test/tsan/user_fopen.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/tsan/user_fopen.cc?rev=219477&view=auto
==============================================================================
--- compiler-rt/trunk/test/tsan/user_fopen.cc (original)
+++ compiler-rt/trunk/test/tsan/user_fopen.cc (removed)
@@ -1,34 +0,0 @@
-// RUN: %clangxx_tsan -O1 %s -o %t && %run %t 2>&1 | FileCheck %s
-#include <stdio.h>
-#include <stdlib.h>
-
-// defined by tsan.
-extern "C" FILE *__interceptor_fopen(const char *file, const char *mode);
-extern "C" int __interceptor_fileno(FILE *f);
-
-extern "C" FILE *fopen(const char *file, const char *mode) {
-  static int first = 0;
-  if (__sync_lock_test_and_set(&first, 1) == 0)
-    printf("user fopen\n");
-  return __interceptor_fopen(file, mode);
-}
-
-extern "C" int fileno(FILE *f) {
-  static int first = 0;
-  if (__sync_lock_test_and_set(&first, 1) == 0)
-    printf("user fileno\n");
-  return 1;
-}
-
-int main() {
-  FILE *f = fopen("/dev/zero", "r");
-  if (f) {
-    char buf;
-    fread(&buf, 1, 1, f);
-    fclose(f);
-  }
-}
-
-// CHECK: user fopen
-// CHECK-NOT: ThreadSanitizer
-

Removed: compiler-rt/trunk/test/tsan/user_malloc.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/tsan/user_malloc.cc?rev=219477&view=auto
==============================================================================
--- compiler-rt/trunk/test/tsan/user_malloc.cc (original)
+++ compiler-rt/trunk/test/tsan/user_malloc.cc (removed)
@@ -1,27 +0,0 @@
-// RUN: %clangxx_tsan -O1 %s -o %t && %run %t 2>&1 | FileCheck %s
-#include <stdio.h>
-
-// defined by tsan.
-extern "C" void *__interceptor_malloc(unsigned long size);
-extern "C" void __interceptor_free(void *p);
-
-extern "C" void *malloc(unsigned long size) {
-  static int first = 0;
-  if (__sync_lock_test_and_set(&first, 1) == 0)
-    printf("user malloc\n");
-  return __interceptor_malloc(size);
-}
-
-extern "C" void free(void *p) {
-  __interceptor_free(p);
-}
-
-int main() {
-  volatile char *p = (char*)malloc(10);
-  p[0] = 0;
-  free((void*)p);
-}
-
-// CHECK: user malloc
-// CHECK-NOT: ThreadSanitizer
-





More information about the llvm-commits mailing list