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
Allow running |mach wpt| on one click loaners in order to run
web-platform-tests tests.
This implementation is just like the one for other testsuites using
thee packaged tests rather than the checkout that we get with wpt, at
least on Linux. That's also where the tests run from so it seems
reasonable for now. Moving to the checkout in the future could remove
some of the logic here by using a fake mozbuild environment so that
the testsuite itself doesn't have to implement anything much.
MozReview-Commit-ID: CaewrdjJ2ef
--HG--
extra : rebase_source : 491b8014d48f06ff5bd41b28cc985608981fbdf4
The -j try syntax specifies a "job" task. Job tasks are different from
unittests in that they typically don't require a build and run from the
source tree. Examples include linters (eslint, flake8, etc), python tests
(mozbase, mochitest, etc) and misc things like doc generation.
Sometimes, developers might only want to run a specific "job" task with a
syntax like "./mach try -j mozbase".
This means a few assumptions need to be broken in |mach try|. Platforms
and unittests should no longer be required if -j was specified. Most of
the changes in this patch revolve around dealing with those broken
assumptions.
MozReview-Commit-ID: O0y6V2Wwej
--HG--
extra : rebase_source : d003380317cbb688fcc7113c454a5c0543ade40c
Currently if no unittests, paths or tags are specified it will error out.
MozReview-Commit-ID: O0y6V2Wwej
--HG--
extra : rebase_source : e7a438aa1131e3d473459c46fbe9f23c3c06bae1
This was a bug in the mach test package bootstrap that could happen in one-click loaners. If a user neglected to
pass in --flavor, this meant that instead of a nice error message out of mochitest, they'd get a cryptic
traceback.
With this fix, it will be obvious that the problem is "no tests were found".
MozReview-Commit-ID: 5LEQFVDoJrT
--HG--
extra : rebase_source : 90683afe5e6b6b97c085d5ef44d75b4a7d846c90
Previously the run-wizard script would add a command to source the virtualenv in ~/.bashrc after
mozharness finished setting things up. This is fragile, assumes people are using bash, etc. Plus
it appeared to intermittently fail for some users.
Instead, this activates the virtualenv directly from individual mach commands that need it. This
guarantees we will always be using the virtualenv if required (and won't be using it if not). The
'activate_this.py' script is invoked the same way that we do it for in-tree mach commands:
https://dxr.mozilla.org/mozilla-central/rev/9c06e744b1befb3a2e2fdac7414ce18220774a1d/python/mozbuild/mozbuild/virtualenv.py#456
MozReview-Commit-ID: CfcoiVJXQTl
--HG--
extra : rebase_source : da01d1ce1bd9b41c89922e989f857c4de8c09341
In bug 1320073, the marionette package structure was refactored a bit. This made the SEARCH_PATHS
in the mach test package bootstrap outdated. While this didn't end up causing any errors due to
marionette also appearing in an activated virtualenv, it should still be fixed. Figured since I was
in the area, I would just piggy-back off this commit series rather than filing a new bug.
MozReview-Commit-ID: DCNz3xEVJfY
--HG--
extra : rebase_source : 56f37475770fb4848a6413111e15b37f94164e04
CLOSED TREE
Backed out changeset 1f3f88337227 (bug 1312739)
Backed out changeset ecb1d15e8075 (bug 1312739)
Backed out changeset b2adce340421 (bug 1312739)
In bug 1320073, the marionette package structure was refactored a bit. This made the SEARCH_PATHS
in the mach test package bootstrap outdated. While this didn't end up causing any errors due to
marionette also appearing in an activated virtualenv, it should still be fixed. Figured since I was
in the area, I would just piggy-back off this commit series rather than filing a new bug.
MozReview-Commit-ID: DCNz3xEVJfY
--HG--
extra : rebase_source : 5f019d2ca80e008e89c8b9bc93722534f103a58c
This will allow developers to request a loaner for an Android mochitest job and then use
|mach mochitest| to run tests.
MozReview-Commit-ID: 4lsKGpizfH7
--HG--
extra : rebase_source : fba9adb6e2d50cc9ac27532bc91b5eb1d909d874
You can set attributes on a mach context by using the 'key' argument to the context_handler. Basically,
whatever gets returned by the handler when <key> is passed in, will get set (i.e cached) on the context
object for fast retrieval next time. This is a way to lazy load these attributes.
Previously I was setting functions like 'find_firefox()' on the context object, and then having the
mach_commands call that directly. But this way is much cleaner.
Now, the loaded 'mozharness_config' can be stored as an attribute on the context. Also 'find_firefox()'
is now an attribute called 'firefox_bin'.
MozReview-Commit-ID: 4lsKGpizfH7
--HG--
extra : rebase_source : af5e32e05a29b8e91d4cd0005689baa8079ec137
This makes it possible to run |mach marionette-test| from a test package (and therefore
also an interactive loaner).
MozReview-Commit-ID: Lxhe8KMQaWq
--HG--
extra : rebase_source : ee2c01a80d863c2044d8d30b0e5116c8a9704253
This removes the unnecessary setting of c-basic-offset from all
python-mode files.
This was automatically generated using
perl -pi -e 's/; *c-basic-offset: *[0-9]+//'
... on the affected files.
The bulk of these files are moz.build files but there a few others as
well.
MozReview-Commit-ID: 2pPf3DEiZqx
--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
This adds reftest support to the test package mach environment. It will allow
developers to easily run reftests after checking out an interactive worker.
MozReview-Commit-ID: fBAbfuG5XQ
--HG--
extra : rebase_source : 84b4a9fff7f2f27a325ffad4af1de7726bad296e
This adds the 'xpcshell-test' command to the mach environment found in the test
package. This will allow developers to easily run xpcshell after checking out
and interactive worker.
MozReview-Commit-ID: fBAbfuG5XQ
--HG--
extra : rebase_source : 71077c9142f33843ed87d4bc4617a780f775939b
The test path structure is slightly different in the test package compared to a srcdir. So we may need
to normalize the specified paths such that they are relative to a srcdir. Because every test harness
needs to do this, this method is being added to the bootstrap for re-use.
MozReview-Commit-ID: fBAbfuG5XQ
--HG--
extra : rebase_source : b4cedaecfeab777971c9840e932c0aa2bff88240
When running test harnesses from the test package, the firefox binary will live somewhere
outside of the mach context. There are two common situations where a developer might be
running from a test package:
1) From a mozharness context
2) From an objdir context
This patch will attempt to detect either of those situations and automagically find the
firefox binary.
MozReview-Commit-ID: fBAbfuG5XQ
--HG--
extra : rebase_source : 53c87a83bacf6b90a5849559f5616b7a45970627
This is a bit of a hodge podge of small fixes that I needed to run |mach mochitest|
on an interactive worker. Included:
1) Add some packages to SEARCH_PATHS that mochitest needs
2) Always add SEARCH_PATHS even if mach package is found
3) Don't try to register commands that don't exist (i.e it was in an unused test zip)
MozReview-Commit-ID: BIXcCm4LzE2
--HG--
extra : rebase_source : 6ab5ba4e941fd26a4c126a42c2df468d0251730c