Personal tools

QA/Automation/Projects/WebRTC

From MozillaWiki

Jump to: navigation, search

Contents

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: Henrik Skupin, Dave Hunt, Rob Wood
Contributors: n/a
Repository: http://hg.mozilla.org/projects/alder/file/default/dom/media/tests/
Tracking Bug: bug 749522
Etherpad: http://etherpad.mozilla.com:9000/automation-webrtc

Sub Projects

Sub Project Status Description
Smoketests Active Suite of Smoketests for initial launch of 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.