Commit Graph

2698 Commits

Author SHA1 Message Date
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
Mike Hommey
f98d09ab4c Bug 1341215 - Vendor dlmanager. r=chmanchester
from https://github.com/parkouss/dlmanager

Note this technically should come before the first patch, but mozreview
won't show useful interdiffs if I do that, so I'll reorder the patches
before landing.

--HG--
extra : rebase_source : dedca9393783623461509c7c85e35302f4b08a2a
2017-02-23 15:30:46 +09:00
Kartikaya Gupta
c4984e8f16 Bug 1336555 - Ensure that cargo-vendor is new enough when running mach vendor rust. r=ted
MozReview-Commit-ID: 3wQ5bA7ZpS5

--HG--
extra : rebase_source : d50302bad066b19afb88bf022b36a8ac6ff67cde
2017-02-24 13:14:16 -05:00
Carsten "Tomcat" Book
7256146318 merge mozilla-inbound to mozilla-central a=merge 2017-02-24 11:46:38 +01:00
Kris Maglione
66ed43fcda Bug 1341502: Fix automatic regeneration of backend when an included test manifest changes. r=mshal
MozReview-Commit-ID: 1ZQNQpqboz9

--HG--
extra : rebase_source : 100dea07ac8f6457dc7c2a189830bf05d834b4c0
extra : source : 4188ae2c8c0ced71fd13dbd78a1bdf46fefa2b9c
2017-02-21 17:31:21 -08:00
Nathan Froyd
50ad8956c0 Bug 1302704 - part 6 - enforce identical profiles for gkrust and gkrust-gtest; r=chmanchester
Cargo hashes various compilation settings into the dependency graph for
dependent libraries.  So if the compilation settings for gkrust and
gkrust-gtest are different, their dependencies will likewise be
different.  The setup we've created in the previous patches depends on
the compilation settings being identical, so we should enforce that at
the moz.build level.
2017-02-23 10:35:06 -05:00
Nathan Froyd
a13c8b0b74 Bug 1302704 - part 3 - propagate information about CARGO_TARGET_DIR from the frontend into the backend; r=chmanchester
Rust libraries can set RUST_LIBRARY_TARGET_DIR so that they can share
compilation artifacts with other libraries.  This setting needs to be
propagated to the backend so it can be communicated to Cargo.
2017-02-23 10:35:07 -05:00
Nathan Froyd
22a91bfe53 Bug 1302704 - part 2 - rename cargo_target_directory; r=chmanchester
We're going to be introducing a value for CARGO_TARGET_DIR in a later
patch, we we should rename this function to not conflict with that
concept.
2017-02-23 10:35:07 -05:00
Nathan Froyd
1cbbd567b5 Bug 1302704 - part 1 - define CARGO_TARGET_DIR in the backend; r=chmanchester
CARGO_TARGET_DIR is currently hardcoded to the current directory, but
we'd like the ability to choose a value for Rust libraries.
2017-02-23 10:35:07 -05:00
Mike Hommey
4f2c73ffd9 Bug 1341207 - Use MachCommandConditions.is_{git,hg} for mach clobber python. r=chmanchester
--HG--
extra : rebase_source : 4b78d3857cca67455343847ab27902c5877e0a6e
2017-02-21 16:04:08 +09:00
Mike Hommey
3a2a54e7d2 Bug 1339240 - Detect git worktrees in MachCommandConditions.is_git. r=chmanchester
--HG--
extra : rebase_source : 1763953383ead9f9985fdadc0e862ace23cb2b21
2017-02-21 15:53:27 +09:00
Sebastian Hengst
11514f09be Backed out changeset e4e02bf4f094 (bug 1341502) for failing TestTestManifestBackend.test_test_manifest_sources on Windows. r=backout on a CLOSED TREE 2017-02-23 21:42:37 +01:00
Kris Maglione
a46cc7117e Bug 1341502: Fix automatic regeneration of backend when an included test manifest changes. r=mshal
MozReview-Commit-ID: 1ZQNQpqboz9

--HG--
extra : rebase_source : 6e5a4f6f037d00ea59a28d392060059f1b38b365
2017-02-21 17:31:21 -08:00
KuoE0
2fb7487fe1 Bug 1340379 - Remove hardcoded Homebrew URL of autoconf 2.13 for macOS. r=nalexander
MozReview-Commit-ID: 2QRkVCOFTUL

--HG--
extra : rebase_source : 0544def007eeb6ec1ada1cbd0a58aa297bc5b711
2017-02-17 11:14:29 +08:00
Wes Kocher
dda9a2cfb8 Merge m-c to autoland a=merge
MozReview-Commit-ID: 7m1sarjIoLM
2017-02-17 13:50:13 -08:00
Nathan Froyd
6bf34c2a33 Bug 1340401 - add back definition of FILESIZE_LIMIT; r=obvious-bustage 2017-02-17 10:18:48 -05:00
Andrew Halberstadt
8d7db75ee7 Bug 1340162 - Add task for running mozlint unitttests on Linux (and pull old tests out of make check), r=smacleod
MozReview-Commit-ID: 3XCWMJtQMvZ

--HG--
extra : rebase_source : 290c14cda5b7abf6aea43315fc91c0ac8fc869f0
2017-02-02 11:08:41 -05:00
Jan Beich
5e185e524c Bug 1320940 - rustup is N/A on Tier3 platforms, so prefer downstream Rust packages. r=rillian
MozReview-Commit-ID: NsRGdweHuF

--HG--
extra : rebase_source : 1cdc69999b5047b8e03bc12006b9fb8d09cfaa20
2016-11-29 14:27:46 +00:00
Mike Shal
ad087668b7 Bug 1339182 - Remove OSX universal support in the build system; r=glandium
This removes the UNIFY_DIST and UNIFIED_BUILD variables, as well as the
--unify flag from the packager and UnifiedBuildFinder from mozpack. As a
result the STAGEPATH variable is never defined anymore, so its uses can
be removed as well.

test_unify.py is currently the only mozbuild/mozpack test that fails
without running configure first, and there isn't much point in fixing
tests for things that we don't actually use anymore.

MozReview-Commit-ID: F5q1FPW3Did

--HG--
extra : rebase_source : cadbd237f51c23ea1983135294521d628d16f0df
2017-02-10 16:52:17 -05:00
Mike Shal
e86326d270 Bug 1338559 - Use the tier system to recurse for 'make check'; r=glandium
This helps us avoid recursing over every directory when we only need to
run 'make check' in a select few.

MozReview-Commit-ID: BJ3hJBOneIz

--HG--
extra : rebase_source : 2493f924b9ccba3c779e512d7a8b7a2c26f43797
2017-02-03 16:47:28 -05:00
Andrew Halberstadt
a2025d4c9c Bug 1003417 - Add ability to run subsuites to |mach python-test|, r=ted
This adds the ability to use manifestparser subsuites to |mach python-test|.
Subsuites are based on the premise of a "default" set that gets run when no
subsuites are explicitly specified. When a test is labelled with a subsuite,
that test is removed from the default set and will only run if that subsuite
is explicitly specified. This will allow us to chunk python unittests out of
'make check' piecemeal. The default set will run in 'make check', and
individual tasks (e.g mozbase), will specify a subsuite explicitly.

The |mach python-test| implementation is slightly different. By default,
subsuites are not considered if developers do not pass in --subsuite. This
means running |mach python-test| without arguments will still run the full set
of tests, and similarly, passing in test paths will *just work*.

If for some reason a developer needs to actually run the default set, a special
"default" subsuite has been create, so they can use
|mach python-test --subsuite default|. This default subsuite is also what 'make
check' will explicitly invoke.

MozReview-Commit-ID: FaHb4nvuoK9

--HG--
extra : rebase_source : 2ecbc902bb6bafa7cd78ac0e380a10bad7c14351
2016-11-17 16:30:33 -05:00
Andrew Halberstadt
ea89582f61 Bug 1320194 - Generate all-tests.pkl and related files when resolving tests r=mshal
This replaces the 'run-tests-deps' make target with a python function that will directly
read moz.build files, emit them with TestManifestEmitter, then consume them with
TestManifestBackend. Because the TestResolver is the only place that actually reads the
test metadata files, we can remove this logic from the CommonBackend as well.

MozReview-Commit-ID: DXgMoeH5dKf



MozReview-Commit-ID: HstZ57qkqf2

--HG--
extra : rebase_source : f377fa6863ef66d3adb86ed64f844e346686862f
2017-02-01 09:56:09 -05:00
Andrew Halberstadt
eb228a736f Bug 1320194 - Add ability to specify custom emitter function in TreeMetadataEmitter r=gps
Currently, the only way to emit objects after reading moz.build, is to emit everything. Though, sometimes
it may be desirable to only emit certain types of objects. This adds a new argument that allows consumers
to specify a custom emitter function. This gives them the flexibility to do whatever they want.

This will be used when resolving tests, so only TestManifest objects are emitted.

MozReview-Commit-ID: DPGgNmn2JvE

--HG--
extra : rebase_source : 044f8c8cad1bf7fd1dfbed05c89fbd114508182a
2017-01-27 11:54:09 -05:00
Andrew Halberstadt
ffc74847e7 Bug 1320194 - Fix bug preventing more than two backends in a HybridBackend r=gps
This is a drive by fix that is not relevant to the rest of the commit series.

MozReview-Commit-ID: Bwrb74o3Qh8

--HG--
extra : rebase_source : 34706a6640a6c704f9c03f24aede71e4c1c5ac1c
2017-01-27 16:31:15 -05:00
Andrew Halberstadt
1f4ea1e485 Bug 1320194 - Refactor test metadata related backend code into a partial TestManifestBackend r=gps
Currently the CommonBackend is responsible for processing TestManifest objects and using them to generate
the test metadata files (e.g all-tests.pkl et al). This patch pulls that logic out into a partial backend
specifically for test manifests.

This patch is solely a refactoring and shouldn't change any build behaviour. CommonBackend has a
TestManifestBackend instance and calls consume_object directly on it. However, this is just a temporary
measure to avoid checking in a broken commit.

This commit also adds a test for the 'test-defaults.pkl' file which was previously missing.

MozReview-Commit-ID: HOr2QVT8CJ1

--HG--
extra : rebase_source : e4b9cb982937381346c0821971191277173b165b
2017-01-27 11:47:34 -05:00
Carsten "Tomcat" Book
ed3d8d8286 merge mozilla-inbound to mozilla-central a=merge 2017-02-15 12:21:44 +01:00
Nathan Froyd
a0e43ae419 Bug 1306078 - part 3 - make mach vendor rust check for overly-large files; r=ted.mielczarek
When vendoring third-party files, we'd like an explicit notice/review
when said files contain a "large file".  This commit adds such checks
for files vendored via `mach vendor rust`.

As we don't yet have a server-side hook in place to prevent large files
from being added, we just have a command-line flag that people are
expected to use, on the honor system, to permit large files to be added
when vendoring.
2017-02-14 16:12:19 -05:00
Nathan Froyd
f466efaa92 Bug 1306078 - part 2 - add Repository.get_added_files; r=ted.mielczarek
Figuring out the files that have been added is also something that you
want to do with a source code repository.
2017-02-14 16:12:19 -05:00
Nathan Froyd
7e71a9a29e Bug 1306078 - part 1 - add forget_add_remove_files to mozversioncontrol Repository objects; r=gps
This command is useful for users who wish to perform something like the
following:

1. Add/remove a bunch of files;
2. Examine the additions/removals/modifications for interesting changes;
3. Reject the add/remove if it doesn't meet some set of conditions.
2017-02-14 16:12:19 -05:00
Wes Kocher
5583be3ddf Merge m-c to autoland, a=merge
MozReview-Commit-ID: KkIFx9ndC8y
2017-02-14 14:46:45 -08:00
Ralph Giles
e44edf88cc Bug 1339409 - mozboot: Fix undefined FileNotFoundError. r=froydnj
The FileNotFoundError built-in exception is only present in
python 3. Emulate its behaviour in python 2 with a conditional
OSError.

MozReview-Commit-ID: 4b8THPG7jph

--HG--
extra : rebase_source : 718bf3659f14bd349d052d43bf3197dfbb4a016f
2017-02-14 11:41:04 -08:00
Gabriele Svelto
276f7423bb Bug 1310703 - Introduce the pingsender executable; r=ted
MozReview-Commit-ID: 2SEwwGywahQ
2017-01-16 17:39:22 +01:00
Ralph Giles
d9052fefa0 Bug 1337153 - Require rust 1.15.1. r=Ehsan
Bump the minimum version of the rust toolchain we require to
build. The 1.15 release includes support for custom #[derive]
directives, letting us use the serde serialization crate without
checking in a lot of generated code.

This is primarily motivated by webrender and the audio remoting
work, and lets us drop the heavy syntex dependency.

MozReview-Commit-ID: 6IObHhouPAn

--HG--
extra : rebase_source : 4be8b148fb653a48f6df4309811ab1d8755f7edf
2017-02-09 09:38:48 -08:00
Wes Kocher
30d9ef4d29 Merge m-c to autoland, a=merge
MozReview-Commit-ID: D76dMYwFRUQ
2017-02-09 17:06:59 -08:00
Ehsan Akhgari
471a55162b Bug 1337874 - Include files that participate in unified builds in the compilation database; r=glandium
Without this, clang-tidy cannot check any diffs including such files.
In the future, when checking the entire tree using clang-tidy, we will
ignore these entries in the compilation database.
2017-02-09 10:14:47 -05:00
Justin Wood
6d726fa81c Bug 1197325 - Remove now unused genisoimage. r=ted
MozReview-Commit-ID: AO3RgE4SdsH

--HG--
extra : rebase_source : 5afb3583c4426d3903b00e879a248a19cb02bd31
2017-02-02 10:10:27 -05:00
Justin Wood
9feb80031e Bug 1197325 -- Set volume icon for DMG in Linux->Mac cross compiles. r=ted
MozReview-Commit-ID: C4LFZB6msmL

--HG--
extra : rebase_source : 18d4e2fa3af4a387bf5e08f987d44a0a658ac1d3
2017-01-30 17:32:32 -05:00
Mike Hommey
f2c9fad61b Bug 1337391 - Don't skip all directories that aren't traversed with a DIRS in a moz.build file. r=chmanchester
The way directory traversal is computed relies on the
RecursiveMakeTraversal class, which is used to reproduce the old
traversal order from the old entirely-in-make traversal with DIRS,
PARALLEL_DIRS, etc. because of the undeclared intra-directory
dependencies that are looming here and there.

It's fed through DirectoryTraversal objects emitted by the frontend.
Normally, DirectoryTraversal objects are emitted for a directory,
possibly giving the subdirectories defined in DIRS/TEST_DIRS its
moz.build. But in the case of gyp processing, nothing places the gyp
objdirs in some virtual DIRS of some parent moz.build since bug 1308982.

As a consequence, the corresponding entries in the
RecursiveMakeTraversal instance attached to the backend are not attached
to any parent directory. When subsequently traversing the tree from the
root, they are never found, and end up being skipped, irregarding of
their actual _no_skip status.

It would probably be possible to revert the changes from bug 1308992,
but we might as well not rely on remains from the old ways. So instead,
we make the RecursiveMakeTraversal consider directories without a
declared parent attached directly to the root directory. They don't need
to depend on any other directory anyways.

--HG--
extra : rebase_source : 17403922322a71d490fdea8db0ff16b04983ed7a
2017-02-09 15:22:34 +09:00
Phil Ringnalda
0bf37ead29 Backed out 3 changesets (bug 1197325) for adding a burning Cc(hfsplus) job
CLOSED TREE

Backed out changeset 158233bce738 (bug 1197325)
Backed out changeset b5ac3fa0bbe7 (bug 1197325)
Backed out changeset 55a8ad127517 (bug 1197325)
2017-02-06 20:04:55 -08:00
Justin Wood
a39754cb97 Bug 1197325 - Remove now unused genisoimage. r=ted
MozReview-Commit-ID: AO3RgE4SdsH

--HG--
extra : rebase_source : 2a49430e1eb0809b191435c6986e076f9cac7b96
2017-02-02 10:10:27 -05:00
Justin Wood
214e9da5c5 Bug 1197325 -- Set volume icon for DMG in Linux->Mac cross compiles. r=ted
MozReview-Commit-ID: C4LFZB6msmL

--HG--
extra : rebase_source : a302c9d12537ca59d3233504abede89bdace15d0
2017-01-30 17:32:32 -05:00
Chris Manchester
b9cc7edb0f Bug 1336231 - Install the gmp plugins to the correct directory during artifact builds. r=mshal
We had been installing them to dist/plugins with the rest of the test plugins,
but tests are actually expecting them to be in dist/bin.

MozReview-Commit-ID: 9qYFgZA4Fni

--HG--
extra : rebase_source : 52a4cbf70ffe7998cfe81ab5e508b9f802dd3a35
2017-02-03 10:59:06 -08:00
Michael Kaply
77e5098faa Bug 1328713 - Allow region specific overrides of search engines. r=florian 2017-02-03 16:48:44 -06:00
Ralph Giles
4efb911890 Bug 1284816 - Remove --disable-rust. r=ted
Remove the option to build without rust code. We are not testing
this configuration and expect to land non-optional rust code in
the near future, so it doesn't make sense to maintain this option.

MozReview-Commit-ID: CwTlMXGvr5n

--HG--
extra : rebase_source : 080a9df5b4828c66aa2452ad1c16a503bcd5e689
2017-02-01 15:38:49 -08:00
Chris Manchester
6a74c9ea61 Bug 1330421 - Update artifact code to populate generated test support files from the tests archive. r=gps
This updates the client artifact code to locate test support files in the
common test archive and populate the objdir with these files appropriately.

MozReview-Commit-ID: GuXjwUtsl

--HG--
extra : rebase_source : 3560efee22533f60be1e7394fa0841005991cca6
2017-01-12 15:30:51 -08:00
Chris Manchester
47674ccc56 Bug 1330421 - Change the structure of test archives include generated test support files in common.tests.zip for the benefit of artifact builds. r=gps
Generated support files for specific tests generally end up in a harness specific
test archive, but artifact builds, which might not want to generate these files
themselves, get all of their test related files from the common.tests.zip. This
effectively moves a small number of these support files from harness specific
archives to the common test archive, making it possible to run tests that
depend on these files against artifact builds.


MozReview-Commit-ID: BvEj1ot1OTw

--HG--
extra : rebase_source : 06e958adc7b5667c50ca5ddbf06c1bf878d75737
2017-01-12 15:29:48 -08:00
Chris Manchester
d3afe369a1 Bug 1333135 - Ensure test support binaries are tracked by install manifests in the build backend. r=mshal
Install manifests influence test packaging, allowing artifact builds to consume
generated test support files and run tests that depend on them. This commit
tracks binaries with an install target under "_tests" so they will be correctly
installed in artifact builds.

This could similarly be achieved by installing the binaries via TEST_HARNESS_FILES
rather than setting FINAL_TARGET, however, PGO builds will fail attempting to install
the files during the profile generation step, because SIMPLE_PROGRAMS are not built
for this step.

MozReview-Commit-ID: ES4bTxOoqMN

--HG--
extra : rebase_source : f41d8c47711fc15247fa336e2e9cbdedf57c2daf
2017-01-27 14:21:29 -08:00
Mike Hommey
dc5d1e6adf Bug 1335309 - Change the default for find_executables to False. r=mshal
Back when the class was written, for the packaging code, it made sense
that the default was True. But now that it's used all over the place,
and that the vast majority of uses are with find_executables=False, it
makes more sense for that to be the default.

--HG--
extra : rebase_source : ff813735fc0d53093f348f20eb77ee03e9b09d4e
2017-01-31 14:06:15 +09:00
Mike Hommey
dbdbf959b8 Bug 1335309 - Add explicit find_executables arguments to every use of FileFinder. r=mshal
And make it an error not to give it. While the default is True, we do
pass a value of False wherever it makes sense, which happens to be, in
most places.

This is an intermediate step to flip the default from True to False,
ensuring that we don't unwantedly switch some calls to False.

--HG--
extra : rebase_source : 432e03f032fef378af482581685583262e5d2661
2017-01-31 13:01:34 +09:00
Benjamin Smedberg
ca77995f5d Bug 1333826 - Remove SDK_FILES, SDK_LIBRARY, and related is_sdk support in the build goop, r=mshal
MozReview-Commit-ID: 52vPyDXdFte

--HG--
extra : rebase_source : c3217730bb70eb7319152dd07536b12f49d6a597
2017-01-30 11:24:10 -05:00