Commit Graph

95 Commits

Author SHA1 Message Date
Andreas Tolfsen
85c23ddce4 Bug 1246407 - Rename parent directories for Marionette client and test harness; r=automatedtester
This change moves testing/marionette/client to testing/marionette/harness,
and testing/marionette/driver to testing/marionette/client.  This parent
directory name change reflects the true purpose of these Python packages.

MozReview-Commit-ID: B0KrGzDTLlQ
2016-02-06 17:34:10 +00:00
Gregory Szorc
12006761c8 Bug 1250748 - Remove the 20s countdown timer from mach first run; r=chmanchester
Previously on first `mach` run on a system, we'd display a prompt with a
20s countdown timer after which the default state directory
(~/.mozbuild) was created. Users had to wait 20s or ctrl+c and
make the directory by hand. Either way, they'd have to re-invoke
mach to run whatever command they were trying to run.

This was annoying.

This commit makes the following changes:

1) The countdown timer is replaced with "press RETURN/ENTER to continue"
2) The requirement to re-invoke mach has been removed

On first run, people now see a message telling them to press
RETURN/ENTER. Then the directory is created and whatever mach command
they requested to run is run.

While I was here, I also changed the permissions on the newly created
directory to match what it was a few lines above. Without, we're relying
on umask, which may be permissive. UNIX convention is to use a more
restrictive umask insider user directories. So this feels like the right
behavior.

MozReview-Commit-ID: IodN13xAJ8P
2016-02-23 17:29:38 -08:00
Dan Minor
64bf29115f Bug 1244160 - Create json-schema for build telemetry data r=gps
This adds a simple schema for build telemetry data. We can make it more
restrictive once we have a better feeling for what kind of data we want
to submit.

This also moves more common data about the system to the telemetry handler.
We leave psutil derivied information in the resource usage data as not every
system will have psutil installed.

MozReview-Commit-ID: CFRq1Ow6AOf
2016-02-02 09:32:49 -05:00
Syd Polk
d31a334c18 Bug 1243546 - Add mach command for external-media-tests - r=gps
MozReview-Commit-ID: 5BcunutbebG
2016-02-10 11:48:25 -06:00
Dan Minor
d9ea9200f8 Bug 1239296 - add post_dispatch_handler hook to mach r=gps
This adds a post_dispatch_handler hook that will be called after each
mach invocation and uses it to submit data to telemetry.
2016-02-09 10:09:17 -05:00
Dan Minor
88689bf81c Bug 1239296 - Add telemetry_handler function to mach context r=gps
This adds a telemetry_handler function to the mach context that can be
used to store telemetry data in the state directory for later reporting.
2016-01-29 13:06:36 -05:00
Carsten "Tomcat" Book
79896f1489 Backed out changeset 200da85932e9 (bug 1230862) for valgrind perma failures 2016-02-10 11:04:50 +01:00
Julien Pagès
4088b605da Bug 1230862 - Remove mozhttpd. r=wlach 2016-02-09 03:26:43 +01:00
Phil Ringnalda
ef4157031e Back out 0a0582597885 (bug 1243546) for Mac "global name 'args' is not defined" bustage 2016-02-09 18:44:35 -08:00
Syd Polk
e4027a9019 Bug 1243546 - Add mach command for external-media-tests - r=gps 2016-02-09 18:10:19 -06:00
EKR
9ccb4db582 Bug 1246402 - Environment variable to disable mercurial setup check. r=gps 2016-02-06 08:02:40 -08:00
Andreas Tolfsen
f46993af84 Bug 1239987 - Remove marionette-transport dependency from build environment; r=gps 2016-01-30 08:55:24 +00:00
Henrik Skupin
50efe25ac4 Bug 1237179 - Add mach command to run firefox-ui-tests from the source directory. r=gps 2016-01-15 19:38:31 +01:00
James Graham
e997134030 Bug 1207377 - Add a |mach mozharness| command for running tests locally in mozharness, r=ahal 2015-12-07 12:32:04 +00:00
Maja Frydrychowicz
8708a26f28 Bug 1150512 - Move Marionette test runner to wptserve; r=automatedtester 2015-12-03 15:48:41 -05:00
Mike Hommey
0718954a25 Bug 1229623 - Remove compilation/database.py from mach_bootstrap.py. r=mshal
When I modified ehsan's patch in bug 904572 to switch to a build backend
instead of a mach command, I forgot to remove the line added to
mach_bootstrap.py to pick the mach command, which now doesn't exist.
2015-12-03 13:34:02 +09:00
Mike Hommey
ade5fca422 Bug 1151124 - Add a simplified version of pymake's clinetoargv to mozbuild and use it. r=gps
Pymake's clinetoargv is very specific to pymake's use case, yet has been abused
as a replacement for shlex because shlex doesn't handle things properly for our
use cases.

Using pymake's clinetoargv, however, has shortcomings, and we're better off
importing its code in mozbuild, simplifying it a little, and using that
instead.

Plus, less dependencies on pymake will help kill it for good some day.
2015-11-24 11:29:14 +09:00
Jonas Sicking
c12a6ac0fd Bug 1222235: Remove monthly mercurial-update reminder. r=gps 2015-11-05 15:54:55 -08:00
Andrew Halberstadt
1e647f806c Bug 1212840 - Add mozinstall to mach SEARCH_PATHS, r=armenzg 2015-10-08 09:10:03 -04:00
Ehsan Akhgari
90545a7bf0 Bug 904572 - Add support for generating clang compilation database; r=glandium,r=gps 2015-09-29 09:23:50 +09:00
Nicholas Nethercote
9d3af62290 Bug 1204787 - Add |mach power|. r=glandium.
This extracts the most useful browser-related measurements from rapl and
powermetrics.
2015-09-15 16:23:45 +10:00
Peter Moore
a0f898fc22 Bug 1194767 - use slugid 1.0.6 in ./mach taskcluster-graph command. r=wcosta
This included adding the slugid 1.0.6 python source code in /python since slugid
is now a dependency of the ./mach taskcluster-graph command, as well us updating
references that used it. Previously the implementation was in-tree.
2015-09-04 17:59:34 +02:00
Gregory Szorc
4826f282db Bug 1190525 - Print path to mach; r=smacleod 2015-08-18 17:04:57 -07:00
Mike Hommey
bfb376779f Bug 1188224 - Remove stale .pyc files from the source directory at import time. r=gps 2015-08-05 15:45:45 +09:00
Mike Hommey
2c18035129 Backed out changeset 684252f11061 (bug 1188224) for make check bustage. 2015-08-05 13:50:11 +09:00
Mike Hommey
243d18beaf Bug 1188224 - Remove stale .pyc files from the source directory at import time. r=gps 2015-08-05 11:17:03 +09:00
Julien Pagès
4365b56819 Bug 1091285 - move dumpScreen in a new mozscreenshot package. r=jgriffin
This also completely remove build/automationutils.py.
2015-07-29 17:50:16 +02:00
Gregory Szorc
1f7772cd40 Bug 1185557 - Clarify that mach mercurial-setup doesn't make changes without prompting; r=smacleod
It's been clear from user feedback that people don't realize that `mach
mercurial-setup` doesn't make any changes unless they tell it to.
Reinforce this message in the prompts printed by mach_boostrap.py.
2015-07-21 10:10:22 -07:00
Gregory Szorc
669d096a20 Bug 1185612 - Detect closed stdin file descriptor; r=bholley
isatty() raises ValueError if the file descriptor is closed. Detect
closed file descriptors.
2015-07-20 11:17:00 -07:00
Gregory Szorc
1459354d8f Bug 1184598 - Don't perform mercurial-setup check for mach-commands command; r=smacleod
This command is used by tab completion handlers. A user reported that
hitting tab in his shell resulted in the mercurial-setup out of date
check spewing output.
2015-07-16 14:37:14 -07:00
Gregory Szorc
c3f470a4da Bug 1182677 - Aggressively prompt to run mach mercurial-setup; r=smacleod
Having not configured or out-of-date tools benefits nobody. It slows
people down.

Version control tools are an integral part of working on Firefox. It is
important for version control tools to be configured optimally and to be
continuously updated so they stay optimal.

The `mach mercurial-setup` command exists to optimally configure
Mercurial for working on Firefox and other Mozilla projects.

This commit adds a pre-dispatch handler to mach that will verify
Mercurial is in a happy state. If `mach mercurial-setup` has never
executed, it will complain. If `mach mercurial-setup` hasn't been
executed in the past 31 days, it will complain.

Yes, aborting command execution and forcing people to context switch to
run `mach mercurial-setup` is annoying. First, we have carved out
several exceptions to this behavior, including detection for running in
automation, on the machines of curmudgeons, when Mercurial isn't being
used, and from non-interactive processes. Second, I argue that people
ignore optional notifications and that having persistently
poorly-configured tools is worse than a single context switch at most
every month. Therefore, the heavyhanded approach is justified.

In addition, if we did support a non-fatal notification, we would
introduce the problem of extra output from commands. If anyone was e.g.
parsing mach output, we could very likely break those systems. These
cases should be caught by the isatty() check or be running in a context
with MOZ_AUTOMATION set. But you never know.
2015-07-14 14:20:03 -07:00
Gregory Szorc
134f923c76 Backed out changeset f06616ee7b2b (bug 1182677)
TaskCluster is not amused.
2015-07-14 13:58:43 -07:00
Gregory Szorc
9b903cbac6 Bug 1182677 - Aggressively prompt to run mach mercurial-setup; r=smacleod
Having not configured or out-of-date tools benefits nobody. It slows
people down.

Version control tools are an integral part of working on Firefox. It is
important for version control tools to be configured optimally and to be
continuously updated so they stay optimal.

The `mach mercurial-setup` command exists to optimally configure
Mercurial for working on Firefox and other Mozilla projects.

This commit adds a pre-dispatch handler to mach that will verify
Mercurial is in a happy state. If `mach mercurial-setup` has never
executed, it will complain. If `mach mercurial-setup` hasn't been
executed in the past 2 weeks, it will complain.

Yes, aborting command execution and forcing people to context switch to
run `mach mercurial-setup` is annoying. First, we have carved out
several exceptions to this behavior, including detection for running in
automation, on the machines of curmudgeons, when Mercurial isn't being
used, and from non-interactive processes. Second, I argue that people
ignore optional notifications and that having persistently
poorly-configured tools is worse than a single context switch at most
every 2 weeks. Therefore, the heavyhanded approach is justified.

In addition, if we did support a non-fatal notification, we would
introduce the problem of extra output from commands. If anyone was e.g.
parsing mach output, we could very likely break those systems. These
cases should be caught by the isatty() check or be running in a context
with MOZ_AUTOMATION set. But you never know.
2015-07-14 13:53:50 -07:00
Gregory Szorc
28a09be59c Bug 1182677 - Refactor state directory lookup into own function; r=smacleod
A subsequent commit will want to access the state directory path without
possibly creating it. Make that possible by extracting path resolution
to its own function.
2015-07-14 13:44:59 -07:00
Julien Pagès
9b331ff125 Bug 1091274 - Move leak log functions out of automationutils and into mozbase. r=jgriffin 2015-07-03 07:04:22 +02:00
Chris Manchester
edcfca9dfd Bug 1149670 - Add a mach command to find tests in specified directories and prepare a commit to push them to try.;r=ahal 2015-05-28 15:57:21 -07:00
Andrew Halberstadt
0db949da0d Bug 1169714 - Add requests to mach bootstrap SEARCH_PATH, r=jgriffin 2015-05-29 14:01:25 -04:00
Jonathan Griffin
ba5f63636c Bug 1163833 - Add integration with browsermob-proxy, r=dburns 2015-05-27 10:00:09 -07:00
Andrew Halberstadt
ce8faf73ea Bug 1058923 - Package mach in tests.zip; create bootstrap script for test package, r=gps 2015-05-01 12:20:55 -04:00
Ehsan Akhgari
583f4bd680 Bug 892973 - Add support for the YouCompleteMe vim plugin; r=gps 2015-04-27 13:08:43 -04:00
Alexandre Poirot
70bf4d60c2 Bug 1147031 - Write mach command for luciddream. r=jgriffin 2015-04-09 11:46:00 -04:00
Ryan VanderMeulen
0c14f2ccf1 Backed out changeset a209d4d37f8f (bug 1147031) for Luciddream bustage. 2015-04-07 11:48:46 -04:00
Alexandre Poirot
a7fb68a73f Bug 1147031 - Write mach command for luciddream. r=jgriffin 2015-04-02 10:55:00 -04:00
Axel Hecht
9b632f5fa6 Bug 940103 - Add a mach command to call compare-locales. r=gps
We're using as many defaults from the configure step as we can. We're also opinionated upon the defaults, but obviously allow most compare-locales options to be specified.

There are two exceptions:
Reference language is specified to be en-US, without optional argument. This is our in-tree command, and the reference language is known.
We always clobber the merge dir, and don't give an option not to. We default to a merge dir in the objdir, so we don't need to be that paranoid as in the standalone version.

Also, compare-locales clobbers merge-dir/browser etc, so you're not going to get / removed.
2015-03-18 18:47:36 +01:00
Chris Manchester
a198da353d Bug 1109183 - Fix imports of the marionette client and remove spurious entry from sys.path provided by mach. r=ahal 2015-03-03 17:37:19 -08:00
David Burns
e7ad6e5298 Bug 1107336: update build and test targets to use new marionette driver; r=jgriffin 2015-02-23 14:45:50 +00:00
Chris Manchester
4d1abba092 Bug 1114474 - Unbreak some mach consumers of marionette.r=ahal 2015-02-10 13:55:33 -08:00
James Lal
c16afe0c9d Bug 1068653 - Part 2 add taskcluster trygraph commands r=wcosta, garndt, mdas 2014-11-26 10:11:28 -08:00
Carsten "Tomcat" Book
c6c8ae3dfe Backed out changeset e6d21c2fa111 (bug 1107336) for breaking Web Platform Reftests on a CLOSED TREE 2015-01-21 16:14:03 +01:00
David Burns
727897c063 Bug 1107336: Update mach for newly created MarionetteDriver; r=jgriffin 2014-12-09 20:14:23 +00:00