mozbase
Mozbase is a set of easy-to-use Python packages forming a supplemental standard library for Mozilla. It provides consistency and reduces redundancy in automation and other system-level software. All of Mozilla’s test harnesses use mozbase to some degree, including Talos, mochitest, and reftest.
In the course of writing automated tests at Mozilla, we found that the same tasks came up over and over, regardless of the specific nature of what we were testing. We figured that consolidating this code into a set of libraries would save us a good deal of time, and so we spent some effort factoring out the best-of-breed automation code into something we named “mozbase” (usually written all in lower case except at the beginning of a sentence).
This is the main documentation for users of mozbase. There is also a project wiki page with notes on development practices and administration.
The documentation is organized by category, then by module. Figure out what you want to do then dive in!
- Managing lists of tests
- Update for August 2023: Transition to TOML for manifestparser
- Why have test manifests?
- Manifest Format
- Manifest Conditional Expressions
- Data
- manifestparser Architecture
- Filtering Manifests
- CLI
- Creating Manifests
- Copying Manifests
- Updating Tests
- Usage example
- Creating Manifests
- Updating the tests from manifests
- Tests
- Using mach manifest skip-fails
- Bugs
- Design Considerations
- Historical Reference
- Getting information on the system under test
- Set up and running
mozfile
— File utilities for use in Mozilla testingmozgeckoprofiler.rst
— Gecko Profiler utilitiesmozinstall
— Install and uninstall Gecko-based applicationsmozpower
— Power-usage testingmozprofile
— Create and modify Mozilla application profilesmozprocess
— Launch and manage processesmozrunner
— Manage remote and local gecko processesmozcrash
— Print stack traces from minidumps left behind by crashed processesmozdebug
— Configure and launch compatible debuggers.
- Handling content for the browser
- Logging and reporting
- Device management