Commit Graph

173 Commits

Author SHA1 Message Date
Kagami Sascha Rosylight
4d696c5df3 Bug 1554186: Fix Python 3 negative import level error r=glandium
Negative value for import level is obsolete in Python 3, which was used on Py2 for implicit relative import. This change ensures the level value to be >=0 on Py3 to fix test failures.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 07:58:19 +00:00
Kagami Sascha Rosylight
bead355959 Bug 1550956: Import builtins in Python 3 compatible way r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D30790

--HG--
extra : moz-landing-system : lando
2019-05-23 03:57:17 +00:00
Brindusan Cristian
952521e616 Backed out changeset fa4c37c31dfd (bug 1550956) as requested by mikedeboer on IRC for causing mach to stop working on Python 2. a=backout 2019-05-22 12:33:23 +03:00
Kagami Sascha Rosylight
2dd546dac6 Bug 1550956: Import builtins in Python 3 compatible way r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D30790

--HG--
extra : moz-landing-system : lando
2019-05-21 18:38:46 +00:00
Nick Alexander
a7e3d82701 Bug 1543247 - Part 1: Add mach browsertime command that installs and invokes browsertime. r=Standard8,ahal
[browsertime](https://github.com/sitespeedio/browsertime) is a harness
for running performance tests, similar to Mozilla's Raptor testing
framework.  The Performance Team is using it locally with some
success, but we're running a heavily modified toolchain that is
challenging to install.  This mach command is intended to be leverage
for getting more folks able to use browsertime easily.

In particular, the version of browsertime that this installs has
nalexander's changes to support testing GeckoView-based vehicles.  If
this approach meets with approval, I'll continue to follow-up with
additional configuration and tooling layers to make it even easier to
drive GeckoView-based vehicles.

I elected to piggy-back install on the eslint installation process,
since this is very similar.  To that end, I generalized what was there
very slightly.  I elected not to try to move the existing code into a
more obvious shared location, although it might be possible, because
it wasn't clear what contexts the existing code would be invoked
from.  In particular I wasn't certain the code could rely on a
complete mozbuild checkout.

I did need to ensure the local Node.js binary is early on the PATH;
this was an issue I ran into with my initial Node/Yarn prototyping
many months ago.  At heart the issue is that package scripts in the
wild invoke a bare `node` or `npm` command; if there was a culture of
invoking $NODE or $NPM, this wouldn't be necessary.  There's no harm
doing it for ESlint, and it will help the next person who wants to
install an NPM package for tooling in this manner.

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

--HG--
extra : moz-landing-system : lando
2019-05-06 23:56:49 +00:00
Razvan Maries
12bcfbb334 Backed out 2 changesets (bug 1543247) for build bustages. CLOSED TREE
Backed out changeset feb726e4f15d (bug 1543247)
Backed out changeset 4b3619d89abd (bug 1543247)
2019-05-04 03:10:55 +03:00
Nick Alexander
6df6c7ee39 Bug 1543247 - Part 1: Add mach browsertime command that installs and invokes browsertime. r=Standard8,ahal
[browsertime](https://github.com/sitespeedio/browsertime) is a harness
for running performance tests, similar to Mozilla's Raptor testing
framework.  The Performance Team is using it locally with some
success, but we're running a heavily modified toolchain that is
challenging to install.  This mach command is intended to be leverage
for getting more folks able to use browsertime easily.

In particular, the version of browsertime that this installs has
nalexander's changes to support testing GeckoView-based vehicles.  If
this approach meets with approval, I'll continue to follow-up with
additional configuration and tooling layers to make it even easier to
drive GeckoView-based vehicles.

I elected to piggy-back install on the eslint installation process,
since this is very similar.  To that end, I generalized what was there
very slightly.  I elected not to try to move the existing code into a
more obvious shared location, although it might be possible, because
it wasn't clear what contexts the existing code would be invoked
from.  In particular I wasn't certain the code could rely on a
complete mozbuild checkout.

I did need to ensure the local Node.js binary is early on the PATH;
this was an issue I ran into with my initial Node/Yarn prototyping
many months ago.  At heart the issue is that package scripts in the
wild invoke a bare `node` or `npm` command; if there was a culture of
invoking $NODE or $NPM, this wouldn't be necessary.  There's no harm
doing it for ESlint, and it will help the next person who wants to
install an NPM package for tooling in this manner.

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

--HG--
extra : moz-landing-system : lando
2019-05-03 22:44:23 +00:00
Chris Manchester
5c005e476e Bug 1526072 - Record cpu utilization and clobber/full builds in build telemetry. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D22630

--HG--
extra : moz-landing-system : lando
2019-03-27 22:42:48 +00:00
Noemi Erli
6269026d4e Backed out 4 changesets (bug 1526072) for causing build bustages in test_clobber.py CLOSED TREE
Backed out changeset d3d56eca307f (bug 1526072)
Backed out changeset 37942b0f911b (bug 1526072)
Backed out changeset a0eb0f43c928 (bug 1526072)
Backed out changeset c1d1576431d7 (bug 1526072)
2019-03-27 22:51:22 +02:00
Chris Manchester
68be120a7f Bug 1526072 - Record cpu utilization and clobber/full builds in build telemetry. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D22630

--HG--
extra : moz-landing-system : lando
2019-03-18 20:36:54 +00:00
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