|
|
DescriptionImprove and re-enable FEC end-to-end tests.
These tests got flaky under the new jitter buffer.
Enhancements:
- Use send-side BWE.
- Let BWE ramp up before applying packet loss.
- Improve packet loss simulation for ULPFEC.
- Add delay to fake network pipe for FlexFEC.
(Not added for ULPFEC, since this makes those flaky...?)
- Add FlexFEC+NACK test, using RTX instead of "raw retransmits".
- Tighter checks of received packets' payload types and SSRCs.
TESTED=
$ ninja -C out/Debug video_engine_tests && third_party/gtest-parallel/gtest-parallel -r 1000 out/Debug/video_engine_tests --gtest_filter="*EndToEnd*Ulpfec*:*EndToEnd*Flexfec*"
ninja: Entering directory `out/Debug'
ninja: no work to do.
[12000/12000] TestWithNewVideoJitterBuffer/EndToEndTest.RecoversWithFlexfecAndNack/1 (14935 ms)
BUG=webrtc:7047
Review-Url: https://codereview.webrtc.org/2675573004
Cr-Commit-Position: refs/heads/master@{#16449}
Committed: https://chromium.googlesource.com/external/webrtc/+/d40b0f39e08bf0e4d7427bf73b4e3f86bbeb34be
Patch Set 1 : Run on slow bots. #Patch Set 2 : Minimal rebase. #
Total comments: 4
Patch Set 3 : holmer comments 1. #Messages
Total messages: 20 (10 generated)
Description was changed from ========== Improve and re-enable FEC end-to-end tests. These tests got flaky under the new jitter buffer. Enhancements: - Use send-side BWE. - Let BWE ramp up before applying packet loss. - Improve packet loss simulation for ULPFEC. - Add delay to fake network pipe for FlexFEC. (This makes the ULPFEC test flaky...?) - Add FlexFEC+NACK test, using RTX instead of "raw retransmits". - Tighter checks of received packets' payload types and SSRCs. TESTED= $ ninja -C out/Debug video_engine_tests && third_party/gtest-parallel/gtest-parallel -r 1000 out/Debug/video_engine_tests --gtest_filter="*EndToEnd*Ulpfec*:*EndToEnd*Flexfec*" ninja: Entering directory `out/Debug' ninja: no work to do. [12000/12000] TestWithNewVideoJitterBuffer/EndToEndTest.RecoversWithFlexfecAndNack/1 (14935 ms) BUG=webrtc:7047 ========== to ========== Improve and re-enable FEC end-to-end tests. These tests got flaky under the new jitter buffer. Enhancements: - Use send-side BWE. - Let BWE ramp up before applying packet loss. - Improve packet loss simulation for ULPFEC. - Add delay to fake network pipe for FlexFEC. (Not added for ULPFEC, since this makes those flaky...?) - Add FlexFEC+NACK test, using RTX instead of "raw retransmits". - Tighter checks of received packets' payload types and SSRCs. TESTED= $ ninja -C out/Debug video_engine_tests && third_party/gtest-parallel/gtest-parallel -r 1000 out/Debug/video_engine_tests --gtest_filter="*EndToEnd*Ulpfec*:*EndToEnd*Flexfec*" ninja: Entering directory `out/Debug' ninja: no work to do. [12000/12000] TestWithNewVideoJitterBuffer/EndToEndTest.RecoversWithFlexfecAndNack/1 (14935 ms) BUG=webrtc:7047 ==========
Rebase.
brandtr@webrtc.org changed reviewers: + philipel@webrtc.org, stefan@webrtc.org
More work in the quest to deflake these tests. This implementation passed 1000 local runs successfully. In PS1, I also ran it on the slow bots without problems. PS2 is a minimal rebase.
brandtr@webrtc.org changed reviewers: + nisse@webrtc.org - philipel@webrtc.org
-philipel (Whistler) +nisse
lg https://codereview.webrtc.org/2675573004/diff/20001/webrtc/video/end_to_end_t... File webrtc/video/end_to_end_tests.cc (right): https://codereview.webrtc.org/2675573004/diff/20001/webrtc/video/end_to_end_t... webrtc/video/end_to_end_tests.cc:639: } For all these NOTREACHED, why not: EXPECT_FALSE(encapsulated_payload_type != kFakeVideoSendPayloadType && encapsulated_payload_type != kUlpfecPayloadType) etc? Is it because you want to crash instead? Then I'd do RTC_CHECK or DCHECK instead. https://codereview.webrtc.org/2675573004/diff/20001/webrtc/video/end_to_end_t... webrtc/video/end_to_end_tests.cc:677: test::kTransportSequenceNumberExtensionId)); Maybe time to make this the default. I'll take a look at that.
https://codereview.webrtc.org/2675573004/diff/20001/webrtc/video/end_to_end_t... File webrtc/video/end_to_end_tests.cc (right): https://codereview.webrtc.org/2675573004/diff/20001/webrtc/video/end_to_end_t... webrtc/video/end_to_end_tests.cc:639: } On 2017/02/03 08:53:45, stefan-webrtc wrote: > For all these NOTREACHED, why not: > EXPECT_FALSE(encapsulated_payload_type != kFakeVideoSendPayloadType && > encapsulated_payload_type != kUlpfecPayloadType) etc? > > Is it because you want to crash instead? Then I'd do RTC_CHECK or DCHECK > instead. I don't necessarily have to crash, but I want to tighten up the implicit assumptions that were being done before. Changing to EXPECTs. https://codereview.webrtc.org/2675573004/diff/20001/webrtc/video/end_to_end_t... webrtc/video/end_to_end_tests.cc:677: test::kTransportSequenceNumberExtensionId)); On 2017/02/03 08:53:45, stefan-webrtc wrote: > Maybe time to make this the default. I'll take a look at that. +1
lgtm
The CQ bit was checked by brandtr@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm. Not very familiar with how these tests work, though.
The CQ bit was checked by brandtr@webrtc.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
CQ is committing da patch. Bot data: {"patchset_id": 40001, "attempt_start_ts": 1486385575078660, "parent_rev": "cb789bb510c707be9648a1befa1cbc5cfabff362", "commit_rev": "d40b0f39e08bf0e4d7427bf73b4e3f86bbeb34be"}
Message was sent while issue was closed.
Description was changed from ========== Improve and re-enable FEC end-to-end tests. These tests got flaky under the new jitter buffer. Enhancements: - Use send-side BWE. - Let BWE ramp up before applying packet loss. - Improve packet loss simulation for ULPFEC. - Add delay to fake network pipe for FlexFEC. (Not added for ULPFEC, since this makes those flaky...?) - Add FlexFEC+NACK test, using RTX instead of "raw retransmits". - Tighter checks of received packets' payload types and SSRCs. TESTED= $ ninja -C out/Debug video_engine_tests && third_party/gtest-parallel/gtest-parallel -r 1000 out/Debug/video_engine_tests --gtest_filter="*EndToEnd*Ulpfec*:*EndToEnd*Flexfec*" ninja: Entering directory `out/Debug' ninja: no work to do. [12000/12000] TestWithNewVideoJitterBuffer/EndToEndTest.RecoversWithFlexfecAndNack/1 (14935 ms) BUG=webrtc:7047 ========== to ========== Improve and re-enable FEC end-to-end tests. These tests got flaky under the new jitter buffer. Enhancements: - Use send-side BWE. - Let BWE ramp up before applying packet loss. - Improve packet loss simulation for ULPFEC. - Add delay to fake network pipe for FlexFEC. (Not added for ULPFEC, since this makes those flaky...?) - Add FlexFEC+NACK test, using RTX instead of "raw retransmits". - Tighter checks of received packets' payload types and SSRCs. TESTED= $ ninja -C out/Debug video_engine_tests && third_party/gtest-parallel/gtest-parallel -r 1000 out/Debug/video_engine_tests --gtest_filter="*EndToEnd*Ulpfec*:*EndToEnd*Flexfec*" ninja: Entering directory `out/Debug' ninja: no work to do. [12000/12000] TestWithNewVideoJitterBuffer/EndToEndTest.RecoversWithFlexfecAndNack/1 (14935 ms) BUG=webrtc:7047 Review-Url: https://codereview.webrtc.org/2675573004 Cr-Commit-Position: refs/heads/master@{#16449} Committed: https://chromium.googlesource.com/external/webrtc/+/d40b0f39e08bf0e4d7427bf73... ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as https://chromium.googlesource.com/external/webrtc/+/d40b0f39e08bf0e4d7427bf73...
Message was sent while issue was closed.
A revert of this CL (patchset #3 id:40001) has been created in https://codereview.webrtc.org/2672373002/ by brandtr@webrtc.org. The reason for reverting is: Ulpfec tests are still flaky on buildbots.. |