Automated testing is an increasingly significant and important part of MailNews development. It allows reviewers to quickly pick up regressions in patches and helps developers to think about different cases.
This page and its sub-pages describe (and link to) the available test mechanisms within MailNews, and provide supporting information for developers and testers.
These are core test harnesses to which MailNews adds its own tests. These tests are run against almost every changeset that gets committed to the Thunderbird and SeaMonkey code bases.
xpcshell-tests
are run in JavaScript without any chrome present. This makes them especially useful for testing at the component / module level. xpcshell-tests
are the quickest tests to run. MailNews provides additional facilities as described on the MailNews automated testing page (see below).make check
" is used to run compiled code tests. These tests can go beyond the limitations of xpcshell-tests
(for example, access c++ code) and other testing options that don't test at the right level.The AsyncTestUtils Extended Framework supports:
These tests start up Thunderbird or SeaMonkey and record any leaks found, as well as the total memory requirement. Although currently based on simple tests, these are useful for determining if new leaks have been introduced.
For more information, see Leak and Bloat Tests.
MailNews provides some additional facilities to aid the testing of MailNews protocols.