summaryrefslogtreecommitdiffstats
path: root/tools/valgrind/chrome_tests.sh
diff options
context:
space:
mode:
authorrnk@chromium.org <rnk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-22 19:52:36 +0000
committerrnk@chromium.org <rnk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-22 19:52:36 +0000
commitecff4ad16c217519108a36868210821cbe5e352f (patch)
treeb992e1c4733ce4e107d30841acceae2f4c9d3950 /tools/valgrind/chrome_tests.sh
parentce1ce3066bfa2744d845ef29a34d976a13410bd7 (diff)
downloadchromium_src-ecff4ad16c217519108a36868210821cbe5e352f.zip
chromium_src-ecff4ad16c217519108a36868210821cbe5e352f.tar.gz
chromium_src-ecff4ad16c217519108a36868210821cbe5e352f.tar.bz2
Make it possible to run tsan on Cygwin via chrome_tests.sh.
R=timurrrr@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9430008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123087 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/valgrind/chrome_tests.sh')
-rwxr-xr-xtools/valgrind/chrome_tests.sh32
1 files changed, 30 insertions, 2 deletions
diff --git a/tools/valgrind/chrome_tests.sh b/tools/valgrind/chrome_tests.sh
index eaa70e0..73b7a1e 100755
--- a/tools/valgrind/chrome_tests.sh
+++ b/tools/valgrind/chrome_tests.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -36,7 +36,12 @@ case "$tool" in
NEEDS_VALGRIND=1
;;
"tsan" | "tsan_rv")
- NEEDS_VALGRIND=1
+ if [ "`uname -s`" == CYGWIN* ]
+ then
+ NEEDS_PIN=1
+ else
+ NEEDS_VALGRIND=1
+ fi
;;
"drmemory" | "drmemory_light" | "drmemory_full")
NEEDS_DRMEMORY=1
@@ -80,5 +85,28 @@ then
fi
fi
+if [ "$NEEDS_PIN" == "1" ]
+then
+ if [ -z "$PIN_COMMAND" ]
+ then
+ # Set up PIN_COMMAND to invoke TSan.
+ TSAN_PATH="$THISDIR/../../third_party/tsan"
+ TSAN_SFX="$TSAN_PATH/tsan-x86-windows-sfx.exe"
+ echo "$TSAN_SFX"
+ if [ ! -f $TSAN_SFX ]
+ then
+ echo "Can't find ThreadSanitizer executables."
+ echo "See http://www.chromium.org/developers/how-tos/using-valgrind/threadsanitizer/threadsanitizer-on-windows"
+ echo "for the instructions on how to get them."
+ exit 1
+ fi
+
+ chmod +x "$TSAN_SFX" # Cygwin won't run it without +x.
+ "$TSAN_SFX" -o"$TSAN_PATH"/unpacked -y
+ export PIN_COMMAND="$TSAN_PATH/unpacked/tsan-x86-windows/tsan.bat"
+ fi
+fi
+
+
PYTHONPATH=$THISDIR/../python/google python \
"$THISDIR/chrome_tests.py" $ARGV_COPY