Flakiness was caused by a race condition between two atomic integers shared by two threads. Fixed by counting bad packets (those not containing the expected extension) instead of the good packets.
The CL also eliminates another possible flake by introducing a test fixture which doesn't automatically start sending audio packets when constructed.
BUG=3340,3356
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14499004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6182 4adac7df-926f-26a2-2b94-8c16560cd09d
With the switch recipes on the buildbots and the deprecation of
the custom script at
https://code.google.com/p/webrtc/source/browse/trunk/webrtc/test/buildbot_tests.py
these tests will start failing when Chromium's runtest.py is passing
--brave-new-test-launcher --test-launcher-bot-mode
to the test.
A similar change was made for most of WebRTC's tests (that depends on
the test_support_main target) in
https://webrtc-codereview.appspot.com/2222005
BUG=chromium:346198
TEST=Successfully launched the executables on Linux and Mac using:
out/Release/voe_auto_test --brave-new-test-launcher --test-launcher-bot-mode --automated --test-launcher-summary-output=/tmp/tmpwhx6Zz
out/Release/vie_auto_test --brave-new-test-launcher --test-launcher-bot-mode --automated --capture_test_ensure_resolution_alignment_in_capture_device=false --test-launcher-summary-output=/tmp/tmpwhx6Zz
R=henrika@webrtc.org, mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13499004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6135 4adac7df-926f-26a2-2b94-8c16560cd09d
Reasons for removing:
- Feels like a complete hack IMHO.
- Not used by any client.
- Unclear functionality regarding time stamp, marker bit etc.
- Causes several issues in tests due to a bad design which mainly depends on the fact that this API "breaks" an ongoing data/packet flow and it complicates the threading model and creates risks for deadlock and memory corruption. Not worth trying to fix given the very unclear benefit of maintaining the API. Better to remove the API instead.
- We also see lots of TSan races and memcheck errors related to this API.
BUG=2296,2240
R=mflodman@webrtc.org, niklas.enbom@webrtc.org, xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8819004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5574 4adac7df-926f-26a2-2b94-8c16560cd09d
These high level tests were disabled over time. Since they depend on
real-time results and the filesystem, they tended to be flaky on the
bots. We now give it a very generous 1 second to start up all channels
before verification and a further relaxed file length check. If we
continue to see problems, I will up the startup delay.
The restored tests would have caught the AGC bug fixed here:
https://code.google.com/p/webrtc/source/detail?r=5454
Add a new "real audio" stress test to exercise more code paths. This
would have caught the refactor bug fixed here:
https://code.google.com/p/webrtc/source/detail?r=5437
BUG=2164,2844
TESTED=git try. Verified it would have caught the aforementioned bugs
by reintroducing them.
R=andresp@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8009004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5522 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL fixes the problem with voe_auto_test extended-codec test, as well as
extended-file test. First problem was that Opus was not added as a special case, like the other codecs, and the second problem was that the tests were not updated when test files were moved to the resources catalogue.
There are still some tests that fails. Here is a list of all extended tests and their status:
Base: fails - the reason seem to be that external transport has been removed.
CallReport: passes
Codec: passes (with this CL)
DTMF: passes
Encryption: fails or is dissabled?
VoEExternalMedia: passes
File: passes (with this CL)
Hardware: passes
NetEqStats: empty?
Network: passes
RTP_RTCP: fails
VideoSync: fails
VolumeControl: passes
BUG=issue2234
R=andrew@webrtc.org, henrika@webrtc.org, xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2023004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5020 4adac7df-926f-26a2-2b94-8c16560cd09d
This version of LoopBackTransport hands packets over to a network thread
which will deliver them instead. This allows SendRTP and SendRTCP to
always be able to return, preventing deadlocks in voe_auto_test. The
previous case did not represent actual network usage. Now the send and
receive side can run concurrently with the receiving side. Previously
the sender thread also drove the receiving side, which does not
represent the regular use case where packets are put on a network
socket.
BUG=1568,2081,2178
TEST=Ran VoiceEngine RtpRtcpTest.*, known for deadlocking, 100+ times.
R=xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1985005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4516 4adac7df-926f-26a2-2b94-8c16560cd09d
The complexity of the last ChannelManager and potentially usage of it as well caused race conditions and deadlocks in loopback voe_auto_test. This ref-counted solution takes no long-term locks, uses less locks overall and is significantly easier to understand.
ScopedChannel has been split up into a ChannelOwner with a reference to a channel and an Iterator over ChannelManager. Previous code was really used for both things. ChannelOwner is used as a shared pointer to a channel object, while an Iterator should work as expected.
BUG=2081
R=tommi@webrtc.org, xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1802004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4502 4adac7df-926f-26a2-2b94-8c16560cd09d
Whenever this test (RtcpApplicationDefinedPacketsCanBeSentAndReceived) fails
because it's being run on a slower system (such as one running under valgrind),
valgrind reports a lot of undefined-value errors. Initializing the data
makes sure that, while the EXPECT_EQs trigger, they don't cause any errors in
valgrind.
BUG=
R=xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1822004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4363 4adac7df-926f-26a2-2b94-8c16560cd09d