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
|
||||
|
||||
: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
|
||||
|
||||
: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_full" GOTO :SETUP_DRMEMORY
|
||||
if "%TOOL_NAME%" == "drmemory_pattern" GOTO :SETUP_DRMEMORY
|
||||
if "%TOOL_NAME%" == "tsan" GOTO :SETUP_TSAN
|
||||
echo "Unknown tool: `%TOOL_NAME%`! Only tsan and drmemory are supported."
|
||||
echo "Unknown tool: `%TOOL_NAME%`! Only drmemory* tools are supported."
|
||||
exit /B 1
|
||||
|
||||
:SETUP_DRMEMORY
|
||||
@ -57,22 +57,6 @@ set DRMEMORY_COMMAND=%DRMEMORY_PATH%\unpacked\bin\drmemory.exe
|
||||
:: }}}
|
||||
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
|
||||
set PYTHONPATH=%THISDIR%..\python\google;%THISDIR%..\valgrind
|
||||
set RUNNING_ON_VALGRIND=yes
|
||||
|
@ -18,9 +18,6 @@ The Chrome valgrind directory we use as a DEPS dependency contains the following
|
||||
suppression files:
|
||||
valgrind/memcheck/suppressions.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
|
||||
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
|
||||
@ -65,7 +62,7 @@ class WebRTCTest(chrome_tests.ChromeTests):
|
||||
cmd)
|
||||
|
||||
# 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
|
||||
# platform specific files have also been added.
|
||||
# Since only the ones located below this directory are added, we must also
|
||||
|
@ -21,11 +21,10 @@
|
||||
export THISDIR=`dirname $0`
|
||||
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
|
||||
# or
|
||||
# tools/valgrind-webrtc/webrtc_tests.sh --tool=memcheck
|
||||
# (same for "--tool=tsan")
|
||||
tool="memcheck" # Default to memcheck.
|
||||
while (( "$#" ))
|
||||
do
|
||||
@ -47,14 +46,6 @@ case "$tool" in
|
||||
"memcheck")
|
||||
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")
|
||||
NEEDS_DRMEMORY=1
|
||||
;;
|
||||
@ -111,28 +102,6 @@ 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
|
||||
|
||||
# Add Chrome's Valgrind scripts dir to the PYTHON_PATH since it contains
|
||||
# the scripts that are needed for this script to run
|
||||
PYTHONPATH=$THISDIR/../python/google:$CHROME_VALGRIND_SCRIPTS python \
|
||||
|
Loading…
x
Reference in New Issue
Block a user