QA/Automation/Projects/WebRTC: Difference between revisions

From MozillaWiki
< QA‎ | Automation‎ | Projects
Jump to navigation Jump to search
No edit summary
Line 39: Line 39:
  | Suite of Smoketests for initial launch of WebRTC
  | 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 [http://hg.mozilla.org/projects/alder|alder 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 '[https://developer.mozilla.org/en-US/docs/Simple_Firefox_build|Simple Firefox build]' page on MDN.
2. Setup [https://developer.mozilla.org/en-US/docs/Mozilla_Source_Code_(Mercurial) Mercurial] and clone the <em>alder</em> branch - <strong>NOT mozilla-central</strong>:
    $ 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

Revision as of 13:00, 25 September 2012


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