Browse files

Bug 776587 - Update files for move of mozautomation/mozmill repositor…

…y to mozilla/mozmill. r=jhammel
  • Loading branch information...
1 parent 4a0f4e9 commit d1a27fb1fa5ac13990dfe156f88c714698fb21b8 @whimboo whimboo committed Dec 14, 2012
@@ -5,29 +5,29 @@ framework for Mozilla apps like Firefox and Thunderbird. It's both an
[addon]( and a
Python command-line tool.
-The [Mozmill repository](
+The [Mozmill repository](
contains Mozmill and supporting code which is also used for MozBase
and other [Mozilla]( automation efforts.
## Installation
To work with the development version of Mozmill or its utilities, check out the code
-from the [Github repo](
+from the [Github repo](
virtualenv mozmill
cd mozmill
. bin/activate
mkdir src
cd src
- git clone
+ git clone
cd mozmill
## Repository Contents
-The [Mozmill repository](
+The [Mozmill repository](
contains python packages for
and MozBase.
@@ -60,20 +60,20 @@ cross-contamination and versioning woes.
In addition to the python packages, several files exist at the top
level of the repository to help keep repository management sane:
-- : documents what the [Mozmill repository](
+- : documents what the [Mozmill repository](
is all about; the content you're reading now
- : a python script that will install all python
- packages in the [Mozmill repository](
+ packages in the [Mozmill repository](
in development mode, respecting dependency order. This means that
code changes will be respected the next time the python interpreter
is invoked. Using virtualenv, checking out the
- [git repository](, and
+ [git repository](, and
invoking `` with the virtualenv's copy of python
is the most robust way of deploying the software
- documentation.txt : the documentation strategy for packages in the
- [Mozmill repository](
+ [Mozmill repository](
- docs.manifest : manifest of documentation for mirroring to
[MDN]( using the
@@ -85,11 +85,11 @@ level of the repository to help keep repository management sane:
## Help and Contributing
[Mozmill]( and the
-[Mozmill repository]( are
+[Mozmill repository]( are
maintained by the Mozilla
[Automation and Testing Team](
Please file issues on
or join the `#ateam` or `#mozmill` channel on irc:// .
@@ -47,7 +47,7 @@ def require(url):
carton = require('')
git = which('git')
MOZBASE = 'git://'
-MOZMILL = 'git://'
+MOZMILL = 'git://'
def main(args=sys.argv[1:]):
@@ -3,7 +3,7 @@
There are several entry points where it is desirable to have documentation available:
- the MDN project page(s) for mozmill:
-- the mozmill github repository:
+- the mozmill github repository:
- the python package index:
- in a source checkout alongside the code
- using python's `help()`
@@ -19,7 +19,7 @@ and high-quality resource.
## Where the Documentation Lives
-Several packages exist in the [mozmill repository](
+Several packages exist in the [mozmill repository](
- [mozmill]( : driver,
event-dispatcher, and test harness
@@ -56,7 +56,7 @@ work out that story this will be done by hand.
We would love any sort of help with our documentation!
- if at all possible, make a branch with your documentation changes
- and issue a pull request to ; this
+ and issue a pull request to ; this
is the most direct way to ensure that your documentation is included
- edit the MDN documents: we will go to some effort to include edits
@@ -1,15 +1,15 @@
is a python-javascript bridge interface for Firefox and Mozilla
jsbridge works as an
loaded into Firefox or Thunderbird
(etc.) that opens a socket, by default on port 24242, that
is used to mirror data structures between python-land and JavaScript-land
The python component opens the same port and communication takes place.
(`jsbridge.jsbobject:JSObject`) may be used to mirror
objects across between python and JavaScript.
@@ -86,11 +86,11 @@ This will do the following:
- the `test.js` file will be sent over the jsbridge where it is
loaded and executed (see:
- [resource://mozmill/modules/frame.js]( )
+ [resource://mozmill/modules/frame.js]( )
- events will be sent from JavaScript back to python where they will
be listened for
- (see: [resource://mozmill/modules/frame.js]( )
+ (see: [resource://mozmill/modules/frame.js]( )
- upon test run conclusion, the results will be reported by
[pluggable event handlers](./EventHandlers)
@@ -99,9 +99,9 @@ This will do the following:
## Example API Usage
Since Mozmill 2.0, the
-[MozMill class](
+[MozMill class](
is usable as a robust API. An example API usage is available at
- .
+ .
## Architecture
@@ -133,14 +133,14 @@ are a few mechanisms to do so:
- [event handlers](./EventHandlers) send data from the JavaScript
application layer to the python harness
- the `persisted` object: a
- [JSObject](
+ [JSObject](
that is persisted between tests
even if the application under test is shutdown or restarted. Each
- [MozMill](
+ [MozMill](
instance carries a `persisted` object. The amount of
persisted data must be kept small, however, or [jsbridge](./jsbridge) will fail.
- create your own
- [JSObject](
+ [JSObject](
for finer-tuned control getting data to and from the tests.
See also
@@ -151,21 +151,21 @@ See also
JavaScript tests may invoke arbitrary python using the `PythonCallbacks`
[event handler](./EventHandlers) included with Mozmill. The
-[mozmill JavaScript module](
+[mozmill JavaScript module](
has the `firePythonCallback()` function, which takes the `filename`,
the name of the `method` in the file, a list of ordered `args`, and a
`kwargs` object. This function will dispatch a
`mozmill.firePythonCallback` [event](./EventHandlers) to the
-[mozmill.python_callbacks module](
+[mozmill.python_callbacks module](
which will import and fire the appropriate callback. The `filename`
is relative to the location of the JavaScript test file. Note that any
return value from the python callback will not be sent to the
JavaScript test or otherwise utilized.
See the `mutt`
-[python_callbacks.js test](
-and accompanying [](
+[python_callbacks.js test](
+and accompanying [](
for an example.
It is important for successful runs that the python callback is fired
@@ -200,7 +200,7 @@ restart. The following parameters are sent with the event:
See the methods `startUserShutdown`, `restartApplication`, and
`stopApplication` on the
for specifics.
Additionally, `mozmill --restart` signals a harness restart between
@@ -251,7 +251,7 @@ better!
# Updating the Documentation
The [MDN]( pages are mirrored
-from the [mozmill repository](
+from the [mozmill repository](
See the notes on our [documentation strategy](./Documentation) .
@@ -260,7 +260,7 @@ See the notes on our [documentation strategy](./Documentation) .
Several online resources exist for Mozmill:
- [MDN Mozmill page](
-- [github repository](
+- [github repository](
- [Python Package Index page](
- [Auto-tools Mozmill project page](
for the development of Mozmill
@@ -17,7 +17,7 @@ able to install and utilize the Mozmill python package.
Depending on your needs, you may want to install Mozmill from its
[Python Package Index page]( or
-its [github repository]( In
+its [github repository]( In
either case, you will need
[setuptools]( and
it is highly recommended that you use
@@ -54,13 +54,13 @@ other packages you are interested in developing:
## Installing from github
The prefered installation method is from the
-[github mozautomation/mozmill repository](
+[github mozilla/mozmill repository](
Clone the repository (into your virtualenv's src directory)
using [git]( and run the
script in the activated virtualenv which will install the packages in the correct order:
- git clone git://
+ git clone git://
cd mozmill
@@ -75,7 +75,7 @@ You may need to run `` again if any of the
`` files are changed.
These instructions will give you a basic git checkout of the canonical
-(mozautomation's) master branch. If you are interested in
+(mozilla's) master branch. If you are interested in
[developing Mozmill](
or related software, see more detailed instructions about
[how to set up your repo](
@@ -1,7 +1,7 @@
Python Mozmill is a test harness and an [event dispatcher](/en/Mozmill/EventHandlers).
-Mozmill is built as an [extension](
+Mozmill is built as an [extension](
which, paired with the
-[jsbridge extension](,
+[jsbridge extension](,
can run JavaScript tests from the python harness.
@@ -18,7 +18,7 @@ The Mozmill python package is built from a number of python dependencies:
# TestResults Class
-[TestResults class](
+[TestResults class](
is used to accumulate results from one or more `MozMill` test run.
The passing, failed, and skipped tests are recorded. `TestResults` is
an [event handler](/en/Mozmill/EventHandlers) that listens to the
@@ -35,12 +35,12 @@ instance is returned from ``.
# Command line arguments and inheritence
The mozmill command line controller,
-inherits from [mozrunner.CLI](
+inherits from [mozrunner.CLI](
which provides the appropriate slots for instantiating a `Runner`
object appropriate to the application under test (e.g. `FirefoxRunner`).
Additionally, `mozrunner.CLI` consumes and exposes the arguments from
-[MozProfileCLI]( .
+[MozProfileCLI]( .
This architecture allows mozrunner and mozprofile to exist as
independent command line programs while making their breadth of options
available upstream to mozmill.
@@ -49,9 +49,9 @@ available upstream to mozmill.
# Factory methods
In order to be usable as an API,
expose a class method, `create(...)`, which provides for the
instantiation of the corresponding object. Since `MozMill` requires
the runner to be passed in to its constructor (`__init__` function)
@@ -15,7 +15,7 @@ takes `obj` as an argument, e.g:
self.persisted = obj
Several event listeners are added in the
-[Mozmill constructor](
+[Mozmill constructor](
vital for test harness functionality. In addition, handlers may be
passed to the constructor from which event listeners may be added.
@@ -26,16 +26,16 @@ Mozmill allows python classes to plug into the event listener system.
This is done by denoting them as a
[setuptools entry point](
with the key `mozmill.event_handlers` in the `entry_points` section (see mozmill's
Three event handlers are included with Mozmill by default via
the setuptools entry point `mozmill.event_handlers`:
-- [Logging]( :
+- [Logging]( :
log results to stdout or a file in a [format appropriate to Mozilla tests](
-- [Report]( :
+- [Report]( :
generate a JSON report of the run
-- [PythonCallbacks]( :
+- [PythonCallbacks]( :
call a python module and method from JavaScript
When running from the command line, these are on by default. However,
@@ -84,7 +84,7 @@ You can also call `MozMill.add_listener(...)` or
# Structure of an Event Handler
The basic methods for an event handler is given and documented in
While this class is never inherited from, it shows the basic methods that event handlers can
have and documentation on what they are used for.
@@ -128,7 +128,7 @@ information (it is a handler-factory). If the handler raises a
instantiated or passed to the MozMill constructor.
As an example, see the constructor of
If `report` is `None`, as it would be if not specified via the command
line (see the class's `add_options` method for `--report`), then
the class is not instantiated or utilized.
@@ -3,7 +3,7 @@
Test harness for testing [Mozmill](
mutt is a python package that contains both JavaScript and python tests for
Mozmill and other packages in the
-[mozmill repository]( .
+[mozmill repository]( .
## Usage
@@ -34,7 +34,7 @@ format.
## Policy
Run the tests *before* pushing to master or any branch of
-[mozautomation]( . What is
+[mozilla]( . What is
lost in time here is more than made up for vs. hours of regression hunting.
The mutt tests should pass *all* the time on *all* platforms of
Oops, something went wrong.

0 comments on commit d1a27fb

Please sign in to comment.