Cleanup scripts and suppressions for TSan v1
Since we don't use it anymore on Linux and don't plan to ever support it for Windows. BUG= R=pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/31649004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7420 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
fae6bc4106
commit
afede835ee
@ -1,4 +0,0 @@
|
|||||||
# https://code.google.com/p/webrtc/issues/detail?id=2323
|
|
||||||
AudioDecoderIsacFbTest.EncodeDecode
|
|
||||||
AudioDecoderIsacFloatTest.EncodeDecode
|
|
||||||
AudioDecoderIsacSwbTest.EncodeDecode
|
|
@ -1,12 +0,0 @@
|
|||||||
TODO(wu): https://code.google.com/p/webrtc/issues/detail?id=2380
|
|
||||||
WebRtcVideoMediaChannelTest.TwoStreamsAddAndRemoveUnsignalledRecv
|
|
||||||
WebRtcVideoMediaChannelTest.TwoStreamsReUseFirstStream
|
|
||||||
WebRtcVideoMediaChannelTest.TwoStreamsSendAndFailUnsignalledRecv
|
|
||||||
WebRtcVideoMediaChannelTest.TwoStreamsSendAndFailUnsignalledRecvInOneToOne
|
|
||||||
WebRtcVideoMediaChannelTest.TwoStreamsSendAndReceive
|
|
||||||
WebRtcVideoMediaChannelTest.TwoStreamsSendAndUnsignalledRecv
|
|
||||||
|
|
||||||
TODO(pbos): This suppression is overly broad, but offline talks with kjellander@
|
|
||||||
indicate that we can move over to tsanv2 and deprecate tsanv1, which will remove
|
|
||||||
the need for tsanv1 suppressions.
|
|
||||||
WebRtcVideoChannel2BaseTest.*
|
|
@ -1,4 +0,0 @@
|
|||||||
# TODO(wu): Reenable P2PTransportChannelTest after issue 2158 is resolved.
|
|
||||||
P2PTransportChannelTest.*
|
|
||||||
PortTest.TestSendStunMessageAsIce
|
|
||||||
VoiceChannelTest.TestKeyboardMute
|
|
@ -1,7 +0,0 @@
|
|||||||
# https://code.google.com/p/webrtc/issues/detail?id=2396
|
|
||||||
ChannelManagerTest.StartupShutdownOnThread
|
|
||||||
PortTest.*
|
|
||||||
P2PTransportChannel*
|
|
||||||
DtlsTransportChannelTest.*
|
|
||||||
RelayPortTest.*
|
|
||||||
PortAllocatorTest.*
|
|
@ -1,45 +0,0 @@
|
|||||||
# Tests that are failing when run under TSan.
|
|
||||||
DtmfSenderTest.InsertDtmf
|
|
||||||
JsepPeerConnectionP2PTestClient.AddDataChannelAfterRenegotiation
|
|
||||||
JsepPeerConnectionP2PTestClient.GetAudioInputLevelStats
|
|
||||||
JsepPeerConnectionP2PTestClient.GetAudioOutputLevelStats
|
|
||||||
JsepPeerConnectionP2PTestClient.GetBytesReceivedStats
|
|
||||||
JsepPeerConnectionP2PTestClient.GetBytesSentStats
|
|
||||||
JsepPeerConnectionP2PTestClient.IceRestart
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestAnswerAudio
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestAnswerVideo
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTest16To9
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestDataChannel
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestDtls
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestDtmf
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestReceiverDoesntSupportData
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestOfferDtlsButNotSdes
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestOfferSdesToDtls
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestOfferDtlsToSdes
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestWithoutMsid
|
|
||||||
JsepPeerConnectionP2PTestClient.LocalP2PTestWithVideoDecoderFactory
|
|
||||||
JsepPeerConnectionP2PTestClient.RegisterDataChannelObserver
|
|
||||||
JsepPeerConnectionP2PTestClient.UpdateOfferWithRejectedContent
|
|
||||||
PeerConnectionInterfaceTest.DataChannelCloseWhenPeerConnectionClose
|
|
||||||
PeerConnectionEndToEndTest.Call
|
|
||||||
PeerConnectionEndToEndTest.CallWithLegacySdp
|
|
||||||
PeerConnectionInterfaceTest.ReceiveFireFoxOffer
|
|
||||||
PeerConnectionInterfaceTest.TestDataChannel
|
|
||||||
PeerConnectionInterfaceTest.TestSendBinaryOnRtpDataChannel
|
|
||||||
PeerConnectionInterfaceTest.TestSendOnlyDataChannel
|
|
||||||
|
|
||||||
# The following disables all tests under tsan due to crashes on shutdown.
|
|
||||||
SctpDataChannelTest.*
|
|
||||||
DtmfSenderTest.*
|
|
||||||
JsepSessionDescriptionTest.*
|
|
||||||
LocalAudioSourceTest.*
|
|
||||||
LocalVideoSourceTest.*
|
|
||||||
MediaStreamSignalingTest.*
|
|
||||||
JsepPeerConnectionP2PTestClient.*
|
|
||||||
PeerConnectionFactoryTestInternal.*
|
|
||||||
PeerConnectionFactoryTest.*
|
|
||||||
PeerConnectionInterfaceTest.*
|
|
||||||
FakeAdmTest.*
|
|
||||||
VideoTrack.*
|
|
||||||
WebRtcSdpTest.*
|
|
||||||
WebRtcSessionTest.*
|
|
@ -1,102 +0,0 @@
|
|||||||
# Tests that are failing when run under TSan.
|
|
||||||
CpuMonitorTest.TestCpuMonitor
|
|
||||||
PhysicalSocketTest.TestUdpReadyToSendIPv4
|
|
||||||
ThreadTest.Release
|
|
||||||
|
|
||||||
# The following lines disables all tests on tsan since it crashes on shutdown.
|
|
||||||
AsyncHttpRequestTest.*
|
|
||||||
FixedSizeLockFreeQueueTest.*
|
|
||||||
AutoDetectProxyTest.*
|
|
||||||
BandwidthSmootherTest.*
|
|
||||||
Base64.*
|
|
||||||
BasicTypesTest.*
|
|
||||||
BindTest.*
|
|
||||||
BufferTest.*
|
|
||||||
ByteBufferTest.*
|
|
||||||
ByteOrderTest.*
|
|
||||||
CpuMonitorTest.*
|
|
||||||
Crc32Test.*
|
|
||||||
EventTest.*
|
|
||||||
FileLockTest.*
|
|
||||||
FilesystemTest.*
|
|
||||||
RandomTest.*
|
|
||||||
HttpBaseTest.*
|
|
||||||
Url.*
|
|
||||||
HttpResponseData.*
|
|
||||||
HttpServer.*
|
|
||||||
IPAddressTest.*
|
|
||||||
LogTest.*
|
|
||||||
Md5DigestTest.*
|
|
||||||
MessageDigestTest.*
|
|
||||||
MessageQueueTest.*
|
|
||||||
MessageQueueManager.*
|
|
||||||
MultipartTest.*
|
|
||||||
NatTest.*
|
|
||||||
NatTcpTest.*
|
|
||||||
NetworkTest.*
|
|
||||||
NullSocketServerTest.*
|
|
||||||
OptionsFile.*
|
|
||||||
Pathname.*
|
|
||||||
PhysicalSocketTest.*
|
|
||||||
PosixSignalDeliveryTest.*
|
|
||||||
ProfilerTest.*
|
|
||||||
ProxyTest.*
|
|
||||||
ProxyDetectTest.*
|
|
||||||
RateLimiterTest.*
|
|
||||||
RateTrackerTest.*
|
|
||||||
ReferenceCountedSingletonFactory.*
|
|
||||||
RollingAccumulatorTest.*
|
|
||||||
Sha1DigestTest.*
|
|
||||||
SharedExclusiveLockTest.*
|
|
||||||
SignalThreadTest.*
|
|
||||||
SigslotDefault.*
|
|
||||||
SigslotSTSlotTest.*
|
|
||||||
SigslotMTSlotTest.*
|
|
||||||
SigslotMTLockTest.*
|
|
||||||
DestructionOrder.*
|
|
||||||
SocketAddressTest.*
|
|
||||||
StreamSegment.*
|
|
||||||
FifoBufferTest.*
|
|
||||||
AsyncWriteTest.*
|
|
||||||
Utf8EncodeTest.*
|
|
||||||
HexEncodeTest.*
|
|
||||||
TokenizeTest.*
|
|
||||||
SplitTest.*
|
|
||||||
BoolTest.*
|
|
||||||
string_matchTest.*
|
|
||||||
string_trim_Test.*
|
|
||||||
string_startsTest.*
|
|
||||||
string_endsTest.*
|
|
||||||
start_task_test.*
|
|
||||||
unstarted_task_test.*
|
|
||||||
TestClientTest.*
|
|
||||||
ThreadTest.*
|
|
||||||
TimeTest.*
|
|
||||||
Urlencode.*
|
|
||||||
Urldecode.*
|
|
||||||
VersionParsing.*
|
|
||||||
VirtualSocketServerTest.*
|
|
||||||
QNameTest.*
|
|
||||||
XmlBuilderTest.*
|
|
||||||
XmlElementTest.*
|
|
||||||
XmlnsStackTest.*
|
|
||||||
XmlParserTest.*
|
|
||||||
XmlPrinterTest.*
|
|
||||||
HangoutPubSubClientTest.*
|
|
||||||
JidTest.*
|
|
||||||
MucRoomConfigTaskTest.*
|
|
||||||
MucRoomDiscoveryTaskTest.*
|
|
||||||
MucRoomLookupTaskTest.*
|
|
||||||
MucRoomUniqueHangoutIdTaskTest.*
|
|
||||||
PingTaskTest.*
|
|
||||||
PubSubClientTest.*
|
|
||||||
PubSubTasksTest.*
|
|
||||||
XmppEngineTest.*
|
|
||||||
XmppLoginTaskTest.*
|
|
||||||
XmppStanzaParserTest.*
|
|
||||||
LateBindingSymbolTable.*
|
|
||||||
LinuxFdWalk.*
|
|
||||||
SSLIdentityTest.*
|
|
||||||
SSLStreamAdapterTestTLS.*
|
|
||||||
SSLStreamAdapterTestDTLS.*
|
|
||||||
SSLStreamAdapterTestDTLSFromPEMStrings.*
|
|
@ -1,12 +0,0 @@
|
|||||||
# Tests that are too slow.
|
|
||||||
AudioCodingModuleTest.TestAllCodecs*
|
|
||||||
AudioCodingModuleTest.TestEncodeDecode*
|
|
||||||
AudioCodingModuleTest.TestFEC*
|
|
||||||
AudioCodingModuleTest.TestIsac*
|
|
||||||
AudioCodingModuleTest.TwoWayCommunication*
|
|
||||||
AudioCodingModuleTest.TestStereo*
|
|
||||||
AudioCodingModuleTest.TestVADDTX*
|
|
||||||
AudioCodingModuleTest.TestOpus*
|
|
||||||
FecTest.FecTest
|
|
||||||
TestVp8Impl.BaseUnitTest
|
|
||||||
VideoProcessorIntegrationTest.ProcessNoLossChangeBitRate
|
|
@ -1,5 +0,0 @@
|
|||||||
# Tests that are too slow.
|
|
||||||
VideoProcessorIntegrationTest.ProcessZeroPacketLoss
|
|
||||||
|
|
||||||
# https://code.google.com/p/webrtc/issues/detail?id=2328
|
|
||||||
DualStreamTest.BitExactSync*
|
|
@ -1,2 +0,0 @@
|
|||||||
# Tests that are too slow.
|
|
||||||
CommonFormats/AudioProcessingTest*
|
|
@ -1,17 +0,0 @@
|
|||||||
# Too slow to run with TSan on Windows.
|
|
||||||
ApmTest.EchoCancellationReportsCorrectDelays
|
|
||||||
ApmTest.IdenticalInputChannelsResultInIdenticalOutputChannels
|
|
||||||
CommonFormats/AudioProcessingTest*
|
|
||||||
RingBufferTest.RandomStressTest
|
|
||||||
RingBufferTest.RandomStressTestWithNullPtr
|
|
||||||
VideoProcessingModuleTest.ContentAnalysis
|
|
||||||
VideoProcessingModuleTest.Deflickering
|
|
||||||
VideoProcessingModuleTest.Denoising
|
|
||||||
TestVideoSenderWithVp8.*
|
|
||||||
|
|
||||||
# https://code.google.com/p/webrtc/issues/detail?id=1938
|
|
||||||
MouseCursorShapeTest.MatchCursors
|
|
||||||
|
|
||||||
# https://code.google.com/p/webrtc/issues/detail?id=2329
|
|
||||||
NetEqDecodingTest.TestBitExactness
|
|
||||||
NetEqDecodingTest.TestNetworkStatistics
|
|
@ -1,3 +0,0 @@
|
|||||||
# https://code.google.com/p/webrtc/issues/detail?id=2329
|
|
||||||
NetEqDecodingTest.TestBitExactness
|
|
||||||
NetEqDecodingTest.TestNetworkStatistics
|
|
@ -1,2 +0,0 @@
|
|||||||
# https://code.google.com/p/webrtc/issues/detail?id=2330
|
|
||||||
ClockTest.NtpTime
|
|
@ -1 +0,0 @@
|
|||||||
*
|
|
@ -1,42 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
|
||||||
#
|
|
||||||
# Use of this source code is governed by a BSD-style license
|
|
||||||
# that can be found in the LICENSE file in the root of the source
|
|
||||||
# tree. An additional intellectual property rights grant can be found
|
|
||||||
# in the file PATENTS. All contributing project authors may
|
|
||||||
# be found in the AUTHORS file in the root of the source tree.
|
|
||||||
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import sys
|
|
||||||
|
|
||||||
"""
|
|
||||||
Copied from Chrome's src/tools/valgrind/tsan/PRESUBMIT.py
|
|
||||||
|
|
||||||
See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
|
|
||||||
for more details on the presubmit API built into gcl.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def CheckChange(input_api, output_api):
|
|
||||||
"""Checks the TSan suppressions files for bad suppressions."""
|
|
||||||
|
|
||||||
# Add the path to the Chrome valgrind dir to the import path:
|
|
||||||
tools_vg_path = os.path.join(input_api.PresubmitLocalPath(), '..', '..',
|
|
||||||
'valgrind')
|
|
||||||
sys.path.append(tools_vg_path)
|
|
||||||
import suppressions
|
|
||||||
|
|
||||||
return suppressions.PresubmitCheck(input_api, output_api)
|
|
||||||
|
|
||||||
|
|
||||||
def CheckChangeOnUpload(input_api, output_api):
|
|
||||||
return CheckChange(input_api, output_api)
|
|
||||||
|
|
||||||
|
|
||||||
def CheckChangeOnCommit(input_api, output_api):
|
|
||||||
return CheckChange(input_api, output_api)
|
|
||||||
|
|
||||||
|
|
||||||
def GetPreferredTrySlaves():
|
|
||||||
return ['linux_tsan']
|
|
File diff suppressed because it is too large
Load Diff
@ -1,11 +0,0 @@
|
|||||||
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
|
||||||
#
|
|
||||||
# Use of this source code is governed by a BSD-style license
|
|
||||||
# that can be found in the LICENSE file in the root of the source
|
|
||||||
# tree. An additional intellectual property rights grant can be found
|
|
||||||
# in the file PATENTS. All contributing project authors may
|
|
||||||
# be found in the AUTHORS file in the root of the source tree.
|
|
||||||
|
|
||||||
# This file is used in addition to the one already maintained in Chrome.
|
|
||||||
# It acts as a place holder for future additions for WebRTC.
|
|
||||||
# It must exist for the Python wrapper script to work properly.
|
|
@ -1,48 +0,0 @@
|
|||||||
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
|
||||||
#
|
|
||||||
# Use of this source code is governed by a BSD-style license
|
|
||||||
# that can be found in the LICENSE file in the root of the source
|
|
||||||
# tree. An additional intellectual property rights grant can be found
|
|
||||||
# in the file PATENTS. All contributing project authors may
|
|
||||||
# be found in the AUTHORS file in the root of the source tree.
|
|
||||||
|
|
||||||
# This file is used in addition to the one already maintained in Chrome.
|
|
||||||
# It acts as a place holder for future additions for WebRTC.
|
|
||||||
# It must exist for the Python wrapper script to work properly.
|
|
||||||
|
|
||||||
{
|
|
||||||
bug_2319_1
|
|
||||||
ThreadSanitizer:Race
|
|
||||||
...
|
|
||||||
fun:webrtc::ThreadWindows::Run
|
|
||||||
fun:webrtc::ThreadWindows::StartThread
|
|
||||||
...
|
|
||||||
fun:BaseThreadInitThunk
|
|
||||||
}
|
|
||||||
{
|
|
||||||
bug_2319_2
|
|
||||||
ThreadSanitizer:Race
|
|
||||||
fun:TlsGetValue
|
|
||||||
fun:__set_flsgetvalue
|
|
||||||
fun:_threadstartex
|
|
||||||
fun:BaseThreadInitThunk
|
|
||||||
}
|
|
||||||
{
|
|
||||||
bug_2319_3
|
|
||||||
ThreadSanitizer:Race
|
|
||||||
fun:webrtc::ThreadWindows::SetNotAlive
|
|
||||||
...
|
|
||||||
}
|
|
||||||
{
|
|
||||||
bug_2319_4
|
|
||||||
ThreadSanitizer:Race
|
|
||||||
fun:webrtc::ThreadWindows::Start
|
|
||||||
...
|
|
||||||
}
|
|
||||||
{
|
|
||||||
bug_2319_5
|
|
||||||
ThreadSanitizer:Race
|
|
||||||
fun:webrtc::ThreadWindows::Stop
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
@ -25,7 +25,8 @@ set TOOL_NAME="unknown"
|
|||||||
goto :PARSE_ARGS_LOOP
|
goto :PARSE_ARGS_LOOP
|
||||||
|
|
||||||
:TOOLNAME_NOT_FOUND
|
:TOOLNAME_NOT_FOUND
|
||||||
echo "Please specify a tool (tsan or drmemory) by using --tool flag"
|
echo "Please specify a tool (drmemory, drmemory_light or drmemory_full)"
|
||||||
|
echo "by using --tool flag"
|
||||||
exit /B 1
|
exit /B 1
|
||||||
|
|
||||||
:TOOLNAME_FOUND
|
:TOOLNAME_FOUND
|
||||||
@ -36,8 +37,7 @@ if "%TOOL_NAME%" == "drmemory" GOTO :SETUP_DRMEMORY
|
|||||||
if "%TOOL_NAME%" == "drmemory_light" GOTO :SETUP_DRMEMORY
|
if "%TOOL_NAME%" == "drmemory_light" GOTO :SETUP_DRMEMORY
|
||||||
if "%TOOL_NAME%" == "drmemory_full" GOTO :SETUP_DRMEMORY
|
if "%TOOL_NAME%" == "drmemory_full" GOTO :SETUP_DRMEMORY
|
||||||
if "%TOOL_NAME%" == "drmemory_pattern" GOTO :SETUP_DRMEMORY
|
if "%TOOL_NAME%" == "drmemory_pattern" GOTO :SETUP_DRMEMORY
|
||||||
if "%TOOL_NAME%" == "tsan" GOTO :SETUP_TSAN
|
echo "Unknown tool: `%TOOL_NAME%`! Only drmemory* tools are supported."
|
||||||
echo "Unknown tool: `%TOOL_NAME%`! Only tsan and drmemory are supported."
|
|
||||||
exit /B 1
|
exit /B 1
|
||||||
|
|
||||||
:SETUP_DRMEMORY
|
:SETUP_DRMEMORY
|
||||||
@ -57,22 +57,6 @@ set DRMEMORY_COMMAND=%DRMEMORY_PATH%\unpacked\bin\drmemory.exe
|
|||||||
:: }}}
|
:: }}}
|
||||||
goto :RUN_TESTS
|
goto :RUN_TESTS
|
||||||
|
|
||||||
:SETUP_TSAN
|
|
||||||
:: Set up PIN_COMMAND to invoke TSan {{{1
|
|
||||||
set TSAN_PATH=%THISDIR%..\..\third_party\tsan
|
|
||||||
set TSAN_SFX=%TSAN_PATH%\tsan-x86-windows-sfx.exe
|
|
||||||
if EXIST %TSAN_SFX% GOTO TSAN_BINARY_OK
|
|
||||||
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 /B 1
|
|
||||||
|
|
||||||
:TSAN_BINARY_OK
|
|
||||||
%TSAN_SFX% -o%TSAN_PATH%\unpacked -y
|
|
||||||
set PIN_COMMAND=%TSAN_PATH%\unpacked\tsan-x86-windows\tsan.bat
|
|
||||||
:: }}}
|
|
||||||
goto :RUN_TESTS
|
|
||||||
|
|
||||||
:RUN_TESTS
|
:RUN_TESTS
|
||||||
set PYTHONPATH=%THISDIR%..\python\google;%THISDIR%..\valgrind
|
set PYTHONPATH=%THISDIR%..\python\google;%THISDIR%..\valgrind
|
||||||
set RUNNING_ON_VALGRIND=yes
|
set RUNNING_ON_VALGRIND=yes
|
||||||
|
@ -18,9 +18,6 @@ The Chrome valgrind directory we use as a DEPS dependency contains the following
|
|||||||
suppression files:
|
suppression files:
|
||||||
valgrind/memcheck/suppressions.txt
|
valgrind/memcheck/suppressions.txt
|
||||||
valgrind/memcheck/suppressions_mac.txt
|
valgrind/memcheck/suppressions_mac.txt
|
||||||
valgrind/tsan/suppressions.txt
|
|
||||||
valgrind/tsan/suppressions_mac.txt
|
|
||||||
valgrind/tsan/suppressions_win32.txt
|
|
||||||
Since they're referenced from the chrome_tests.py script, we have similar files
|
Since they're referenced from the chrome_tests.py script, we have similar files
|
||||||
below the directory of this script. When executing, this script will setup both
|
below the directory of this script. When executing, this script will setup both
|
||||||
Chrome's suppression files and our own, so we can easily maintain WebRTC
|
Chrome's suppression files and our own, so we can easily maintain WebRTC
|
||||||
@ -65,7 +62,7 @@ class WebRTCTest(chrome_tests.ChromeTests):
|
|||||||
cmd)
|
cmd)
|
||||||
|
|
||||||
# When ChromeTests._DefaultCommand has executed, it has setup suppression
|
# When ChromeTests._DefaultCommand has executed, it has setup suppression
|
||||||
# files based on what's found in the memcheck/ or tsan/ subdirectories of
|
# files based on what's found in the memcheck/ subdirectory of
|
||||||
# this script's location. If Mac or Windows is executing, additional
|
# this script's location. If Mac or Windows is executing, additional
|
||||||
# platform specific files have also been added.
|
# platform specific files have also been added.
|
||||||
# Since only the ones located below this directory are added, we must also
|
# Since only the ones located below this directory are added, we must also
|
||||||
|
@ -21,11 +21,10 @@
|
|||||||
export THISDIR=`dirname $0`
|
export THISDIR=`dirname $0`
|
||||||
ARGV_COPY="$@"
|
ARGV_COPY="$@"
|
||||||
|
|
||||||
# We need to set CHROME_VALGRIND iff using Memcheck or TSan-Valgrind:
|
# We need to set CHROME_VALGRIND iff using Memcheck:
|
||||||
# tools/valgrind-webrtc/webrtc_tests.sh --tool memcheck
|
# tools/valgrind-webrtc/webrtc_tests.sh --tool memcheck
|
||||||
# or
|
# or
|
||||||
# tools/valgrind-webrtc/webrtc_tests.sh --tool=memcheck
|
# tools/valgrind-webrtc/webrtc_tests.sh --tool=memcheck
|
||||||
# (same for "--tool=tsan")
|
|
||||||
tool="memcheck" # Default to memcheck.
|
tool="memcheck" # Default to memcheck.
|
||||||
while (( "$#" ))
|
while (( "$#" ))
|
||||||
do
|
do
|
||||||
@ -47,14 +46,6 @@ case "$tool" in
|
|||||||
"memcheck")
|
"memcheck")
|
||||||
NEEDS_VALGRIND=1
|
NEEDS_VALGRIND=1
|
||||||
;;
|
;;
|
||||||
"tsan" | "tsan_rv")
|
|
||||||
if [ "`uname -s`" == CYGWIN* ]
|
|
||||||
then
|
|
||||||
NEEDS_PIN=1
|
|
||||||
else
|
|
||||||
NEEDS_VALGRIND=1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
"drmemory" | "drmemory_light" | "drmemory_full" | "drmemory_pattern")
|
"drmemory" | "drmemory_light" | "drmemory_full" | "drmemory_pattern")
|
||||||
NEEDS_DRMEMORY=1
|
NEEDS_DRMEMORY=1
|
||||||
;;
|
;;
|
||||||
@ -111,28 +102,6 @@ then
|
|||||||
fi
|
fi
|
||||||
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
|
|
||||||
|
|
||||||
# Add Chrome's Valgrind scripts dir to the PYTHON_PATH since it contains
|
# Add Chrome's Valgrind scripts dir to the PYTHON_PATH since it contains
|
||||||
# the scripts that are needed for this script to run
|
# the scripts that are needed for this script to run
|
||||||
PYTHONPATH=$THISDIR/../python/google:$CHROME_VALGRIND_SCRIPTS python \
|
PYTHONPATH=$THISDIR/../python/google:$CHROME_VALGRIND_SCRIPTS python \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user