Commit Graph

117 Commits

Author SHA1 Message Date
kjellander@webrtc.org
eddbfb8cf8 Add more Dr Memory suppressions for common_audio_unittests
BUG=2321
TEST=passing local run.
TBR=andrew

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4754 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-16 20:53:20 +00:00
stefan@webrtc.org
ab800f64bc Disable flaky libjingle tests under tsan and memcheck.
BUG=2380, 2379
TBR=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4752 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-16 15:22:32 +00:00
pbos@webrtc.org
e07049f19f Lock RTPSender statistics.
Suppressing these errors in TSan has become tedious. It's better to just
lock them.

BUG=2349
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4713 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-10 11:29:17 +00:00
pbos@webrtc.org
26b0d77baf Suppress RTPSender race regardless of codec.
New test uses SendGeneric instead of SendVP8.

BUG=2349
TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4705 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 15:34:36 +00:00
pbos@webrtc.org
0181b5f8dd ExternalVideoDecoder for new VideoEngine API.
Implements the ExternalVideoDecoder interface for VideoReceiveStream.
Also adds a FakeDecoder used in tests, removing the overhead of running
the EngineTest tests with VP8 under Memcheck/TSan, allowing us to enable
them under Memcheck/TSan as well.

BUG=2346,2312
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4702 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 08:26:30 +00:00
andrew@webrtc.org
9080518a39 Restore severity precondition to logging.h.
I mistakenly ommitted the checks when logging.h was ported from
libjingle to webrtc. This caused a significant CPU cost for logs which
were later filtered out anyway.

Verified with LS_VERBOSE logging in neteq4, running:
$ out/Release/modules_unittests \
--gtest_filter=NetEqDecodingTest.TestBitExactness \
--gtest_repeat=50 > time.txt
$ grep "case ran" time.txt | grep "[0-9]* ms" -o | sort

Results on a MacBook Retina, averaged over 5 runs:
Verbose logs disabled:                          666 ms
Exisiting implementation, verbose logs enabled: 944 ms (1.42x)
New implementation, verbose logs enabled:       673 ms (1.01x)

BUG=2314
R=henrik.lundin@webrtc.org, henrike@webrtc.org, kjellander@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4682 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 16:40:43 +00:00
mflodman@webrtc.org
e2d4da6586 Enable EngineTest.ReceivesPliAndRecoversWithNack and fix memcheck suppression filter.
BUG=2346
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4677 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-04 14:21:57 +00:00
mflodman@webrtc.org
be23b32727 Adding tsan suppression for BUG 2349.
TSAN found a read/write race for RTPSender::[packets_sent_/payload_bytes_sent)] between RTPSender::SendToNetwork and RTCPSender::SendRTCP.

BUG=2349
R=holmer@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4676 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-04 13:36:52 +00:00
mikhal@webrtc.org
3abb82d8df Suppress video engine test
BUG=2346
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4670 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 22:19:31 +00:00
kjellander@webrtc.org
c8c32638be Remove JpegEncoder suppression as jpeg is now removed.
See https://code.google.com/p/webrtc/source/detail?r=4646

BUG=2322
TEST=Ran common_video_unittests with the suppression removed
TBR=phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4664 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 18:38:52 +00:00
mflodman@webrtc.org
f5f5da0df1 Adding TSAN suppression for test posix udp transport.
This is race for reading a bool in the WebRTC test UDP transport and
not in any production code.

R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4663 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 14:15:21 +00:00
kjellander@webrtc.org
5aedb295d5 Add TSan and Dr Memory suppressions for Windows
This works enables us to add add more memory tools bots to the
WebRTC FYI waterfall at
http://build.chromium.org/p/client.webrtc.fyi/waterfall
These suppressions will be needed to get the bots green initially.

This CL also updates the PRESUBMIT.py scripts for the previous
memcheck and TSan suppression directories with the trybots we
currently have. It also adds a PRESUBMIT.py script for the
Dr Memory suppressions.

BUG=1938,2319,2321,2322,2323,2324,2328,2329,2330,2333
TEST=Local execution of the tests passes when these suppressions
are used.

R=niklas.enbom@webrtc.org, phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4653 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-02 11:50:46 +00:00
kjellander@webrtc.org
f8c16b8bf4 Disabling CondVarTest for TSan v2 (take 2)
This test goes into an eternal loop sometimes when run under
TSan v2, therefore I'm disabling it until this is resolved.
Doing that, the TSan v2 bot in our new WebRTC FYI waterfall at
http://build.chromium.org/p/client.webrtc.fyi/waterfall
will hopefully go green.

The define used only exists for TSan v2, so v1 should be
unaffected.

The suppression added in http://review.webrtc.org/2126005/
turns out actually has no effect, so I'm removing it again.
It's probably useless since TSan v2 obviously alters the code's
behavior, causing these errors. Since the errors are not TSan v2
failures, the suppression has no effect.

BUG=2259
TEST=test passing locally when run as described in 2259 (since
no tests are run).

R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4639 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-29 09:47:18 +00:00
kjellander@webrtc.org
5f8d05add2 Disabling CondVarTest for TSan v2.
This test goes into an eternal loop sometimes when run under
TSan v2, therefore I'm disabling it until this is resolved.
Doing that, our new WebRTC FYI waterfall with a TSan v2 bot will hopefully go green when deployed (see https://codereview.chromium.org/23231004)

The define used only exists for TSan v2, so v1 should be
unaffected.

BUG=2259
TEST=test passing locally when run as described in 2259 (since
no tests are run).

R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4635 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-28 19:54:33 +00:00
pbos@webrtc.org
2b325e8394 TSan suppression for RampUpTest/* and EngineTest/*Nack*.
BUG=2312
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4633 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-28 10:29:10 +00:00
phoglund@webrtc.org
02421fcf0b Corrected documentation on webrtc_test.sh.
R=kjellander@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4628 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-27 14:00:10 +00:00
tina.legrand@webrtc.org
89502c1ca8 Memory and tsan tests: Turning off renamned tests
In r4625 AudioCodingModuleTest.RunAllTests was broken down to a number of
smaller tests. This CL turns off these tests, as RunAllTests was turned off
before.

TBR=kjellander@webrtc.org

BUG=issue2173

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4626 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-27 09:38:10 +00:00
henrike@webrtc.org
442709ea96 Disable broken test and add suppressions.
BUG=2299,1205

TBR=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4606 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-23 21:42:01 +00:00
henrike@webrtc.org
69a774fc42 Suppresses another tsan warning. Warning is reported here: http://chromegw/i/client.webrtc/builders/Linux%20Tsan/builds/460/steps/memory%20test%3A%20libjingle_peerconnection_unittest/logs/D5CAED6268DAACB7
TBR=wu@webrtc.org

BUG=N/A

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4603 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-23 14:38:15 +00:00
henrike@webrtc.org
61b262c427 Disable tests according to issues: 1205,2272,2288,2290,2291
BUG=1205,2272,2288,2290,2291
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4596 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-22 20:27:49 +00:00
wu@webrtc.org
ebe68aad44 Fix memory leak in portallocatorsessionproxy_unittest.
Remove the suppressions that have been fixed.

BUG=1972,2263
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4576 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-20 21:14:39 +00:00
phoglund@webrtc.org
32fe90b3f9 Made all integration tests use consistent naming.
After decision by pbos@, mflodman@ et. al.

BUG=
R=kjellander@webrtc.org, mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4565 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-19 11:40:19 +00:00
kjellander@webrtc.org
f3bf5e02c8 Add suppressions file for TSan v2
This is needed for our tests to pass when run under TSan v2.
More details on TSan v2 can be found at
http://www.chromium.org/developers/testing/threadsanitizer-tsan-v2

BUG=chromium:274414
TEST=ran tests locally standing in trunk/ using:
GYP_DEFINES=tsan=1 linux_use_tcmalloc=0 release_extra_cflags="-gline-tables-only" gclient runhooks
ninja -C out/Release
TSAN_OPTIONS=suppressions=tools/valgrind-webrtc/tsan_v2/suppressions.txt print_suppressions=1 report_signal_unsafe=0 report_thread_leaks=0 history_size=7 out/Release/testname
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4564 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-19 05:33:20 +00:00
wu@webrtc.org
166991fa1f Suppress tsan errors on libjingle_peerconnection_unittest.
TBR=mallinath
BUG=1205

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4560 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-16 17:57:44 +00:00
wu@webrtc.org
a2e0901e54 Suppress tsan errors.
BUG=1205,2079
TBR=mallinath

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4558 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-16 17:00:01 +00:00
wu@webrtc.org
97d1a988b6 Remove suppressions for the cases that's already fixed.
Rename some of the suppressions to new issue.
Fix leaks in virtualsocket_unittest.

BUG=1972,1976,2100
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4536 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-13 00:13:26 +00:00
wu@webrtc.org
94349552de Disable P2PTransportChannelTest.* on memcheck and tsan bots due to issue 1972.
TBR=mallinath
BUG=1972
RISK=P3
TEST=with below cmd lines and disabled tests won't run
tools/valgrind-webrtc/webrtc_tests.sh --build_dir out/Debug --test libjingle_p2p_unittest --gtest_filter=P2PTransportChannelTest* --tool tsan
tools/valgrind-webrtc/webrtc_tests.sh --build_dir out/Debug --test libjingle_p2p_unittest --gtest_filter=P2PTransportChannelTest* --tool memcheck

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4479 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 23:30:50 +00:00
wu@webrtc.org
4ebd8efc09 Supress libjingle_unittest fails on TSan.
BUG=2080
TBR=mallinath

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4471 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 00:14:41 +00:00
wu@webrtc.org
0dc0f172a3 sscanf isn't safe with strings that aren't null-terminated. In such case, create a local copy that is null-terminated first.
TESTED=GYP_DEFINES=build_for_tool=memcheck gclient runhooks
ninja -C out/Debug/ libjingle_unittest
tools/valgrind-webrtc/webrtc_tests.sh --tool memcheck --test out/Debug/libjingle_unittest  --gtest_filter=Http*

R=noahric@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4469 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-01 21:20:46 +00:00
wu@webrtc.org
6abb750993 Delete gtest_exclude for asan which doesn't have effect with how the bots are setup now
Add gtest_exclude for tsan to disable some flakey tests.
Change tsan suppression since the function name has been changed from DecodeWithErrors to DecodeErrorMode.

TBR=mallinath

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4465 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-01 18:00:02 +00:00
wu@webrtc.org
27c0408a16 Suppressing tsan errors on libjingle_unittest and libjingle_peerconnection_unittest.
BUG=1205,2080
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4458 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 22:41:15 +00:00
wu@webrtc.org
d40b4d9685 Fix libjingle memory bots by suppressing some of the errors.
BUG=1205,2153
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4453 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 17:32:36 +00:00
wu@webrtc.org
7446870a0f Suppress failing tests on Linux Memcheck bot.
BUG=2153
TBR=mallinath

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4439 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-30 23:36:42 +00:00
wu@webrtc.org
9c9fc767b1 Fixing the memory check bots by suppressing some of the tests.
BUG=1205,2078,2080
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4438 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-30 22:54:08 +00:00
wu@webrtc.org
933946ac55 Suppress libjingle_peerconnection_unittest failures on linux memcheck build bot.
BUG=2153
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4437 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-30 22:28:29 +00:00
wu@webrtc.org
0342e65f8d Disable peerconnection tests that are failing on memcheck.
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4436 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-30 22:28:14 +00:00
wu@webrtc.org
ae7bf1525b Disable p2p tests that are failing on memory test.
BUG=1972
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4435 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-30 21:40:39 +00:00
henrike@webrtc.org
5e44b8fac1 Add libjingle's valgrind suppressions
BUG=2104
R=kjellander@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4375 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-19 16:00:41 +00:00
kjellander@webrtc.org
63e988856e Merge more tests into modules_{unit,integration}tests.
A new test target named 'modules_integrationtests' is created
and the following test targets were merged into it:
* audio_coding_module_test
* test_fec
* video_coding_integrationtests
* vp8_integrationtests

A couple of other targets were merged into modules_unittests:
* audio_coding_unittests
* audioproc_unittest
* common_unittests
* video_coding_unittests
* video_processing_unittests
* vp8_unittests

I wasn't able to merge audio_decoder_unittests and neteq_unittests due to
conflicts with different defines in these tests.

Some tests that have special requirements aren't merged into
modules_integrationtests yet. I took the opportunity to rename them
since the bot configs will need to be update anyway:
* audio_device_test_api -> audio_device_integrationtests
* video_capture_module_test -> video_capture_integrationtests
* video_render_module_test -> video_render_integrationtests

Exclude files were added for modules_integrationtests to make sure
the memcheck and tsan bots doesn't tests that are too slow
(audio_coding_module_test and vp8_integrationtests were previously
disabled on those bots).

Suppressions for AudioCodingModuleTest needed to be added to get
modules_integrationtests to pass memcheck (even if the test is
excluded from execution).

BUG=1843
TEST=local execution on Linux and trybots (passing except the merged tests of course)
R=andrew@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4228 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-14 20:09:44 +00:00
kjellander@webrtc.org
6d6d95e2b8 Add support for test disable files in webrtc_tests.py
Adding support for text files in
tools/valgrind-webrtc/gtest_exclude that are used by the
wrapper script for memory tool execution (webrtc_tests.py).

This allows fine-grained disabling of tests using checked in
text files instead of maintaining such in the buildbot config.

For more details on naming of these text files and what to put
in them, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium/memory-sheriff#TOC-Excluding-tests

TEST=local execution of tsan and memcheck on Linux, using an
exclude file (done during development of http://review.webrtc.org/1647005)
BUG=none
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4212 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-11 06:03:32 +00:00
kjellander@webrtc.org
14d1898bf9 Removing arena_thread_freeres suppression
It is no longer needed since we are now using a Chromium revision that
is newer than
http://src.chromium.org/viewvc/chrome?view=rev&revision=172313
In that revision, the arena_thread_freeres suppression was added to
ignore.txt.

BUG=300
TEST=tools/valgrind-webrtc/webrtc_tests.sh --tool=tsan -t
out/Release/system_wrappers_unittests
and trybot execution on linux_tsan

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3375 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-16 10:49:31 +00:00
phoglund@webrtc.org
171ac59426 Corrected TSAN suppression.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3356 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-10 12:44:27 +00:00
kjellander@webrtc.org
dc6fa02422 Fixing error in argument parsing
The change in r3354 caused the --tool argument to not be parsed if it's passed after the test executable. Then it's considered an argument to the test rather than a script flag.
This CL cleans the code a bit and makes it possible to pass all the supported argument in the different ways possible.

NOTICE: To pass arguments to the test executable, you must use the -- argument must be specified before the test arguments start, to signal that everything that comes after it are positional arguments only (which are passed on to the test during execution).

BUG=none
TEST=The following combinations have been tested:
tools/valgrind-webrtc/webrtc_tests.sh -b out/Debug -t test_support_unittests --tool asan
tools/valgrind-webrtc/webrtc_tests.sh -b out/Debug -t test_support_unittests --tool asan -- --foo --bar
tools/valgrind-webrtc/webrtc_tests.sh --tool asan -b out/Debug -t test_support_unittests
tools/valgrind-webrtc/webrtc_tests.sh --tool asan -b out/Debug -t test_support_unittests -- --foo --bar

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3355 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-10 10:06:15 +00:00
kjellander@webrtc.org
8f13810cf2 Improved memory tool test wrapper script
* Clarified that the test only supports specifying a single test (multiple didn't work before, so better not claim to support it).
* No longer needs test executable arguments to use ++ instead of --
* Only appends the build_dir path to the test executable if not already
  present.
* Simplified suppression path handling.
* Fixed crash when -v was used (import logging was missing)
* Style fixes.
* Thorougly tested with all the supported flags.

I noted that the --gtest_filter flag does not work as expected (it's
only for 'additional gtest_filter arguments', which seems to mean
additional arguments to the gtest filter text files that are used by
Chrome. I left it in here anyway. If --gtest_filter is given after the
test executable it will work, since those arguments are added straight
to the test executable
the test

BUG=none
TEST=I ran the following commands and verified that the suppressions and flags were handled correct:
tools/valgrind-webrtc/webrtc_tests.sh -v --gtest_repeat=2 --keep_logs --tool_flags=--trace-children=yes -t out/Debug/test_support_unittests --foo --bar

tools/valgrind-webrtc/webrtc_tests.sh -v --gtest_repeat=2 --keep_logs --tool_flags=--trace-children=yes -b out/Debug -t test_support_unittests --foo --bar

tools/valgrind-webrtc/webrtc_tests.sh -v --gtest_repeat=2 --keep_logs --tool_flags=--trace-children=yes -b out/Debug -t out/Debug/test_support_unittests --foo --bar

tools/valgrind-webrtc/webrtc_tests.sh -v --tool=tsan --gtest_repeat=2 --keep_logs --tool_flags=--trace-children=yes -t out/Debug/test_support_unittests --foo --bar

tools/valgrind-webrtc/webrtc_tests.sh -v --tool=tsan --gtest_repeat=2 --keep_logs --tool_flags=--trace-children=yes -b out/Debug -t test_support_unittests --foo --bar

tools/valgrind-webrtc/webrtc_tests.sh -v --tool=tsan --gtest_repeat=2 --keep_logs --tool_flags=--trace-children=yes -b out/Debug -t out/Debug/test_support_unittests --foo --bar

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3354 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-10 08:13:52 +00:00
phoglund@webrtc.org
bc9a959bd7 Generalized suppression for Trace::Add
BUG=1194
TEST=Local run

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3340 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-07 13:01:46 +00:00
kjellander@webrtc.org
0240e8e90f Wider TSAN suppression for issue 300
On some machines, this test has still been failing, so I'm widening the
suppression to resolve this.

BUG=300
TEST=passing linux_tsan trybot.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3280 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 13:02:29 +00:00
kjellander@webrtc.org
d2bcde2e4e Suppressing TSan warnings for system_wrappers_unittests
This CL makes system_wrappers_unittests pass on Lucid (it passed on Precise
without them for me).

BUG=300
TEST=Try job on linux_tsan
TBR=henrike

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3263 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-11 21:39:18 +00:00
turaj@webrtc.org
42259e7ebc VoE Changes to enable dual_streaming.
TEST=added new unit-test

This CL depends on issue 933015 http://webrtc-codereview.appspot.com/933015/
which is under review. Should be committed after issue 933015 is committed.
Committed: https://code.google.com/p/webrtc/source/detail?r=3231
Review URL: https://webrtc-codereview.appspot.com/970005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3257 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-11 02:15:12 +00:00
phoglund@webrtc.org
0f8286fd75 Added last (?) suppressions for known issues.
BUG=1152

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3180 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 14:21:12 +00:00
kjellander@webrtc.org
0f4185f8bb Making valgrind wrapper script work with test arguments
This is needed to be able to run memcheck/tsan/asan with command line arguments in the way the bots are executing the script (using --build_dir and --test arguments).

BUG=none
TEST=local execution

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3106 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-15 15:19:28 +00:00
phoglund@webrtc.org
8d408455d9 Generalized suppressions to cover issues found on bot.
Turns out the bot is running a different version of libpthread, probably because I'm on gPrecise / gcc 4.6 whereas the bot is on 4.4? Anyway, I've generalized that stuff now.

BUG=
TEST=Ran voe & vie_auto_test under valgrind locally.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2973 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-23 09:21:16 +00:00
phoglund@webrtc.org
21ca3fab12 Extended suppressions to be more general and suppress missed errors.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2930 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-15 21:02:56 +00:00
phoglund@webrtc.org
ff33bdd9d7 Suppressed all voe_auto_test standard suite bugs and introduced a flag for excluding timing-dependent tests.
Also Suppressed FakeMediaProcess errors (bug 898) and took out a test and suppressed general errors (bug 332). Lastly, fixed memory leak in misc test.

BUG=898, 332
TEST=Ran voe_auto_test with repeat=10 through the whole standard suite, under valgrind. Ran without valgrind. Tested that the extended and standard tests still start and are reachable from the menu.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2898 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-10 15:41:03 +00:00
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