Refactor TurnPort tests.

This commit makes the following changes:
1. Splits TestReconstructedServerUrl into 3 tests that individually
   check the reconstructed URL for UDP IPv4, UDP IPv6, and TCP.
2. Factors out common code between protocols for release allocation and
   reconstructed URL tests.
3. Provides functions for getting the expected RTT of various operations
   based on the protocol used. TurnPort tests use a fake clock in part
   to check tight bounds on the number of network round trips it takes
   to complete operations like getting TURN candidates and trying
   alternate servers. These RTTs are highly dependent on the
   characteristics of the transport-layer protocol used, so these
   details have been moved to dedicated functions with comments
   explaining how the numbers are calculated.

Bug: webrtc:7584
Change-Id: I3b065e25446cb5ecd955f359625a35fb0ad46777
Reviewed-on: https://chromium-review.googlesource.com/611500
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19395}
1 file changed
tree: 3bcc4e1067b4a58ce1ddb70e0fa3da22071f86e3
  1. build_overrides/
  2. data/
  3. infra/
  4. resources/
  5. tools_webrtc/
  6. webrtc/
  7. .clang-format
  8. .git-blame-ignore-revs
  9. .gitignore
  10. .gn
  11. AUTHORS
  12. BUILD.gn
  13. CODE_OF_CONDUCT.md
  14. codereview.settings
  15. DEPS
  16. LICENSE
  17. license_template.txt
  18. LICENSE_THIRD_PARTY
  19. OWNERS
  20. PATENTS
  21. PRESUBMIT.py
  22. pylintrc
  23. README.md
  24. WATCHLISTS
README.md

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

Development

See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.

More info