2.2 KiB
Testing
The remote agent has unit- and functional tests located under
remote/test/{unit,browser}
.
You may run all the tests under a particular subfolder like this:
% ./mach test remote
Unit tests
Because tests are run in parallel and xpcshell itself is quite chatty, it can sometimes be useful to run the tests in sequence:
% ./mach xcpshell-test --sequential remote/test/unit/test_Assert.js
The unit tests will appear as part of the X
(for xpcshell) jobs
on Treeherder.
Browser chrome tests
We also have a set of functional browser chrome tests located under remote/test/browser:
% ./mach mochitest remote/test/browser/browser_cdp.js
The functional tests will appear under the M
(for mochitest)
category in the bc
(browser-chrome) jobs on Treeherder.
As the functional tests will sporadically pop up new Firefox application windows, a helpful tip is to run them in headless mode:
% ./mach mochitest --headless remote/test/browser
The --headless
flag is equivalent to setting the MOZ_HEADLESS
environment variable. You can additionally use MOZ_HEADLESS_WIDTH
and MOZ_HEADLESS_HEIGHT
to control the dimensions of the virtual
display.
Puppeteer tests
In addition to our own Firefox-specific tests, we run the upstream Puppeteer test suite against our implementation to track progress towards achieving full Puppeteer support in Firefox.
These tests are vendored under remote/test/puppeteer/ and are run locally like this:
% ./mach test remote/test/puppeteer/test
On try they appear under the remote(pup)
symbol, but because they’re
a Tier-3 class test job they’re not automatically scheduled.
To schedule the tests, look for source-test-remote-puppeteer
in
./mach try fuzzy
.