Running IPC Reftests

Read first

Desktop

Currently, IPC Reftests are only being run on Linux. Also, only the {{ Source("layout/reftests/reftest-sanity/reftest.list", "sanity") }} tests are being run. If you try to run the full suite, you may experience stalls or other issues.

Running on try

To run the IPC Reftests on try, add the following try: block to the end of the topmost commit message when you push to try.

try: -b do -u reftest-ipc

For more information, refer to the TryChooser documentation.

Running with build environment

First, setup a Firefox build environment. In the following examples, $(OBJDIR) is the build's object directory. This is prefixed with obj-, and the exact name depends on your system and OS.

Run all tests

$ MOZ_LAYERS_FORCE_SHMEM_SURFACES=1 make -C $(OBJDIR) reftest-ipc

Running with built packages

First, download and extract the built test packages. The following commands require the extracted tests path as the working directory.

$ python reftest/runreftest.py --appname=$(APPLICATION) --utility-path=bin --extra-profile-file=bin/plugins --setpref=browser.tabs.remote=true reftest/tests/layout/reftests/reftest-sanity/reftest.list

Substitute $(APPLICATION) with the relative or absolute path to the Firefox binary. For example on Windows this might be firefox/firefox.exe and on Mac OS FirefoxNightly.app/Contents/MacOS/firefox-bin.

Manifests

The final argument is the manifest file, which determines the tests to be run. If you don't want to use the {{ Source("layout/reftests/reftest-sanity/reftest.list", "default manifest") }}, simply change this argument to point to an alternative. The format of the manifest is covered in Writing Reftests.

Crash diagnosis

See Reftest crash diagnosis.

Mobile

IPC Reftests are currently only run on Linux.

Continue reading

How to write IPC Reftests