Bug 938712 - Allow multiple instantiations of MochitestOptions; r=AutomatedTester

The MochitestOptions class has a class-local definition of the options
going into the optparse instance. The default values for these options
would be reused by subsequent consumers. In the case of the profile
path, the same temporary directory would be used. In the case of list
arguments, subsequent runs would inherit members added by earlier runs.

This patch should make subsequent runs free from the baggage of the
first.

--HG--
extra : rebase_source : c55a229e67515a9133377404344872ad0935a637
Bug 938712 - Implement mach mochitest; r=AutomatedTester

The `mach mochitest` command is now implemented. Given test path
arguments, it will identify mochitests of any flavor and run the
appropriate mochitest suite.

If tests from multiple suites are present, it will invoke each suite
separately. Although, the output in this mode isn't very friendly.

There are a number of enhancements that could be made to this command,
including the abilities to filter by flavor and sub-suite. These will
come in another patch.

--HG--
extra : rebase_source : 9be6000e6bb508ef0c980eda9f9ebe03a4c0f02a
Bug 938712 - Add --flavor to mach mochitest; r=AutomatedTester

`mach mochitest` now accepts a --flavor argument to limit execution to
tests of a certain flavor. Executing `mach mochitest --flavor=X` should
be equivalent to executing `mach mochitest-X`.

This paves the road to deprecating the various `mach mochitest-X`
commands.

--HG--
extra : rebase_source : 0f8370425f54a4ec86e7f668bcbff69362e017f7
Bug 938712 - Dispatch mach test mochitest suites via mach mochitest; r=AutomatedTester

`mach test` now dispatches through `mach mochitest --flavor` where
supported. As part of testing this patch, it was discovered that `mach
test` may have been broken for quite some time, as it was still
referring to "test_file" arguments instead of "test_paths." This has
been corrected.

--HG--
extra : rebase_source : 4a704df0a67bdda575785cb9f27f050f178dc505
Bug 920193 - mach xpcshell-test can now receive test objects; r=AutomatedTester

A subsequent patch will have another mach command dispatch into
`xpcshell-test`. To avoid redundant resolution of test paths, we now
support passing resolved test objects into the mach command.

--HG--
extra : rebase_source : 1eb0e7b1ef1e45ca163ddb152d1bbb7b6b4d02e6
Bug 920193 - mach mochitest can now receive test objects; r=AutomatedTester

Similar to the previous patch, we now teach `mach mochitest` how to
execute test objects directly.

--HG--
extra : rebase_source : b69b5b74bcf6c81cff5deb28a1156ab2fcc691f7
Bug 920193 - Teach mach test how to run individual test files; r=AutomatedTester

With this change, mach test can now resolve filename arguments to tests
and can dispatch to the appropriate mach commands.

If the arguments contain tests belonging to multiple test
suites/flavors, each relevant test in invoked.

--HG--
extra : rebase_source : dae9e0a094acc587bb7ecb769789c062c7aeb34f