Commit Graph

164 Commits

Author SHA1 Message Date
phoglund@webrtc.org
4743f938d6 Added more suppressions.
These tests are really flaky for sure. None of these showed up locally or in previous runs.

BUG=
TBR=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/863006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2860 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-02 09:22:51 +00:00
phoglund@webrtc.org
321da3bc4f Added more suppressions found on the bot.
I will look over and split them into different bugs later - seems a bad idea to use one bug for everything.

BUG=
TBR=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/861005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2859 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-02 08:54:45 +00:00
phoglund@webrtc.org
4fdc102f03 Added suppression for one missed error.
BUG=
TBR=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/862004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2855 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-01 14:53:30 +00:00
phoglund@webrtc.org
8ff3ff1a8b Made ViE standard tests runnable under valgrind.
Ensured there are bugs for all open valgrind issues in the standard tests and suppressed the known issues. This way, we can get it running in continuous integration and keep new issues from entering.

Removed bad check in codec test, added suppressions.

Fixed simple memory leaks in tests.

BUG=Related to bug 329
TEST=Ran the vie_auto_test standard suite many times under valgrind to root out flakiness. Ran the standard suite without valgrind to ensure I didn't break anything.

Review URL: https://webrtc-codereview.appspot.com/843005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2854 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-01 10:04:26 +00:00
kjellander@webrtc.org
d1e7a9a90c ThreadSanitizer and Dr Memory for Windows
Added new wrapper script webrtc_tests.bat for executing memory/threading tests on Windows.
Updated webrtc_tests.sh to include modifications in chrome_tests.sh that has happened since we copied it.

To setup TSAN for Windows, see http://www.chromium.org/developers/how-tos/using-valgrind/threadsanitizer
I did like this:
1. Added "third_party/tsan": "http://src.chromium.org/chrome/trunk/deps/third_party/tsan"
to custom_deps in my .gclient file
2. gclient sync
3. SET GYP_DEFINES=build_with_tool=tsan && gclient runhooks
4. Compiled.
5. Ran the test using the wrapper script (see below).

To setup Dr Memory for Windows, see http://www.chromium.org/developers/how-tos/using-drmemory
I did like this:
1. Added "third_party/drmemory": "http://src.chromium.org/svn/trunk/deps/third_party/drmemory",
to custom_deps in my .gclient file (using the drmemory.DEPS as described on Chromium's wiki ends up in the wrong location)
2. gclient sync
3. SET GYP_DEFINES=build_with_tool=drmemory && gclient runhooks
4. Compiled.
5. Ran the test using the wrapper script (see below).


TEST=
On Windows: 
tools\valgrind-webrtc\webrtc_tests.bat --tool=tsan --test build\Debug\voice_engine_unittests.exe
tools\valgrind-webrtc\webrtc_tests.bat --tool=drmemory_light --test build\Debug\voice_engine_unittests.exe
tools\valgrind-webrtc\webrtc_tests.bat --tool=drmemory_full --test build\Debug\voice_engine_unittests.exe
On Linux: 
tools/valgrind-webrtc/webrtc_tests.sh --tool=memcheck --test out/Release/test_support_unittests
tools/valgrind-webrtc/webrtc_tests.sh --tool=tsan --test out/Release/test_support_unittests
tools/valgrind-webrtc/webrtc_tests.sh --tool=asan --test out/Release/test_support_unittests
Review URL: https://webrtc-codereview.appspot.com/845004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2846 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-09-28 15:34:18 +00:00
kjellander@webrtc.org
1101278a17 Wider suppression filter for tz-warnings in TSAN
This catches the remaining warnings we see which it seems like the fun:__tz* suppression in Chromium's tools/valgrind/tsan/suppressions.txt file is aimed for.

BUG=884

Review URL: https://webrtc-codereview.appspot.com/841006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2845 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-09-28 15:30:58 +00:00
kjellander@webrtc.org
b43f85ffd3 Support for being executed from runtests.py
This is also needed to make it possible to run unit tests easily using Chromium's buildbot source code.

BUG=None
TEST=tools/valgrind-webrtc/webrtc_tests.sh --test test_support_unittests --build_dir=out/Debug

Review URL: https://webrtc-codereview.appspot.com/784007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2738 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-09-11 11:22:45 +00:00
kjellander@webrtc.org
b764d78831 Adding support for --test argument
BUG=Cannot use this from Chrome buildbot scripts.
TEST=Ran tools/valgrind-webrtc/webrtc_tests.sh --test out/Debug/test_support_unittests

Review URL: https://webrtc-codereview.appspot.com/784006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2737 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-09-11 09:34:51 +00:00
phoglund@webrtc.org
8274bf26ca Added suppression for issue 716.
BUG=
TBR=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/719005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2548 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-02 12:25:13 +00:00
kjellander@webrtc.org
b6e4cc776e Valgrind memcheck and TSAN script now uses Chrome+WebRTC suppression files.
Skeleton suppression files for future WebRTC suppressions are added and are included in addition to the ones Chrome are using and maintaining when our wrapper script executes.

Also added tweaked PRESUBMIT checks based on the Chrome code, that verifies
that suppressions are added correctly. I tested that they work by adding an invalid
suppression.

BUG=544
TEST=Tested running tools/valgrind-webrtc/webrtc_tests.sh --tool=tsan -t out/Debug/system_wrappers_unittests and it reports far less errors. Tested adding bad suppression and it was caught by the PRESUBMIT check.

Review URL: https://webrtc-codereview.appspot.com/601004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2304 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-27 20:59:35 +00:00
turaj@webrtc.org
799980fcaa Revert 2224 - Revert 2213 - Moved the fuzz test under valgrind and added valgrind support to the video bot.
CL 2213 did not need to be reverted. 

BUG=
TEST=

Review URL: https://webrtc-codereview.appspot.com/579008

TBR=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/569013

TBR=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/576010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2227 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-11 00:41:48 +00:00
turaj@webrtc.org
c2fe91256c Revert 2213 - Moved the fuzz test under valgrind and added valgrind support to the video bot.
A series of CL:s by Patrik W. is breaking the auto-test. It started with CL 2211, but the later CL:s seems dependent on another. So I decided to go in reverse order and revert all of them.

BUG=
TEST=

Review URL: https://webrtc-codereview.appspot.com/579008

TBR=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/569013

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2224 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-10 22:55:57 +00:00
phoglund@webrtc.org
80f7ac23b0 Moved the fuzz test under valgrind and added valgrind support to the video bot.
BUG=
TEST=

Review URL: https://webrtc-codereview.appspot.com/579008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2213 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-10 14:43:10 +00:00
kjellander@webrtc.org
b5b155b8a9 This CL introduces a new directory for WebRTC utility scripts for Valgrind: tools/valgrind-webrtc
To be able to re-use as much as possible from Chromium's scripts, I've created two customized scripts for running tests:
- webrtc_tests.py: a customized version of chrome_tests.py with WebRTC tests instead.
- webrtc_tests.sh: a customized version of the chrome_tests.sh wrapper script, to launch the above script.

The webrtc_tests.sh script is setting up PYTHONPATH so that tools/valgrind is available for the webrtc_tests.py script.
The webrtc_tests.py script inherits the chrome_tests.py script as much as possible, to minimize maintenance and maximize readability.
Having this mirrored setup of directories, allows us to use the same directory hierarchy for suppression files too. This CL only adds suppression files for memcheck, but we can add files for tsan later easily.

The suppression file is currently empty for Linux. For Mac I copied all the Chromium third-party suppressions. We will need a lot more added for Mac before Valgrind runs becomes usable for that platform.
The platform specific naming of the suppression files are handled automatically when webrtc_tests.sh  is used to launch the tests.

Example:
Plain memcheck (default tool): tools/valgrind-webrtc/webrtc_tests.sh -t system_wrappers
Run ThreadSanitizer: tools/valgrind-webrtc/webrtc_tests.sh  --tool=tsan -t system_wrappers

Previously mentioned AddressSanitizer requires additional scripts to be added and it not covered in this CL.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/322010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1240 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-20 08:53:41 +00:00