QA/Automation/Projects/WebRTC
Overview
"WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The WebRTC components have been optimized to best serve this purpose."
To ensure that the code quality of WebRTC in Firefox is in an overall good shape, automated tests have to be written. Those tests will be executed by the Mochitest framework on a per check-in basis.
Name: | WebRTC tests |
Leads: | Nils Ohlmeier |
Contributors: | n/a |
Repository: | http://hg.mozilla.org/mozilla-central/file/default/dom/media/tests |
Tracking Bug: | bug 749522 |
Etherpad: | http://etherpad.mozilla.com:9000/automation-webrtc |
Details
The code of WebRTC is in an early state and therefore not part of the main development tree of Firefox called mozilla-central yet. To test the feature and to contribute to the test creation process you will have to build your own version of Firefox from the project branch. In the following you can find all the information you need to get started.
Build Firefox
1. To build your own version of Firefox, setup the build system by following the steps outlined on the 'Firefox build' page on MDN.
2. Setup Mercurial and clone the alder branch - NOT mozilla-central:
$ cd %workspace% $ hg clone http://hg.mozilla.org/projects/alder/ $ cd alder
3. Create a ./mozconfig file in the root folder of the local checkout and fill in the content depending on your platform:
Linux:
ac_add_options --enable-debug ac_add_options --enable-trace-malloc ac_add_options --enable-signmar ENABLE_MARIONETTE=1 # Avoid dependency on libstdc++ 4.5 ac_add_options --enable-stdcxx-compat # Needed to enable breakpad in application.ini export MOZILLA_OFFICIAL=1 # Enable parallel compiling mk_add_options MOZ_MAKE_FLAGS="-j4" #Use ccache - TODO make sure this is where your ccache got installed ac_add_options --with-ccache=/usr/bin/ccache # Treat warnings as errors in directories with FAIL_ON_WARNINGS. ac_add_options --enable-warnings-as-errors
Mac:
ac_add_options --enable-debug ac_add_options --enable-trace-malloc ac_add_options --enable-accessibility ac_add_options --enable-signmar ENABLE_MARIONETTE=1 # Enable parallel compiling - TODO: make sure your mac has enough cores # to handle this! mk_add_options MOZ_MAKE_FLAGS="-j12" # Needed to enable breakpad in application.ini export MOZILLA_OFFICIAL=1 ac_add_options --with-macbundlename-prefix=Firefox # Package js shell. export MOZ_PACKAGE_JSSHELL=1
Windows:
ac_add_options --enable-debug ac_add_options --enable-trace-malloc ac_add_options --enable-signmar ENABLE_MARIONETTE=1 # Needed to enable breakpad in application.ini export MOZILLA_OFFICIAL=1 if test -n "${_PYMAKE}"; then mk_add_options MOZ_MAKE_FLAGS=-j4 else mk_add_options MOZ_MAKE_FLAGS=-j1 fi # TODO: you may need to find out what these extra mozconfigs from # <src>/build/win32 are doing and add those directly to this file and # remove this if statement. I have to do that sometimes on windows. if test "$PROCESSOR_ARCHITECTURE" = "AMD64" -o "$PROCESSOR_ARCHITEW6432" = "AMD64"; then . $topsrcdir/build/win32/mozconfig.vs2010-win64 else . $topsrcdir/build/win32/mozconfig.vs2010 fi # Package js shell. export MOZ_PACKAGE_JSSHELL=1
4. Build Firefox
$ make -f client.mk
Run Tests
There are no automated tests available yet which can be run by the Mochitest framework. But you can run the tests manually. Just start Firefox and open %workspace%/alder/dom/media/tests.