Commit Graph

82 Commits

Author SHA1 Message Date
James Graham
45b365d29e 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
b0b4cca449 Bug 1150512 - Move Marionette test runner to wptserve; r=automatedtester 2015-12-03 15:48:41 -05:00
Mike Hommey
9385aa830e 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
2411b7899a 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
a8d790121a Bug 1222235: Remove monthly mercurial-update reminder. r=gps 2015-11-05 15:54:55 -08:00
Andrew Halberstadt
2bcdff67d0 Bug 1212840 - Add mozinstall to mach SEARCH_PATHS, r=armenzg 2015-10-08 09:10:03 -04:00
Ehsan Akhgari
785992e1b5 Bug 904572 - Add support for generating clang compilation database; r=glandium,r=gps 2015-09-29 09:23:50 +09:00
Nicholas Nethercote
f0c22e1475 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
8be0b110ca 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
f95cc664f5 Bug 1190525 - Print path to mach; r=smacleod 2015-08-18 17:04:57 -07:00
Mike Hommey
4b25d9d54e 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
282fa607e1 Backed out changeset 684252f11061 (bug 1188224) for make check bustage. 2015-08-05 13:50:11 +09:00
Mike Hommey
3e90c79d2a 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
d0c49b8f0b 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
52d26930ff 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
3dbb172759 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
b4c99235d0 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
a0bab6cb57 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
567a9076a6 Backed out changeset f06616ee7b2b (bug 1182677)
TaskCluster is not amused.
2015-07-14 13:58:43 -07:00
Gregory Szorc
ddf9b3c083 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
33676267a2 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
6a595c1c90 Bug 1091274 - Move leak log functions out of automationutils and into mozbase. r=jgriffin 2015-07-03 07:04:22 +02:00
Chris Manchester
bd96d46ee4 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
d39a778dac Bug 1169714 - Add requests to mach bootstrap SEARCH_PATH, r=jgriffin 2015-05-29 14:01:25 -04:00
Jonathan Griffin
943a9030d5 Bug 1163833 - Add integration with browsermob-proxy, r=dburns 2015-05-27 10:00:09 -07:00
Andrew Halberstadt
7938903b88 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
7b1c0384ea Bug 892973 - Add support for the YouCompleteMe vim plugin; r=gps 2015-04-27 13:08:43 -04:00
Alexandre Poirot
ba761dc695 Bug 1147031 - Write mach command for luciddream. r=jgriffin 2015-04-09 11:46:00 -04:00
Ryan VanderMeulen
634a5a9321 Backed out changeset a209d4d37f8f (bug 1147031) for Luciddream bustage. 2015-04-07 11:48:46 -04:00
Alexandre Poirot
3cd4d298bd Bug 1147031 - Write mach command for luciddream. r=jgriffin 2015-04-02 10:55:00 -04:00
Axel Hecht
a3e314eada 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
2633d459e9 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
e328f77205 Bug 1107336: update build and test targets to use new marionette driver; r=jgriffin 2015-02-23 14:45:50 +00:00
Chris Manchester
d6b9291e2f Bug 1114474 - Unbreak some mach consumers of marionette.r=ahal 2015-02-10 13:55:33 -08:00
James Lal
5a27e03e0c Bug 1068653 - Part 2 add taskcluster trygraph commands r=wcosta, garndt, mdas
--HG--
extra : rebase_source : 4d2c484bc780bd20c13b9bca129bd173ac66624a
extra : source : 630a93355767c7813dc7b761309f6728a79c2c80
2014-11-26 10:11:28 -08:00
Carsten "Tomcat" Book
865fb769cb 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
1762802157 Bug 1107336: Update mach for newly created MarionetteDriver; r=jgriffin
--HG--
extra : rebase_source : 1ca3a7047dbaec3f29ec28e7914db1c9760a6f11
2014-12-09 20:14:23 +00:00
Nick Alexander
8576ab88f4 Bug 1103121 - Add |mach gradle| command for building Fennec Gradle. r=gps
I went with gradle instead of gradlew because it's more likely to be
what users consider.  And mach helpfully fixes up the uncommon typo.

This is a little hard-coded right now but I don't think it's likely
any other Gradle consumer will arise in the short term.

--HG--
extra : source : 67ce3d7591f944fa458758d97f443651f0e40dac
extra : amend_source : d10846e845deda5d368bdfdbb5b3d68706038992
extra : histedit_source : fb30750f389444a9619778d4c690d7de5e5fcbc1
2014-11-21 12:40:00 -08:00
Benoit Girard
b6f9b243d4 Bug 1062726 - Add ./mach ide [visualstudio,eclipse] command. r=gps
--HG--
extra : rebase_source : 6c0ed5227c59380722863be8ecc389d9a53fc0a0
2014-09-04 02:08:33 -04:00
Chris Manchester
159f5d88c2 Bug 1050511 - Modify import of marionette harness to avoid a mismatch in assertRaises when running through mach. r=gps 2014-10-10 12:58:10 -04:00
Alessio Placitelli
6418bc83d3 Bug 928397 - Add mozdebug package to mozbase. r=ted.mielczarek 2014-07-02 13:51:00 +02:00
James Graham
b609197c3b Bug 945222 - Initial import of web-platform-tests testsuite 4/4 : Integration with build system, mach and mozharness, r=ahal,gps
--HG--
extra : rebase_source : 0d704f5a3edcbcef56d15b76ef26aae1b7232c4d
2014-09-04 12:52:43 +01:00
Nathan Froyd
072b3b906e Bug 1045617 - move services's run_server.py Makefile rules into mach; r=gps 2014-07-30 15:44:13 -04:00
Sylvestre Ledru
a82b0c1825 Bug 1051987 - By default, hide the disabled commands. They are eating the display for no value. $ ./mach -v help bring them back. r=jmaher
From 7c2de97792113d3415acf2cfa1591fa05c5b07a8 Mon Sep 17 00:00:00 2001
 display for no value. $ ./mach -v help bring them back.
---
 build/mach_bootstrap.py        |  2 +-
 python/mach/mach/dispatcher.py | 14 +++++++-------
 python/mach/mach/main.py       |  3 +++
 3 files changed, 11 insertions(+), 8 deletions(-)
2014-08-11 18:31:24 +02:00
Mike Hommey
31312eff5c Bug 1030717 - Don't try to create the mach state directory until it's actually needed. r=gps 2014-07-03 07:15:31 +09:00
Gregory Szorc
9899663867 Bug 1027215 - Generic Python code for parsing reftest manifests; r=roc
The immediate goal of this patch is to give the build system and testing
tools the knowledge to identify reftest files and directories. Parsing
extra metadata out of reftest manifests is currently a non-requirement,
but may be supported some day.

--HG--
extra : rebase_source : 279680af28c9175f5babe458a57203e8b19ab724
extra : histedit_source : c0e463ea02f87a376ef48e2b25136e5f6be4e61a
2014-06-17 17:29:57 -07:00
William Lachance
4b9480677f Bug 984528 - Rename manifestdestiny -> manifestparser. r=ahal
--HG--
rename : testing/mozbase/docs/manifestdestiny.rst => testing/mozbase/docs/manifestparser.rst
rename : testing/mozbase/manifestdestiny/manifestparser/__init__.py => testing/mozbase/manifestparser/manifestparser/__init__.py
rename : testing/mozbase/manifestdestiny/manifestparser/manifestparser.py => testing/mozbase/manifestparser/manifestparser/manifestparser.py
rename : testing/mozbase/manifestdestiny/setup.py => testing/mozbase/manifestparser/setup.py
rename : testing/mozbase/manifestdestiny/tests/comment-example.ini => testing/mozbase/manifestparser/tests/comment-example.ini
rename : testing/mozbase/manifestdestiny/tests/default-skipif.ini => testing/mozbase/manifestparser/tests/default-skipif.ini
rename : testing/mozbase/manifestdestiny/tests/filter-example.ini => testing/mozbase/manifestparser/tests/filter-example.ini
rename : testing/mozbase/manifestdestiny/tests/fleem => testing/mozbase/manifestparser/tests/fleem
rename : testing/mozbase/manifestdestiny/tests/include-example.ini => testing/mozbase/manifestparser/tests/include-example.ini
rename : testing/mozbase/manifestdestiny/tests/include/bar.ini => testing/mozbase/manifestparser/tests/include/bar.ini
rename : testing/mozbase/manifestdestiny/tests/include/crash-handling => testing/mozbase/manifestparser/tests/include/crash-handling
rename : testing/mozbase/manifestdestiny/tests/include/flowers => testing/mozbase/manifestparser/tests/include/flowers
rename : testing/mozbase/manifestdestiny/tests/include/foo.ini => testing/mozbase/manifestparser/tests/include/foo.ini
rename : testing/mozbase/manifestdestiny/tests/just-defaults.ini => testing/mozbase/manifestparser/tests/just-defaults.ini
rename : testing/mozbase/manifestdestiny/tests/manifest.ini => testing/mozbase/manifestparser/tests/manifest.ini
rename : testing/mozbase/manifestdestiny/tests/mozmill-example.ini => testing/mozbase/manifestparser/tests/mozmill-example.ini
rename : testing/mozbase/manifestdestiny/tests/mozmill-restart-example.ini => testing/mozbase/manifestparser/tests/mozmill-restart-example.ini
rename : testing/mozbase/manifestdestiny/tests/no-tests.ini => testing/mozbase/manifestparser/tests/no-tests.ini
rename : testing/mozbase/manifestdestiny/tests/path-example.ini => testing/mozbase/manifestparser/tests/path-example.ini
rename : testing/mozbase/manifestdestiny/tests/relative-path.ini => testing/mozbase/manifestparser/tests/relative-path.ini
rename : testing/mozbase/manifestdestiny/tests/test_convert_directory.py => testing/mozbase/manifestparser/tests/test_convert_directory.py
rename : testing/mozbase/manifestdestiny/tests/test_convert_symlinks.py => testing/mozbase/manifestparser/tests/test_convert_symlinks.py
rename : testing/mozbase/manifestdestiny/tests/test_default_skipif.py => testing/mozbase/manifestparser/tests/test_default_skipif.py
rename : testing/mozbase/manifestdestiny/tests/test_expressionparser.py => testing/mozbase/manifestparser/tests/test_expressionparser.py
rename : testing/mozbase/manifestdestiny/tests/test_manifestparser.py => testing/mozbase/manifestparser/tests/test_manifestparser.py
rename : testing/mozbase/manifestdestiny/tests/test_read_ini.py => testing/mozbase/manifestparser/tests/test_read_ini.py
rename : testing/mozbase/manifestdestiny/tests/test_testmanifest.py => testing/mozbase/manifestparser/tests/test_testmanifest.py
rename : testing/mozbase/manifestdestiny/tests/verifyDirectory/subdir/manifest.ini => testing/mozbase/manifestparser/tests/verifyDirectory/subdir/manifest.ini
rename : testing/mozbase/manifestdestiny/tests/verifyDirectory/subdir/test_sub.js => testing/mozbase/manifestparser/tests/verifyDirectory/subdir/test_sub.js
rename : testing/mozbase/manifestdestiny/tests/verifyDirectory/test_1.js => testing/mozbase/manifestparser/tests/verifyDirectory/test_1.js
rename : testing/mozbase/manifestdestiny/tests/verifyDirectory/test_2.js => testing/mozbase/manifestparser/tests/verifyDirectory/test_2.js
rename : testing/mozbase/manifestdestiny/tests/verifyDirectory/test_3.js => testing/mozbase/manifestparser/tests/verifyDirectory/test_3.js
rename : testing/mozbase/manifestdestiny/tests/verifyDirectory/verifyDirectory.ini => testing/mozbase/manifestparser/tests/verifyDirectory/verifyDirectory.ini
rename : testing/mozbase/manifestdestiny/tests/verifyDirectory/verifyDirectory_incomplete.ini => testing/mozbase/manifestparser/tests/verifyDirectory/verifyDirectory_incomplete.ini
rename : testing/mozbase/manifestdestiny/tests/verifyDirectory/verifyDirectory_toocomplete.ini => testing/mozbase/manifestparser/tests/verifyDirectory/verifyDirectory_toocomplete.ini
2014-06-10 13:20:23 -04:00
Jonathan Griffin
473e2aa1a3 Bug 996477 - Fix ImportError when running mach marionette-webapi, r=glandium 2014-04-16 10:27:25 -07:00
Gregory Szorc
4c459c3cd3 Bug 903149 - Part 3: Support for minifying packaged JavaScript; r=glandium 2013-09-11 19:54:19 -07:00
Andrew Halberstadt
0423474ea7 Bug 949600 - Sync mozbase to m-c one last time, r=wlach 2014-02-19 16:42:01 -05:00