Media/WebRTC/Testing: Difference between revisions

From MozillaWiki
< Media‎ | WebRTC
Jump to navigation Jump to search
Line 9: Line 9:
=== C++ Unit Tests ===
=== C++ Unit Tests ===


The WebRTC code has extensive C++ unit and system tests based on the [ https://code.google.com/p/googletest/ Google Test]
The WebRTC code has extensive C++ unit and system tests based on the Google Test  (https://code.google.com/p/googletest/)
framework. These tests live in two locations:
framework. These tests live in two locations:


Line 35: Line 35:
Additionally, the TURN tests require you to specify a TURN server. However, we don't
Additionally, the TURN tests require you to specify a TURN server. However, we don't
provide one for Tinderbox because we don't want to operate a public server and
provide one for Tinderbox because we don't want to operate a public server and
releng hasn't set one up in the test environment yet.
releng hasn't set one up in the test environment yet (
[[ https://bugzilla.mozilla.org/show_bug.cgi?id=865296 | Bug 865296]]
https://bugzilla.mozilla.org/show_bug.cgi?id=865296)


If you have a TURN server, you can point the tests at it by setting:
If you have a TURN server, you can point the tests at it by setting:

Revision as of 23:14, 28 April 2013

WebRTC Test System

We currently test WebRTC with two sets of tests:

  • Standalone C++ unit and system tests.
  • Full system mochitests.


C++ Unit Tests

The WebRTC code has extensive C++ unit and system tests based on the Google Test (https://code.google.com/p/googletest/) framework. These tests live in two locations:

  • media/mtransport — the mtransport generic transport subsystem and associated utilities
  • media/webrtc/signaling/test — the signaling system and the media handling system

As usual, you can run them individually by doing:

  make -C <directory>

Alternately, you can run a single C++ unit test by name, e.g.,

  media/mtransport/test/ice_unittest

Tinderbox runs all the tests in a given directory but for a variety of reasons some of the tests aren't run on Tinderbox. This is controlled by requiring certain environment variables to be set.

A number of tests have been disabled on Tinderbox because they either take a long time or have excessive oranges. To enable these, set:

   MOZ_WEBRTC_TESTS=1


Additionally, the TURN tests require you to specify a TURN server. However, we don't provide one for Tinderbox because we don't want to operate a public server and releng hasn't set one up in the test environment yet ( https://bugzilla.mozilla.org/show_bug.cgi?id=865296)

If you have a TURN server, you can point the tests at it by setting:

   TURN_SERVER_ADDRESS
   TURN_SERVER_USER
   TURN_SERVER_PASSWORD

We do not