MailNews:Automated Testing

From MozillaWiki
Revision as of 08:45, 29 April 2008 by Standard8 (talk | contribs) (→‎xpcshell tests: Add more failing debug build tests.)
Jump to navigation Jump to search

<< Back to MailNews:Home Page

Automated testing for MailNews (i.e. Thunderbird and the Mail/Newsgroups part of SeaMonkey) is becoming more important. We need to ensure that when we are fixing bugs we do not introduce regressions in other areas of the code. Automated testing is a vital part of this.

This page and its sub-pages are intended to describe and provide pointers to the available test mechanisms within MailNews and supporting information for developers and testers.

Developers and contributors should consider adding tests within MailNews where possible.

Tests are not only useful for checking for regressions, but they can help developing and testing of patches. For example, xpcshell tests are very good at checking interfaces, and are very quick to run as they only require a "make check" - you don't have to start up the application, and all the tests happen automatically in a consistent manner.

See also MailNews:Performance Testing.

General Notes

The devmo pages have some good descriptions on how to start writing automated tests.

Not all the automated tests will work at the moment, some of them require new support architectures, some of them require other issues fixing before they will pass/work correctly.

Automated Tests

Notes for running on Trunk Builds

These apply to trunk builds of SeaMonkey and Thunderbird. They may also apply to other applications.

xpcshell tests

Some of the non-mailnews tests may currently fail in various places due to the following reasons:

  • test_bug356370.js
  • test_default_index_handler.js
    • Fails for builds where the source isn't in cvs, fixed in mozilla-central. See bug 427831.
  • test_bug299716.js
  • test_bug378216.js
  • test_bug394300.js
  • test_download_manager.js
    • These tests fail for debug builds of Thunderbird. See bug 431139.

Thunderbird builds will also fail in various places in core, see the dependencies of bug 406227.