Граф коммитов

163 Коммитов

Автор SHA1 Сообщение Дата
Chris Hartjes 6c7e3654d7 Bug 1507235 - Add capability to run telemetry-tests-client locally; r=raphael
Differential Revision: https://phabricator.services.mozilla.com/D20535

--HG--
extra : moz-landing-system : lando
2019-02-20 19:18:06 +00:00
Andrew Halberstadt 83e75a8676 Bug 1483228 - [mozboot] Add ability to get a srcdir specific state dir r=nalexander
Sometimes we want to store state that only applies to a particular srcdir, but
there isn't a standard directory where this lives. Let's add an argument to
'get_state_dir()' to provide an "official" place.

The new API to get the local state dir is 'get_state_dir(srcdir=True)'. Like
the global state dir, this directory is not guaranteed to exist. A reference to
this value can also be obtained via 'self._mach_context.local_state_dir' from
within a mach command (in this case it will be created automatically if it
doesn't exist).

Note: we should probably just make sure both exist at mach startup, but it felt
outside the scope of this change.

Differential Revision: https://phabricator.services.mozilla.com/D15724

--HG--
extra : moz-landing-system : lando
2019-02-04 21:07:25 +00:00
Andrew Halberstadt 8bc7850637 Bug 1483228 - [mozboot] Simplify get_state_dir()'s return value r=nalexander
mozboot.util.get_state_dir() returns a tuple of (<path>, <bool). The bool
denotes whether or not the state dir came from an environment variable.

But this value is only used in a single place, and is very easy to test for
anyway. It's not worth the added complexity it imposes on all other consumers
of this function. Let's just make this function return the path.

Differential Revision: https://phabricator.services.mozilla.com/D15723

--HG--
extra : moz-landing-system : lando
2019-02-04 20:52:31 +00:00
Andi-Bogdan Postelnicu 8286177e5a Bug 1513216 - Don't collect build telemetry when 'mach' is ran from hg format-source. r=sheehan
Differential Revision: https://phabricator.services.mozilla.com/D14146

--HG--
extra : moz-landing-system : lando
2018-12-13 18:09:03 +00:00
Tom Prince dd59ad1f35 Bug 1482395: Allow python3 specific entries in virtualenv_packages.txt; r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D12706

--HG--
extra : moz-landing-system : lando
2018-11-22 21:44:09 +00:00
Ted Mielczarek cb08d3a69f bug 1506729 - fix telemetry submission on Windows. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D11752

--HG--
extra : moz-landing-system : lando
2018-11-13 13:34:17 +00:00
Connor Sheehan d8e73dd962 Bug 1505086: remove build telemetry submission logic r=ted
Currently, build telemetry submits at random, approximately
every 10 `mach` invocations. This choice was made arbitrarily,
with no real reason in mind for that level of frequency.
After speaking with some of the data engineers in #telemetry,
it seems we should be able to send pings to the telemetry
pipeline far more frequently than we realized. This commit
removes the telemetry submission logic and causes clients
to attempt to send pings for every mach invocation. Pings
are still saved to the outgoing directory, in case of a
failure or in the case of offline `mach` runs.

Differential Revision: https://phabricator.services.mozilla.com/D11279

--HG--
extra : moz-landing-system : lando
2018-11-12 14:57:59 +00:00
Connor Sheehan dde148da52 Bug 1505086: use `mach python` to submit build telemetry r=ted
While attempting to improve the build telemetry submission
logic, I found a bug in the way telemetry submission
works. Essentially the submission script was failing to
import any of the required packages (specifically
`mozbuild.telemetry` in this case) as the method used to
modify path was incorrect and the script was running outside
of the virtualenv. The invocation is also sending stdout
and stderr to `/dev/null`, making this problem even less obvious.
When I fixed the path modifications, I realized that `mozbuild`
imports will require a long chain of other imports
(and transitively, more `sys.path` modifications)
such as `which`, `mach`, `mozautomation`, etc to complete.

When I tested the submission script, I did so by running
`mach python build/submit_telemetry_data.py`, which runs the
script in a virtualenv with all required packages installed.
That's likely part of the reasons I overlooked this issue in testing.
Rather than go through the process of importing every dependency
of `mozbuild`, this commit changes the invocation of the submission
script to go through `mach python`. Things seem to work as
expected with this change.

Differential Revision: https://phabricator.services.mozilla.com/D11278

--HG--
extra : moz-landing-system : lando
2018-11-12 14:57:57 +00:00
Ted Mielczarek 54b3bbd1ce bug 1505205 - don't write telemetry for recursive mach command invocations. r=firefox-build-system-reviewers,chmanchester
This change tries to ensure that we don't write telemetry data for mach
commands invoked recursively as part of other mach commands. The intent of
build system telemetry is to only collect data about commands that users are
invoking directly.

There are two ways that we found mach commands can be recursively invoked:
* By running a python subprocess to recursively invoke mach (used in
  `mach bootstrap` to call `mach artifact toolchain`)
* By using `Registrar.dispatch` to delegate to a sub-command (used by many
  build system commands to invoke `mach build`).

The subprocess case is handled here by having mach set a `MACH_MAIN_PID`
environment variable whose value is the current process' pid on startup if it
does not already exist in the environment. Telemetry code then checks that the
value of that variable matches the current pid and skips writing telemetry data
if not.

The dispatch case is handled by making `MachRegistrar` store the current depth
of the command stack and pass it to the `post_dispatch_handler` which will skip
writing telemetry data if depth != 1.

Additionally the `should_skip_dispatch` function in mach_bootstrap is renamed
to `should_skip_telemetry_submission`, which was its original intent. The
combination of checks added in this change should be sufficient for deciding
when to write telemetry data, and we were not collecting telemetry for the set
of mach commands in that function (which included `mach bootstrap`).

In order to facilitate writing a test for the dispatch case this change adds a
`mach python --exec-file` option to execute Python code directly in the context
of the `mach python` command.

Differential Revision: https://phabricator.services.mozilla.com/D11207

--HG--
extra : moz-landing-system : lando
2018-11-10 19:04:30 +00:00
Ted Mielczarek e85df1cdc8 bug 1505325 - fix build telemetry path filtering when cwd is outside of topsrcdir/objdir. r=firefox-build-system-reviewers,chmanchester
The build telemetry code attempts to filter paths to avoid PII from usernames
and other things. It does this by converting every commandline argument to
an absolute path and then making them relative to topsrcdir or topobjdir and
omitting any that fail. This meant that running a mach command with a cwd
outside of the topsrcdir or objdir would omit all arguments since they were
converted to absolute paths from the cwd.

This change fixes this by adding the cwd to the list of paths used to create
relative paths. Additionally we add the user's home directory to that list
to try to avoid usernames sneaking through. Finally, instead of simply
removing these path prefixes, we replace them with sigils: $topsrcdir,
$objdir, $HOME.

Differential Revision: https://phabricator.services.mozilla.com/D11174

--HG--
extra : moz-landing-system : lando
2018-11-10 19:14:44 +00:00
Ted Mielczarek 0da497b124 bug 1505325 - refactor telemetry gathering slightly. r=firefox-build-system-reviewers,chmanchester
After bug 1497638 the method by which build telemetry data gets written
to disk is slightly convoluted. Since we're now invoking `gather_telemetry`
from `post_dispatch_handler`, we just make that function return the data
it gathers and inline the contents of `telemetry_handler` after the call
to it.

Differential Revision: https://phabricator.services.mozilla.com/D11173

--HG--
extra : moz-landing-system : lando
2018-11-10 19:04:06 +00:00
Ted Mielczarek 8e018fdef0 bug 1505325 - add a basic test for build telemetry. r=firefox-build-system-reviewers,chmanchester
This change adds python/mach/mach/test/test_telemetry.py which contains
a simple test that running mach with the build telemetry setting enabled
causes us to write a telemetry file. The test fixture in the file should
make it easy to write additional tests.

A necessary precursor to make the tests work was to change mach_bootstrap's
`should_skip_dispatch` function, which would refuse to write telemetry data
if stdout was not a terminal (which it isn't in the tests) and also in
automation. The latter test is moved to ensure that we don't *submit*
telemetry data from automation, but we can still write it to disk. Machines
in automation should never have the telemetry setting enabled outside of
these tests anyway, so this should not change anything in practice.

Differential Revision: https://phabricator.services.mozilla.com/D11172

--HG--
extra : moz-landing-system : lando
2018-11-10 19:04:05 +00:00
Tom Prince d8cec76a00 Bug 1492128: [mozrelease] Add command to generate buglist for a given release; r=mtabara
Differential Revision: https://phabricator.services.mozilla.com/D10154

--HG--
extra : moz-landing-system : lando
2018-10-30 18:21:40 +00:00
Chris Manchester 9b3b733a84 Bug 1497638 - Gather telemetry for mach commands other than build. r=ted,firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D10177

--HG--
extra : moz-landing-system : lando
2018-10-31 20:03:56 +00:00
Ted Mielczarek 1f36da7ff2 bug 1481612 - Add more actions to virtualenv_packages.txt and use them to include the unpacked Windows psutil wheel. r=gps
This patch adds two new actions to virtualenv_packages.txt processing:
windows and !windows. The former processes the rest of the action only on
Windows, and the latter processes it only on non-Windows.

These new features are used in virtualenv_packages.txt to use the
path to the unpacked Windows psutil wheel when on Windows, and build psutil
from source and use that path on other platforms.

This fixes the long-standing problem of not having psutil available on most
Windows systems (since they don't have the right set of Visual C++ build tools).

Differential Revision: https://phabricator.services.mozilla.com/D3437

--HG--
extra : moz-landing-system : lando
2018-10-10 19:53:47 +00:00
Ted Mielczarek 4da2469474 bug 1237610 - use a mach setting to control telemetry submission. r=gps
Differential Revision: https://phabricator.services.mozilla.com/D4597

--HG--
extra : rebase_source : 4ff227ab9792f84c0a839c43f6ef91f5786cef69
2018-08-07 12:26:31 -04:00
Ted Mielczarek 4cf1ee3119 bug 1237610 - slight cleanup in should_skip_dispatch. r=gps
MozReview-Commit-ID: HJLO82QZQVO

Differential Revision: https://phabricator.services.mozilla.com/D4595

--HG--
extra : rebase_source : 534ce3a17bc7c47d3203ba2f6bcfcd6bca932d66
2018-05-16 12:26:52 -04:00
Ted Mielczarek bedd69ce23 bug 1237610 - move build system telemetry collection code to a common place. r=gps
The telemetry gathering code is currently split in two places, so move it
all to a common place. Followup patches will rewrite most of this code.

--HG--
extra : rebase_source : afd14940f7175f7ca730a3b90ad770f143bcb6c7
2018-08-07 11:27:26 -04:00
Panos Astithas 6a01b19a19 Bug 1257478 - Turn mercurial-setup into vcs-setup and add git support. r=gps
MozReview-Commit-ID: AD6gLqFm8Nn

--HG--
extra : rebase_source : 0214cdc6f6acaaf0621e25f30cb0a2c81849063e
2018-07-04 21:48:42 +03:00
Simon Fraser 1c95120d44 Bug 1468394 mach python-safety command for checking requirements files r=mtabara,tomprince
Added `./mach python-safety`, distinct from python-test so it doesn't have
to be run on every CI job - its errors may not depend on the area the push has changed.

Added the python/safety directory to ensure a different Pipfile is used, avoiding
conflicts with python-test.

Differential Revision: https://phabricator.services.mozilla.com/D1825

--HG--
extra : moz-landing-system : lando
2018-06-29 16:56:51 +00:00
Dave Hunt d5d4c1b840 Bug 1455570 - Build and publish TPS add-on; r=dustin,ted
MozReview-Commit-ID: HOsTcmg1m7e

--HG--
extra : rebase_source : 57ee75482fe1204d741f851ed51f32a06146ae08
2018-04-23 14:32:05 +01:00
Rob Wood 8b76a9ff3c Bug 1455107 - Integrate raptor into mach; r=gbrown
MozReview-Commit-ID: 84vIqU2NWkE

--HG--
extra : rebase_source : ac5454192271d19b4da448e6be2f97dbb3420828
2018-04-23 16:43:30 -04:00
Andrew Halberstadt f354075c7a Bug 1434430 - [flake8] Fix blank 'except' statements r=rwood
This is a new issue that gets linted with flake8 3.5.0. Basically you should
never use a blank except: statement.

This will catch all exceptions, including KeyboardInterrupt and SystemExit
(which is likely not intended). If a catch all is needed, use
`except: Exception`.  If you *really* mean to also catch KeyboardInterrupt et
al, use `except: BaseException`.

Of course, being specific is often better than a catch all.

MozReview-Commit-ID: FKx80MLO4RN

--HG--
extra : rebase_source : 7c74a7d0d81f2c984b47aff3a0ee3448b791177b
2018-01-31 14:32:08 -05:00
Edouard Oger 54088f8c9e Bug 1422115 - Remove storageserver.js from services/. r=markh,tcsc
MozReview-Commit-ID: 4UGCq6SolY1

--HG--
extra : rebase_source : 49e8a5d072d1cb15d0942e7fbc39c7a2c8c08c6f
2017-11-30 15:11:19 -05:00
Tom Prince d5a77fba36 Bug 1410773: Add optional comm-central virtualenv manifest; r=nalexander
comm-central taskcluster builds have comm-central checkout in `comm/`.  This
will add packages specified in comm-central when it checked out, and will
ignore the missing file for mozilla-central builds.

MozReview-Commit-ID: Amg5vJHoWkS

--HG--
extra : rebase_source : 440e1bab50c2185d18f18f7acaea83a24f0d0aaf
2017-10-22 13:40:20 -06:00
Sylvestre Ledru 358507fde2 Bug 1406650 - Make build/*.py and a few other files flake8 compatible and add them to the list of files to check r=chmanchester
MozReview-Commit-ID: icmFJtbWdN

--HG--
extra : rebase_source : 7b2ef783822bcad7f955bad8cbd6cea6df588f92
2017-10-07 16:45:22 +02:00
Gregory Szorc 276defc2a7 Bug 1393503 - Proper error handling for failure to find VCS tool; r=glandium,nalexander
``print()`` has no business being in library code like this. It was
a holdover from this code being copied from bootstrap. So remove it.

While we're here, replace the generic exception with a specific one.
We don't want to be swallowing bugs via ``except Exception``.

MozReview-Commit-ID: 49goUstfPBz

--HG--
extra : rebase_source : a821159bd12a449ed1a0edf21a1f9eb29711ad95
2017-08-24 17:09:09 -07:00
Gregory Szorc c024875c88 Bug 1392886 - Ignore missing mach_commands.py when checkout is sparse; r=mshal
Sparse checkouts may not have all mach_commands.py files.

mach raises an error when a mach_commands.py file is missing.

So, we teach the mach driver to ignore missing file errors when
a sparse checkout is present.

The added code is optimized to avoid an import of mozversioncontrol
and some I/O as part of resolving the repo and VCS binaries because
this file is in the critical path of all mach commands and avoiding
I/O is worthwhile. Since we aren't using sparse checkouts in the
common case, this effectively makes the new code 0 cost.

MozReview-Commit-ID: C6itJga31t5

--HG--
extra : rebase_source : 4b2c18d30ff8b923a940c80ac81372a4076b8fdc
2017-08-23 08:41:01 -07:00
Gregory Szorc 197ad2c585 Bug 1392886 - Don't destroy reference to "mach" module; r=mshal
"mach" in this scope is both the mach module and the driver instance.
Let's change the latter's variable name so we can access the mach
module.

MozReview-Commit-ID: Db6sxDFl2oo

--HG--
extra : rebase_source : 0a51c7514cfdba40483b3b9b361cd03b8000c2c9
2017-08-22 20:29:37 -07:00
Kris Maglione 9cc6707daf Bug 1350646: Part 1 - Remove addon-sdk moz.build generation gunk. r=Mossop
MozReview-Commit-ID: GMlOFoosVQZ

--HG--
extra : source : 67c251e2c9db1d42a8de6d09a44e9e2f7be084a4
2017-08-02 13:51:40 -07:00
Phil Ringnalda ca2c01b0ad Backed out 22 changesets (bug 1350646) for talos damp failures
Backed out changeset c3108aebee35 (bug 1350646)
Backed out changeset ee8f7fa9d410 (bug 1350646)
Backed out changeset 79e77c06ff44 (bug 1350646)
Backed out changeset 5584fdcd2ee0 (bug 1350646)
Backed out changeset 7571b064a77e (bug 1350646)
Backed out changeset 7f65323c56f9 (bug 1350646)
Backed out changeset 10bbf7c53afe (bug 1350646)
Backed out changeset e40544ead983 (bug 1350646)
Backed out changeset 5eb77e6de0a3 (bug 1350646)
Backed out changeset 6d9244a8ac40 (bug 1350646)
Backed out changeset 13110c98b0fd (bug 1350646)
Backed out changeset 096ff315b48b (bug 1350646)
Backed out changeset 57500d9ea832 (bug 1350646)
Backed out changeset 5a45d9e25a00 (bug 1350646)
Backed out changeset e931e4ff5e11 (bug 1350646)
Backed out changeset d914c050c965 (bug 1350646)
Backed out changeset 35c4d4cd77c7 (bug 1350646)
Backed out changeset 7687db575011 (bug 1350646)
Backed out changeset c68367bb0eb3 (bug 1350646)
Backed out changeset 3ca040743aeb (bug 1350646)
Backed out changeset 8d4c2f001354 (bug 1350646)
Backed out changeset 67c251e2c9db (bug 1350646)

MozReview-Commit-ID: GLM80BkVx85
2017-08-09 20:03:17 -07:00
Kris Maglione 9172d0a257 Bug 1350646: Part 1 - Remove addon-sdk moz.build generation gunk. r=Mossop
MozReview-Commit-ID: GMlOFoosVQZ

--HG--
extra : rebase_source : c4d52796531c12e136b47313c8ea614b8698fa66
2017-08-02 13:51:40 -07:00
Andrew Halberstadt 88348cfd21 Bug 1382775 - Move testing/tools/autotry to tools/tryselect/selectors/syntax.py, r=chmanchester
The |mach try| implementation isn't really testing specific so figured while doing this refactor
anyway we could take the opportunity to move it to /tools. This renames the "autotry" module to
"syntax" as one of the 'selectors' under the newly created tryselect module.

MozReview-Commit-ID: DmnGU5sKuCk

--HG--
rename : testing/tools/autotry/autotry.py => tools/tryselect/selectors/syntax.py
extra : rebase_source : 52f2a61d97107b8d50e3894ea0f5cd9c24d4108d
2017-07-17 21:36:23 -04:00
Bryce Van Dyk 39d53ac121 Bug 1372051 - Remove external media tests from mach modules. r=gps
MozReview-Commit-ID: BleMN1TMSVa

--HG--
extra : rebase_source : 94f147330a694026e972ead85fd2676f2eb265dc
2017-06-12 11:20:19 +12:00
James Graham d4e2dbee64 Bug 1373216 - Add mach command for starting geckodriver, r=ato
MozReview-Commit-ID: 8hNAjT5db44

--HG--
extra : rebase_source : 7e97893526c238b7ee466a3f609cb41e76d2a690
2017-06-15 12:47:20 +01:00
Andrew Halberstadt 5af47c56e4 Bug 1346025 - Move 'python/compare-locales' documentation and mach command to 'tools/compare-locales', r=Pike
MozReview-Commit-ID: bkrH4YAD7S

--HG--
rename : python/compare-locales/docs/glossary.rst => tools/compare-locales/docs/glossary.rst
rename : python/compare-locales/docs/index.rst => tools/compare-locales/docs/index.rst
rename : python/compare-locales/mach_commands.py => tools/compare-locales/mach_commands.py
extra : rebase_source : f1e86ef137a4f7765c5f4917121707bea900646c
2017-06-06 10:00:51 -04:00
Mike Hommey 1170646315 Bug 1356101 - Derive the mach_bootstrap search path from build/virtualenv_packages.txt. r=gps
Most entries in virtualenv_packages.txt that are .pth or packages.txt
are currently in SEARCH_PATHS in mach_bootstrap. The ones that are
missing would make sense in SEARCH_PATHS. None of non-.pth or
packages.txt entries, however, are in SEARCH_PATHS and don't make sense
there.

On the other hand, virtualenv_packages.txt misses a lot of things that
are in SEARCH_PATHS, all of which should be there. One exception:
xpcom/idl-parser, which causes problems due to the xpidl package
containing an xpidl module, which causes problems with the in-tree
scripts using it. Plus, it needs a cache directory, which is messy, so
it's preferable to keep it away from the virtualenv. It turns out it was
added to mach_bootstrap.py in bug 893976 for a command that was since
then removed (bug 1244736), so we can get away with removing it.

So instead of keeping those two separate lists out of sync, we replace
the SEARCH_PATHS list from mach_bootstrap with one that is derived at
runtime from the contents of virtualenv_packages.txt.

And since a .pth can't fail to install in the virtualenv, it makes no
sense to have psutil.pth defined as optional, which allows it to end up
in the mach_bootstrap search path automatically.

Finally, because we do have overlapping module names in the tree (e.g.
runtests), and mach_bootstrap's SEARCH_PATHS had a guaranteed order,
we change the order of the virtualenv_packages.txt file to match what
used to be in mach_bootstrap, and make all the pth entries use the same
file name so that the order is more guaranteed in the virtualenv too.

--HG--
extra : rebase_source : 5bd09f2f984d6f78a76b38e768d8a67806af5954
2017-04-14 08:19:08 +09:00
Mike Hommey c80d13986f Bug 1356541 - Avoid MOZBUILD_STATE_PATH prompt on automation. r=gps
--HG--
extra : rebase_source : 7e12635ae7e29fef0838b6e07a037a59acf381f9
2017-04-14 20:20:52 +09:00
Bob Clary 62e02ee002 Bug 1344813 - Implement AWSY as a marionette-based mach command, r=jmaher,pyang,erahm.
usage: mach [global arguments] awsy-test [command arguments]

mach awsy-test runs the in-tree version of the Are We Slim Yet
(AWSY) tests.

awsy-test is implemented as a marionette test and marionette
test arguments also apply although they are not necessary
since reasonable defaults will be chosen.

The AWSY specific arguments can be found in the Command
Arguments for AWSY section below.

awsy-test will automatically download the tp5n.zip talos
pageset from tooltool and install it under
topobjdir/_tests/awsy/html. You can specify your own page set
by specifying --web-root and --page-manifest.

The results of the test will be placed in the results
directory specified by the --results argument.

Command Arguments for AWSY:
  --web-root WEBROOTDIR
                        Path to web server root directory. If not specified,
                        defaults to topobjdir/_tests/awsy/html.
  --page-manifest PAGEMANIFEST
                        Path to page manifest text file containing a list of
                        urls to test. The urls must be served from localhost.
                        If not specified, defaults to
                        page_load_test/tp5b/tp5n.manifest under the web root.
  --results RESULTSDIR  Path to results directory. If not specified, defaults
                        to the parent directory of the web root.
  --quick               Set --entities=3, --iterations=1, --per-tab-pause=1,
                        --settle-wait-time=1 for a quick test. Overrides any
                        explicit argument settings.
  --entities ENTITIES   Number of urls to load. Defaults to the total number
                        of urls.
  --max-tabs MAXTABS    Maximum number of tabs to open. Defaults to 30.
  --iterations ITERATIONS
                        Number of times to run through the test suite.
                        Defaults to 5.
  --per-tab-pause PERTABPAUSE
                        Seconds to wait in between opening tabs. Defaults to
                        10.
  --settle-wait-time SETTLEWAITTIME
                        Seconds to wait for things to settled down. Defaults
                        to 30.
2017-03-29 01:47:46 -07:00
Andrew Halberstadt e875270fe1 Bug 1335873 - Check for .pyc's existence before deleting it in mach_bootstrap import hook, r=glandium
This situation can happen if we attempt to import a module we know might not exist, for example:
https://dxr.mozilla.org/mozilla-central/rev/d0462b0948e0b1147dcce615bddcc46379bdadb2/testing/mozbase/mozlog/mozlog/formatters/machformatter.py#9

MozReview-Commit-ID: CTg775kN72h

--HG--
extra : rebase_source : a0ebdff1cb86d1309d72072407a2018f4d0095b2
2017-02-21 11:08:44 -05:00
Sebastian Hengst 1e41fcd896 Backed out changeset 2873be3659a3 (bug 1335873) 2017-03-01 17:34:57 +01:00
Andrew Halberstadt 1e34f705c0 Bug 1335873 - Check for .pyc's existence before deleting it in mach_bootstrap import hook, r=glandium
This situation can happen if we attempt to import a module we know might not exist, for example:
https://dxr.mozilla.org/mozilla-central/rev/d0462b0948e0b1147dcce615bddcc46379bdadb2/testing/mozbase/mozlog/mozlog/formatters/machformatter.py#9

MozReview-Commit-ID: CTg775kN72h

--HG--
extra : rebase_source : 8026d22f3b256be15069feac306876627819ba99
2017-02-21 11:08:44 -05:00
Mike Hommey 142fc24229 Bug 1341215 - Remove the dependency on the mozregression module for mach artifact. r=chmanchester
This imports two modules from mozregression in the tree to do so. They
are imported from current trunk on github, rather than the version we
were getting from pypi.

Note we take six from testing/web-platform/tests/tools/six) instead of
moving it to python/six because it's there by coming from a copy of
https://github.com/w3c/wpt-tools, which contains it as a submodule, and
moving it would make updates there harder.

--HG--
extra : rebase_source : 16619d1c3f38f6493fb490a64361b3f4e8fecc1f
2017-02-21 16:10:54 +09:00
Gregory Szorc 63044cae98 Bug 1331062 - Add pytoml to mach's search path; r=froydnj
This was accidentally overlooked in 1e0bcb0402b5 (bug 1231764).

MozReview-Commit-ID: IYxrRV9G5iW

--HG--
extra : rebase_source : 7ee0619fecc5b06e1dd6f1d2ef4ab23c21ce686c
2017-01-13 12:11:52 -08:00
Chris Manchester 2d2292267f Bug 1316140 - Allow use of multiprocessing from config.status on windows. r=mshal
This generalizes the monkey-patching of the main module added
in bug 914563 to allow multiprocessing to be used from config.status
(which triggers the same bug as when it's used with `mach` as main).

MozReview-Commit-ID: AdOdpKzmbsp
2016-12-21 16:28:28 -08:00
Henrik Skupin dc7e4cae78 Bug 1320073 - Rename marionette-client to marionette-harness and release version 4.0.0. r=gps,maja_zf,mtseng,SingingTree
MozReview-Commit-ID: L6V3b5h8RWm

--HG--
rename : testing/marionette/harness/marionette/chrome/test.xul => testing/marionette/chrome/test.xul
rename : testing/marionette/harness/marionette/chrome/test2.xul => testing/marionette/chrome/test2.xul
rename : testing/marionette/harness/marionette/chrome/test_anonymous_content.xul => testing/marionette/chrome/test_anonymous_content.xul
rename : testing/marionette/harness/marionette/chrome/test_dialog.xul => testing/marionette/chrome/test_dialog.xul
rename : testing/marionette/harness/marionette/chrome/test_nested_iframe.xul => testing/marionette/chrome/test_nested_iframe.xul
rename : testing/marionette/harness/marionette/__init__.py => testing/marionette/harness/marionette_harness/__init__.py
rename : testing/marionette/harness/marionette/marionette_test/__init__.py => testing/marionette/harness/marionette_harness/marionette_test/__init__.py
rename : testing/marionette/harness/marionette/marionette_test/decorators.py => testing/marionette/harness/marionette_harness/marionette_test/decorators.py
rename : testing/marionette/harness/marionette/marionette_test/errors.py => testing/marionette/harness/marionette_harness/marionette_test/errors.py
rename : testing/marionette/harness/marionette/marionette_test/testcases.py => testing/marionette/harness/marionette_harness/marionette_test/testcases.py
rename : testing/marionette/harness/marionette/runner/__init__.py => testing/marionette/harness/marionette_harness/runner/__init__.py
rename : testing/marionette/harness/marionette/runner/base.py => testing/marionette/harness/marionette_harness/runner/base.py
rename : testing/marionette/harness/marionette/runner/httpd.py => testing/marionette/harness/marionette_harness/runner/httpd.py
rename : testing/marionette/harness/marionette/runner/mixins/__init__.py => testing/marionette/harness/marionette_harness/runner/mixins/__init__.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/History.md => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/History.md
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/__init__.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/__init__.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/client.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/client.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/server.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/server.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/Makefile => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/Makefile
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/.buildinfo => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/.buildinfo
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/browsermobproxy.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/browsermobproxy.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/index.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/index.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/client.txt => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/client.txt
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/index.txt => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/index.txt
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/server.txt => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/server.txt
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/basic.css => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/basic.css
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/default.css => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/default.css
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/doctools.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/doctools.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/jquery.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/jquery.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/pygments.css => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/pygments.css
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/searchtools.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/searchtools.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/sidebar.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/sidebar.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/underscore.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/underscore.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/websupport.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/websupport.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/client.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/client.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/genindex.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/genindex.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/index.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/index.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/objects.inv => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/objects.inv
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/py-modindex.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/py-modindex.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/search.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/search.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/searchindex.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/searchindex.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/server.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/server.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/client.rst => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/client.rst
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/conf.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/conf.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/index.rst => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/index.rst
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/make.bat => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/make.bat
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/server.rst => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/server.rst
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/readme.md => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/readme.md
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/setup.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/setup.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_client.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/test/test_client.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_remote.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/test/test_remote.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_webdriver.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/test/test_webdriver.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob.py
rename : testing/marionette/harness/marionette/runner/mixins/window_manager.py => testing/marionette/harness/marionette_harness/runner/mixins/window_manager.py
rename : testing/marionette/harness/marionette/runner/serve.py => testing/marionette/harness/marionette_harness/runner/serve.py
rename : testing/marionette/harness/marionette/runner/test.cert => testing/marionette/harness/marionette_harness/runner/test.cert
rename : testing/marionette/harness/marionette/runner/test.key => testing/marionette/harness/marionette_harness/runner/test.key
rename : testing/marionette/harness/marionette/runtests.py => testing/marionette/harness/marionette_harness/runtests.py
rename : testing/marionette/harness/marionette/tests/harness_unit/conftest.py => testing/marionette/harness/marionette_harness/tests/harness_unit/conftest.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_httpd.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_httpd.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_arguments.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_arguments.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_harness.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_harness.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_runner.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_runner.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_test_result.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_test_result.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_serve.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_serve.py
rename : testing/marionette/harness/marionette/tests/unit-tests.ini => testing/marionette/harness/marionette_harness/tests/unit-tests.ini
rename : testing/marionette/harness/marionette/tests/unit/importanotherscript.js => testing/marionette/harness/marionette_harness/tests/unit/importanotherscript.js
rename : testing/marionette/harness/marionette/tests/unit/importscript.js => testing/marionette/harness/marionette_harness/tests/unit/importscript.js
rename : testing/marionette/harness/marionette/tests/unit/mn-restartless-unsigned.xpi => testing/marionette/harness/marionette_harness/tests/unit/mn-restartless-unsigned.xpi
rename : testing/marionette/harness/marionette/tests/unit/single_finger_functions.py => testing/marionette/harness/marionette_harness/tests/unit/single_finger_functions.py
rename : testing/marionette/harness/marionette/tests/unit/test_about_pages.py => testing/marionette/harness/marionette_harness/tests/unit/test_about_pages.py
rename : testing/marionette/harness/marionette/tests/unit/test_accessibility.py => testing/marionette/harness/marionette_harness/tests/unit/test_accessibility.py
rename : testing/marionette/harness/marionette/tests/unit/test_addons.py => testing/marionette/harness/marionette_harness/tests/unit/test_addons.py
rename : testing/marionette/harness/marionette/tests/unit/test_anonymous_content.py => testing/marionette/harness/marionette_harness/tests/unit/test_anonymous_content.py
rename : testing/marionette/harness/marionette/tests/unit/test_browsermobproxy.py => testing/marionette/harness/marionette_harness/tests/unit/test_browsermobproxy.py
rename : testing/marionette/harness/marionette/tests/unit/test_capabilities.py => testing/marionette/harness/marionette_harness/tests/unit/test_capabilities.py
rename : testing/marionette/harness/marionette/tests/unit/test_certificates.py => testing/marionette/harness/marionette_harness/tests/unit/test_certificates.py
rename : testing/marionette/harness/marionette/tests/unit/test_checkbox.py => testing/marionette/harness/marionette_harness/tests/unit/test_checkbox.py
rename : testing/marionette/harness/marionette/tests/unit/test_checkbox_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_checkbox_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_chrome_async_finish.js => testing/marionette/harness/marionette_harness/tests/unit/test_chrome_async_finish.js
rename : testing/marionette/harness/marionette/tests/unit/test_chrome_element_css.py => testing/marionette/harness/marionette_harness/tests/unit/test_chrome_element_css.py
rename : testing/marionette/harness/marionette/tests/unit/test_clearing.py => testing/marionette/harness/marionette_harness/tests/unit/test_clearing.py
rename : testing/marionette/harness/marionette/tests/unit/test_click.py => testing/marionette/harness/marionette_harness/tests/unit/test_click.py
rename : testing/marionette/harness/marionette/tests/unit/test_click_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_click_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_click_scrolling.py => testing/marionette/harness/marionette_harness/tests/unit/test_click_scrolling.py
rename : testing/marionette/harness/marionette/tests/unit/test_cookies.py => testing/marionette/harness/marionette_harness/tests/unit/test_cookies.py
rename : testing/marionette/harness/marionette/tests/unit/test_crash.py => testing/marionette/harness/marionette_harness/tests/unit/test_crash.py
rename : testing/marionette/harness/marionette/tests/unit/test_data_driven.py => testing/marionette/harness/marionette_harness/tests/unit/test_data_driven.py
rename : testing/marionette/harness/marionette/tests/unit/test_date_time_value.py => testing/marionette/harness/marionette_harness/tests/unit/test_date_time_value.py
rename : testing/marionette/harness/marionette/tests/unit/test_element_retrieval.py => testing/marionette/harness/marionette_harness/tests/unit/test_element_retrieval.py
rename : testing/marionette/harness/marionette/tests/unit/test_element_state.py => testing/marionette/harness/marionette_harness/tests/unit/test_element_state.py
rename : testing/marionette/harness/marionette/tests/unit/test_element_state_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_element_state_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_elementsize.py => testing/marionette/harness/marionette_harness/tests/unit/test_elementsize.py
rename : testing/marionette/harness/marionette/tests/unit/test_elementsize_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_elementsize_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_errors.py => testing/marionette/harness/marionette_harness/tests/unit/test_errors.py
rename : testing/marionette/harness/marionette/tests/unit/test_execute_async_script.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_async_script.py
rename : testing/marionette/harness/marionette/tests/unit/test_execute_isolate.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_isolate.py
rename : testing/marionette/harness/marionette/tests/unit/test_execute_sandboxes.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_sandboxes.py
rename : testing/marionette/harness/marionette/tests/unit/test_execute_script.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_script.py
rename : testing/marionette/harness/marionette/tests/unit/test_expected.py => testing/marionette/harness/marionette_harness/tests/unit/test_expected.py
rename : testing/marionette/harness/marionette/tests/unit/test_expectedfail.py => testing/marionette/harness/marionette_harness/tests/unit/test_expectedfail.py
rename : testing/marionette/harness/marionette/tests/unit/test_file_upload.py => testing/marionette/harness/marionette_harness/tests/unit/test_file_upload.py
rename : testing/marionette/harness/marionette/tests/unit/test_findelement_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_findelement_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_geckoinstance.py => testing/marionette/harness/marionette_harness/tests/unit/test_geckoinstance.py
rename : testing/marionette/harness/marionette/tests/unit/test_getactiveframe_oop.py => testing/marionette/harness/marionette_harness/tests/unit/test_getactiveframe_oop.py
rename : testing/marionette/harness/marionette/tests/unit/test_implicit_waits.py => testing/marionette/harness/marionette_harness/tests/unit/test_implicit_waits.py
rename : testing/marionette/harness/marionette/tests/unit/test_import_script.py => testing/marionette/harness/marionette_harness/tests/unit/test_import_script.py
rename : testing/marionette/harness/marionette/tests/unit/test_key_actions.py => testing/marionette/harness/marionette_harness/tests/unit/test_key_actions.py
rename : testing/marionette/harness/marionette/tests/unit/test_localization.py => testing/marionette/harness/marionette_harness/tests/unit/test_localization.py
rename : testing/marionette/harness/marionette/tests/unit/test_log.py => testing/marionette/harness/marionette_harness/tests/unit/test_log.py
rename : testing/marionette/harness/marionette/tests/unit/test_marionette.py => testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py
rename : testing/marionette/harness/marionette/tests/unit/test_modal_dialogs.py => testing/marionette/harness/marionette_harness/tests/unit/test_modal_dialogs.py
rename : testing/marionette/harness/marionette/tests/unit/test_mouse_action.py => testing/marionette/harness/marionette_harness/tests/unit/test_mouse_action.py
rename : testing/marionette/harness/marionette/tests/unit/test_navigation.py => testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py
rename : testing/marionette/harness/marionette/tests/unit/test_pagesource.py => testing/marionette/harness/marionette_harness/tests/unit/test_pagesource.py
rename : testing/marionette/harness/marionette/tests/unit/test_pagesource_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_pagesource_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_position.py => testing/marionette/harness/marionette_harness/tests/unit/test_position.py
rename : testing/marionette/harness/marionette/tests/unit/test_prefs.py => testing/marionette/harness/marionette_harness/tests/unit/test_prefs.py
rename : testing/marionette/harness/marionette/tests/unit/test_profile_management.py => testing/marionette/harness/marionette_harness/tests/unit/test_profile_management.py
rename : testing/marionette/harness/marionette/tests/unit/test_proxy.py => testing/marionette/harness/marionette_harness/tests/unit/test_proxy.py
rename : testing/marionette/harness/marionette/tests/unit/test_quit_restart.py => testing/marionette/harness/marionette_harness/tests/unit/test_quit_restart.py
rename : testing/marionette/harness/marionette/tests/unit/test_rendered_element.py => testing/marionette/harness/marionette_harness/tests/unit/test_rendered_element.py
rename : testing/marionette/harness/marionette/tests/unit/test_report.py => testing/marionette/harness/marionette_harness/tests/unit/test_report.py
rename : testing/marionette/harness/marionette/tests/unit/test_run_js_test.py => testing/marionette/harness/marionette_harness/tests/unit/test_run_js_test.py
rename : testing/marionette/harness/marionette/tests/unit/test_screen_orientation.py => testing/marionette/harness/marionette_harness/tests/unit/test_screen_orientation.py
rename : testing/marionette/harness/marionette/tests/unit/test_screenshot.py => testing/marionette/harness/marionette_harness/tests/unit/test_screenshot.py
rename : testing/marionette/harness/marionette/tests/unit/test_select.py => testing/marionette/harness/marionette_harness/tests/unit/test_select.py
rename : testing/marionette/harness/marionette/tests/unit/test_session.py => testing/marionette/harness/marionette_harness/tests/unit/test_session.py
rename : testing/marionette/harness/marionette/tests/unit/test_set_window_size.py => testing/marionette/harness/marionette_harness/tests/unit/test_set_window_size.py
rename : testing/marionette/harness/marionette/tests/unit/test_shadow_dom.py => testing/marionette/harness/marionette_harness/tests/unit/test_shadow_dom.py
rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_chrome.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_chrome.js
rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_fail.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_fail.js
rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_pass.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_pass.js
rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_sanity.py => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_sanity.py
rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_timeout.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_timeout.js
rename : testing/marionette/harness/marionette/tests/unit/test_single_finger_desktop.py => testing/marionette/harness/marionette_harness/tests/unit/test_single_finger_desktop.py
rename : testing/marionette/harness/marionette/tests/unit/test_skip_setup.py => testing/marionette/harness/marionette_harness/tests/unit/test_skip_setup.py
rename : testing/marionette/harness/marionette/tests/unit/test_switch_frame.py => testing/marionette/harness/marionette_harness/tests/unit/test_switch_frame.py
rename : testing/marionette/harness/marionette/tests/unit/test_switch_frame_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_switch_frame_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_switch_remote_frame.py => testing/marionette/harness/marionette_harness/tests/unit/test_switch_remote_frame.py
rename : testing/marionette/harness/marionette/tests/unit/test_teardown_context_preserved.py => testing/marionette/harness/marionette_harness/tests/unit/test_teardown_context_preserved.py
rename : testing/marionette/harness/marionette/tests/unit/test_text.py => testing/marionette/harness/marionette_harness/tests/unit/test_text.py
rename : testing/marionette/harness/marionette/tests/unit/test_text_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_text_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_timeouts.py => testing/marionette/harness/marionette_harness/tests/unit/test_timeouts.py
rename : testing/marionette/harness/marionette/tests/unit/test_transport.py => testing/marionette/harness/marionette_harness/tests/unit/test_transport.py
rename : testing/marionette/harness/marionette/tests/unit/test_typing.py => testing/marionette/harness/marionette_harness/tests/unit/test_typing.py
rename : testing/marionette/harness/marionette/tests/unit/test_using_permissions.py => testing/marionette/harness/marionette_harness/tests/unit/test_using_permissions.py
rename : testing/marionette/harness/marionette/tests/unit/test_visibility.py => testing/marionette/harness/marionette_harness/tests/unit/test_visibility.py
rename : testing/marionette/harness/marionette/tests/unit/test_wait.py => testing/marionette/harness/marionette_harness/tests/unit/test_wait.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_handles.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_handles.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_management.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_management.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_position.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_position.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_switching.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_switching.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_title.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_title.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_title_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_title_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_type.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_type.py
rename : testing/marionette/harness/marionette/tests/unit/test_with_using_context.py => testing/marionette/harness/marionette_harness/tests/unit/test_with_using_context.py
rename : testing/marionette/harness/marionette/tests/unit/unit-tests.ini => testing/marionette/harness/marionette_harness/tests/unit/unit-tests.ini
rename : testing/marionette/harness/marionette/tests/webapi-tests.ini => testing/marionette/harness/marionette_harness/tests/webapi-tests.ini
rename : testing/marionette/harness/marionette/www/bug814037.html => testing/marionette/harness/marionette_harness/www/bug814037.html
rename : testing/marionette/harness/marionette/www/click_out_of_bounds_overflow.html => testing/marionette/harness/marionette_harness/www/click_out_of_bounds_overflow.html
rename : testing/marionette/harness/marionette/www/clicks.html => testing/marionette/harness/marionette_harness/www/clicks.html
rename : testing/marionette/harness/marionette/www/cssTransform.html => testing/marionette/harness/marionette_harness/www/cssTransform.html
rename : testing/marionette/harness/marionette/www/cssTransform2.html => testing/marionette/harness/marionette_harness/www/cssTransform2.html
rename : testing/marionette/harness/marionette/www/datetimePage.html => testing/marionette/harness/marionette_harness/www/datetimePage.html
rename : testing/marionette/harness/marionette/www/deletingFrame.html => testing/marionette/harness/marionette_harness/www/deletingFrame.html
rename : testing/marionette/harness/marionette/www/double_click.html => testing/marionette/harness/marionette_harness/www/double_click.html
rename : testing/marionette/harness/marionette/www/element_bottom.html => testing/marionette/harness/marionette_harness/www/element_bottom.html
rename : testing/marionette/harness/marionette/www/element_left.html => testing/marionette/harness/marionette_harness/www/element_left.html
rename : testing/marionette/harness/marionette/www/element_outside_viewport.html => testing/marionette/harness/marionette_harness/www/element_outside_viewport.html
rename : testing/marionette/harness/marionette/www/element_right.html => testing/marionette/harness/marionette_harness/www/element_right.html
rename : testing/marionette/harness/marionette/www/element_top.html => testing/marionette/harness/marionette_harness/www/element_top.html
rename : testing/marionette/harness/marionette/www/empty.html => testing/marionette/harness/marionette_harness/www/empty.html
rename : testing/marionette/harness/marionette/www/formPage.html => testing/marionette/harness/marionette_harness/www/formPage.html
rename : testing/marionette/harness/marionette/www/frameset.html => testing/marionette/harness/marionette_harness/www/frameset.html
rename : testing/marionette/harness/marionette/www/framesetPage2.html => testing/marionette/harness/marionette_harness/www/framesetPage2.html
rename : testing/marionette/harness/marionette/www/hidden.html => testing/marionette/harness/marionette_harness/www/hidden.html
rename : testing/marionette/harness/marionette/www/html5/blue.jpg => testing/marionette/harness/marionette_harness/www/html5/blue.jpg
rename : testing/marionette/harness/marionette/www/html5/boolean_attributes.html => testing/marionette/harness/marionette_harness/www/html5/boolean_attributes.html
rename : testing/marionette/harness/marionette/www/html5/geolocation.js => testing/marionette/harness/marionette_harness/www/html5/geolocation.js
rename : testing/marionette/harness/marionette/www/html5/green.jpg => testing/marionette/harness/marionette_harness/www/html5/green.jpg
rename : testing/marionette/harness/marionette/www/html5/offline.html => testing/marionette/harness/marionette_harness/www/html5/offline.html
rename : testing/marionette/harness/marionette/www/html5/red.jpg => testing/marionette/harness/marionette_harness/www/html5/red.jpg
rename : testing/marionette/harness/marionette/www/html5/status.html => testing/marionette/harness/marionette_harness/www/html5/status.html
rename : testing/marionette/harness/marionette/www/html5/test.appcache => testing/marionette/harness/marionette_harness/www/html5/test.appcache
rename : testing/marionette/harness/marionette/www/html5/test_html_inputs.html => testing/marionette/harness/marionette_harness/www/html5/test_html_inputs.html
rename : testing/marionette/harness/marionette/www/html5/yellow.jpg => testing/marionette/harness/marionette_harness/www/html5/yellow.jpg
rename : testing/marionette/harness/marionette/www/html5Page.html => testing/marionette/harness/marionette_harness/www/html5Page.html
rename : testing/marionette/harness/marionette/www/javascriptPage.html => testing/marionette/harness/marionette_harness/www/javascriptPage.html
rename : testing/marionette/harness/marionette/www/macbeth.html => testing/marionette/harness/marionette_harness/www/macbeth.html
rename : testing/marionette/harness/marionette/www/modal_dialogs.html => testing/marionette/harness/marionette_harness/www/modal_dialogs.html
rename : testing/marionette/harness/marionette/www/nestedElements.html => testing/marionette/harness/marionette_harness/www/nestedElements.html
rename : testing/marionette/harness/marionette/www/rectangles.html => testing/marionette/harness/marionette_harness/www/rectangles.html
rename : testing/marionette/harness/marionette/www/resultPage.html => testing/marionette/harness/marionette_harness/www/resultPage.html
rename : testing/marionette/harness/marionette/www/scroll.html => testing/marionette/harness/marionette_harness/www/scroll.html
rename : testing/marionette/harness/marionette/www/scroll2.html => testing/marionette/harness/marionette_harness/www/scroll2.html
rename : testing/marionette/harness/marionette/www/scroll3.html => testing/marionette/harness/marionette_harness/www/scroll3.html
rename : testing/marionette/harness/marionette/www/scroll4.html => testing/marionette/harness/marionette_harness/www/scroll4.html
rename : testing/marionette/harness/marionette/www/scroll5.html => testing/marionette/harness/marionette_harness/www/scroll5.html
rename : testing/marionette/harness/marionette/www/shim.js => testing/marionette/harness/marionette_harness/www/shim.js
rename : testing/marionette/harness/marionette/www/test.html => testing/marionette/harness/marionette_harness/www/test.html
rename : testing/marionette/harness/marionette/www/testAction.html => testing/marionette/harness/marionette_harness/www/testAction.html
rename : testing/marionette/harness/marionette/www/testPageSource.html => testing/marionette/harness/marionette_harness/www/testPageSource.html
rename : testing/marionette/harness/marionette/www/testPageSource.xml => testing/marionette/harness/marionette_harness/www/testPageSource.xml
rename : testing/marionette/harness/marionette/www/testPageSourceWithUnicodeChars.html => testing/marionette/harness/marionette_harness/www/testPageSourceWithUnicodeChars.html
rename : testing/marionette/harness/marionette/www/testSize.html => testing/marionette/harness/marionette_harness/www/testSize.html
rename : testing/marionette/harness/marionette/www/test_accessibility.html => testing/marionette/harness/marionette_harness/www/test_accessibility.html
rename : testing/marionette/harness/marionette/www/test_carets_columns.html => testing/marionette/harness/marionette_harness/www/test_carets_columns.html
rename : testing/marionette/harness/marionette/www/test_carets_cursor.html => testing/marionette/harness/marionette_harness/www/test_carets_cursor.html
rename : testing/marionette/harness/marionette/www/test_carets_display_none.html => testing/marionette/harness/marionette_harness/www/test_carets_display_none.html
rename : testing/marionette/harness/marionette/www/test_carets_iframe.html => testing/marionette/harness/marionette_harness/www/test_carets_iframe.html
rename : testing/marionette/harness/marionette/www/test_carets_longtext.html => testing/marionette/harness/marionette_harness/www/test_carets_longtext.html
rename : testing/marionette/harness/marionette/www/test_carets_multipleline.html => testing/marionette/harness/marionette_harness/www/test_carets_multipleline.html
rename : testing/marionette/harness/marionette/www/test_carets_multiplerange.html => testing/marionette/harness/marionette_harness/www/test_carets_multiplerange.html
rename : testing/marionette/harness/marionette/www/test_carets_selection.html => testing/marionette/harness/marionette_harness/www/test_carets_selection.html
rename : testing/marionette/harness/marionette/www/test_clearing.html => testing/marionette/harness/marionette_harness/www/test_clearing.html
rename : testing/marionette/harness/marionette/www/test_dynamic.html => testing/marionette/harness/marionette_harness/www/test_dynamic.html
rename : testing/marionette/harness/marionette/www/test_iframe.html => testing/marionette/harness/marionette_harness/www/test_iframe.html
rename : testing/marionette/harness/marionette/www/test_inner_iframe.html => testing/marionette/harness/marionette_harness/www/test_inner_iframe.html
rename : testing/marionette/harness/marionette/www/test_nested_iframe.html => testing/marionette/harness/marionette_harness/www/test_nested_iframe.html
rename : testing/marionette/harness/marionette/www/test_oop_1.html => testing/marionette/harness/marionette_harness/www/test_oop_1.html
rename : testing/marionette/harness/marionette/www/test_oop_2.html => testing/marionette/harness/marionette_harness/www/test_oop_2.html
rename : testing/marionette/harness/marionette/www/test_shadow_dom.html => testing/marionette/harness/marionette_harness/www/test_shadow_dom.html
rename : testing/marionette/harness/marionette/www/test_windows.html => testing/marionette/harness/marionette_harness/www/test_windows.html
rename : testing/marionette/harness/marionette/www/windowHandles.html => testing/marionette/harness/marionette_harness/www/windowHandles.html
rename : testing/marionette/harness/marionette/www/xhtmlTest.html => testing/marionette/harness/marionette_harness/www/xhtmlTest.html
extra : rebase_source : 67058d4aaa858732563fda6790c3176071c6bd60
2016-12-12 13:05:34 +01:00
Henrik Skupin 39b88340ad Bug 1319705 - Move Puppeteer to testing/marionette and make it available for Marionette tests in test packages. r=gps
MozReview-Commit-ID: 521o0fV72SQ

--HG--
rename : testing/puppeteer/.flake8 => testing/marionette/puppeteer/.flake8
rename : testing/puppeteer/firefox/MANIFEST.in => testing/marionette/puppeteer/firefox/MANIFEST.in
rename : testing/puppeteer/firefox/docs/Makefile => testing/marionette/puppeteer/firefox/docs/Makefile
rename : testing/puppeteer/firefox/docs/api/appinfo.rst => testing/marionette/puppeteer/firefox/docs/api/appinfo.rst
rename : testing/puppeteer/firefox/docs/api/keys.rst => testing/marionette/puppeteer/firefox/docs/api/keys.rst
rename : testing/puppeteer/firefox/docs/api/l10n.rst => testing/marionette/puppeteer/firefox/docs/api/l10n.rst
rename : testing/puppeteer/firefox/docs/api/places.rst => testing/marionette/puppeteer/firefox/docs/api/places.rst
rename : testing/puppeteer/firefox/docs/api/prefs.rst => testing/marionette/puppeteer/firefox/docs/api/prefs.rst
rename : testing/puppeteer/firefox/docs/api/security.rst => testing/marionette/puppeteer/firefox/docs/api/security.rst
rename : testing/puppeteer/firefox/docs/api/software_update.rst => testing/marionette/puppeteer/firefox/docs/api/software_update.rst
rename : testing/puppeteer/firefox/docs/api/utils.rst => testing/marionette/puppeteer/firefox/docs/api/utils.rst
rename : testing/puppeteer/firefox/docs/conf.py => testing/marionette/puppeteer/firefox/docs/conf.py
rename : testing/puppeteer/firefox/docs/index.rst => testing/marionette/puppeteer/firefox/docs/index.rst
rename : testing/puppeteer/firefox/docs/make.bat => testing/marionette/puppeteer/firefox/docs/make.bat
rename : testing/puppeteer/firefox/docs/ui/about_window/window.rst => testing/marionette/puppeteer/firefox/docs/ui/about_window/window.rst
rename : testing/puppeteer/firefox/docs/ui/browser/notifications.rst => testing/marionette/puppeteer/firefox/docs/ui/browser/notifications.rst
rename : testing/puppeteer/firefox/docs/ui/browser/tabbar.rst => testing/marionette/puppeteer/firefox/docs/ui/browser/tabbar.rst
rename : testing/puppeteer/firefox/docs/ui/browser/toolbars.rst => testing/marionette/puppeteer/firefox/docs/ui/browser/toolbars.rst
rename : testing/puppeteer/firefox/docs/ui/browser/window.rst => testing/marionette/puppeteer/firefox/docs/ui/browser/window.rst
rename : testing/puppeteer/firefox/docs/ui/deck.rst => testing/marionette/puppeteer/firefox/docs/ui/deck.rst
rename : testing/puppeteer/firefox/docs/ui/menu.rst => testing/marionette/puppeteer/firefox/docs/ui/menu.rst
rename : testing/puppeteer/firefox/docs/ui/pageinfo/window.rst => testing/marionette/puppeteer/firefox/docs/ui/pageinfo/window.rst
rename : testing/puppeteer/firefox/docs/ui/update_wizard/dialog.rst => testing/marionette/puppeteer/firefox/docs/ui/update_wizard/dialog.rst
rename : testing/puppeteer/firefox/docs/ui/windows.rst => testing/marionette/puppeteer/firefox/docs/ui/windows.rst
rename : testing/puppeteer/firefox/firefox_puppeteer/__init__.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/__init__.py
rename : testing/puppeteer/firefox/firefox_puppeteer/api/__init__.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/api/__init__.py
rename : testing/puppeteer/firefox/firefox_puppeteer/api/appinfo.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/api/appinfo.py
rename : testing/puppeteer/firefox/firefox_puppeteer/api/keys.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/api/keys.py
rename : testing/puppeteer/firefox/firefox_puppeteer/api/l10n.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/api/l10n.py
rename : testing/puppeteer/firefox/firefox_puppeteer/api/places.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/api/places.py
rename : testing/puppeteer/firefox/firefox_puppeteer/api/prefs.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/api/prefs.py
rename : testing/puppeteer/firefox/firefox_puppeteer/api/security.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/api/security.py
rename : testing/puppeteer/firefox/firefox_puppeteer/api/software_update.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/api/software_update.py
rename : testing/puppeteer/firefox/firefox_puppeteer/api/utils.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/api/utils.py
rename : testing/puppeteer/firefox/firefox_puppeteer/base.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/base.py
rename : testing/puppeteer/firefox/firefox_puppeteer/decorators.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/decorators.py
rename : testing/puppeteer/firefox/firefox_puppeteer/errors.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/errors.py
rename : testing/puppeteer/firefox/firefox_puppeteer/mixins.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/mixins.py
rename : testing/puppeteer/firefox/firefox_puppeteer/puppeteer.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/puppeteer.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/__init__.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/__init__.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/about_window/__init__.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/about_window/__init__.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/about_window/deck.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/about_window/deck.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/about_window/window.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/about_window/window.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/base.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/base.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/browser/__init__.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/__init__.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/browser/notifications.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/notifications.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/browser/toolbars.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/toolbars.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/browser/window.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/window.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/deck.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/deck.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/menu.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/menu.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/__init__.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/__init__.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/deck.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/deck.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/window.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/pageinfo/window.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/__init__.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/__init__.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/dialog.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/wizard.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/update_wizard/wizard.py
rename : testing/puppeteer/firefox/firefox_puppeteer/ui/windows.py => testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/windows.py
rename : testing/puppeteer/firefox/requirements-docs.txt => testing/marionette/puppeteer/firefox/requirements-docs.txt
rename : testing/puppeteer/firefox/requirements.txt => testing/marionette/puppeteer/firefox/requirements.txt
rename : testing/puppeteer/firefox/setup.py => testing/marionette/puppeteer/firefox/setup.py
extra : rebase_source : 2c34436c2669cab33d7d3b3f2b23c46c7d3a27d7
2016-11-24 17:02:52 +01:00
Kim Moir 9334cbf678 Bug 1303590 - Remove Luciddream test suite r=aobreja 2016-09-23 09:20:54 -04:00
Greg Tatum af2fa2e8ab Bug 1290988 - Add the mach generate-css-db command. r=tromey, r=chmanchester
Provide a single mach command to automatically generate the static
database of CSS properties that devtools uses for the inspector
and various editors.

MozReview-Commit-ID: 8E2jwxF0KbM

--HG--
rename : devtools/shared/css/moz.build => devtools/shared/css/generated/moz.build
extra : rebase_source : ab1815f321d460886168d95ddb739a579599b8c7
extra : histedit_source : f2bfecdcc128a87abcf3c0284a54c53bdeff1c87
2016-09-14 10:00:27 -05:00
Dustin J. Mitchell 43ee56730b Bug 1286075: include redo in mach python path; r=gps
MozReview-Commit-ID: G34XOxlMDV7

--HG--
extra : rebase_source : 335aafa96b395c9f801bde26ae53234f309aded0
2016-08-23 00:02:38 +00:00