Commit Graph

287 Commits

Author SHA1 Message Date
Henrik Skupin
d9ac9efdcb Bug 1239808 - Rename test_packages.json to include package basename as prefix. r=chmanchester,jlund
MozReview-Commit-ID: 6JiHIbSjhoR
2016-02-25 21:37:47 +01:00
Chris Manchester
77c91e9f64 Bug 1250961 - Move testing/xpcshell/Makefile.in to moz.build. r=gps
MozReview-Commit-ID: 8J9RzA0RZ0i
2016-02-26 13:20:31 -08:00
Chris Manchester
a7485341ef Bug 1250961 - Move testing/mochitest/Makefile.in to moz.build. r=gps
MozReview-Commit-ID: LwQH49FLfY2
2016-02-26 13:20:31 -08:00
Gregory Szorc
5853544e8c Bug 1251325 - Remove make targets for running xpcshell tests; r=ted.mielczarek
We killed the mochitest targets a week ago and nobody complained. Let's
give xpcshell the same treatment.

Some other code related to test path generation has been removed because
it is no longer used.

MozReview-Commit-ID: oc5QHTUfHF
2016-02-25 10:37:56 -08:00
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
Carsten "Tomcat" Book
5f2eb05976 Backed out changeset 889072501f26 (bug 1239808) bustage for web platform tests as run via taskcluster 2016-02-24 12:52:16 +01:00
Henrik Skupin
0783e6386f Bug 1239808 - Rename test_packages.json to include package basename as prefix. r=chmanchester, r=jlund
MozReview-Commit-ID: LxTr8Mo2P0i
2016-02-24 10:49:40 +01:00
Gregory Szorc
9e68311999 Bug 1248658 - Remove make targets for running mochitests; r=ted
These have been deprecated in favor of mach commands for years. Let's
stop pretending to support them by removing them.

MozReview-Commit-ID: 4fX6SZN18EQ
2016-02-16 13:48:04 -08:00
Andreas Tolfsen
f46993af84 Bug 1239987 - Remove marionette-transport dependency from build environment; r=gps 2016-01-30 08:55:24 +00:00
Chris Manchester
a21fc700a8 Bug 1055224 - Run gtest output through a stack fixer. r=ahal 2016-01-15 10:36:46 -08:00
aleth
11cf67e934 Bug 992983 - Followup to make BUILD_GTEST consistent with the gtest makefile ifdef. r=chmanchester 2016-01-13 22:05:57 +01:00
Chris Manchester
f7f2da7629 Bug 992983 - Build and upload the gtest libxul during test packaging. r=ted 2015-07-16 16:52:31 -07:00
aleth
21f96b4a12 Bug 1228674 - Handle filenames with spaces in 'define package_archive'. r=gps 2015-11-27 22:33:25 +01:00
Andrew Halberstadt
e7ce0828a2 Bug 1219442 - Re-write specialpowers as a restartless addon, r=jmaher
In order to meet the addon signing requirement for tests, specialpowers
needs to be installed at gecko runtime. This means it must be restartless.
This patch packages specialpowers as a restartless addon, but it does not
yet install it at runtime.
2015-11-05 10:00:59 -05:00
Mike Hommey
21ea6a1c90 Bug 1224490 - Kill LIBXUL_DIST. r=mshal 2015-11-17 10:00:19 +09:00
Nick Alexander
3ba90b4e47 Bug 938994 - Move build/mobile/robocop into mobile/android/tests/browser/robocop. r=gbrown
This builds the Robocop tests with |mach build mobile/android|, making
it easier for developers to build Fennec and the tests at the same
time.
2015-11-09 12:55:38 -08:00
Geoff Brown
b32950bbdb Bug 1197716 - On Android, include fonts in test profile; r=jmaher 2015-11-06 12:01:33 -07:00
Chris Manchester
b9c223a9a7 Backed out changeset 92e5edb0d02e (bug 992983) for breaking fix_stack_using_bpsyms.py 2015-10-19 12:15:43 -07:00
Chris Manchester
74d1935978 Bug 992983 - Build and upload the gtest libxul during test packaging. r=ted 2015-07-16 16:52:31 -07:00
Andrew Halberstadt
b491261813 Bug 1209628 - Package mozharness alongside other build artifacts instead of 'package-tests', r=gps
Mozharness isn't part of the test package, so shouldn't really be packaged during 'package-tests'.
2015-09-29 09:03:39 -04:00
Carsten "Tomcat" Book
c95ed339d7 Merge m-c to fx-team 2015-10-01 14:16:12 +02:00
Gregory Szorc
5f303c4eee Bug 1208320 - Do not stage some C++ unit test support files before archiving; r=glandium
Won't impact performance much. But fewer make foo makes porting the C++
unit tests (which are the largest remaining tests) to the Python
archiver easier to grok.

This conversion did change behavior slightly. Previously, startup
cache files weren't being packaged if startup cache was disabled. Now,
we always package them since their presence in the test archive should
be harmless. The original change to guard their inclusion in
ee82e0ae5488 was probably unnecessary.
2015-09-30 17:41:46 -07:00
Gregory Szorc
574eca4151 Bug 1208320 - Do not stage mozbase files before archiving; r=glandium
This prevents copying of 447 files adding to ~4 MB.
2015-09-30 11:15:51 -07:00
Gregory Szorc
049df3b7c0 Bug 1208320 - Do not stage JS test modules before archiving; r=glandium
Saves 400 KB over 40 files on my machine.
2015-09-30 11:04:58 -07:00
Gregory Szorc
a9ac186ef0 Bug 1208320 - Do not stage TPS files before archiving; r=glandium
This saves copying of ~100 files comprising ~1 MB. Not significant. But
it gets us a little closer to no staging.
2015-09-30 11:03:32 -07:00
Gregory Szorc
b8d952bdbe Bug 1208320 - Do not stage reftest test files before archiving; r=glandium
This is slightly more involved than earlier changes because reftests
have a one-off mechanism for finding files. Essentially, the master
reftest manifest is loaded, directories are discovered, and every file
in those directories is packaged.

We add support to our test archive generation tool to read sources from
reftest manifests and tell it where the reftest manifests are.
print-manifest-dirs.py was only being used for staging reftest files.
Since we don't do that any more, the functionality doesn't need to exist
in a standalone file, so it has been moved inline into test_archive.py.

This change avoids copying ~26,000 tests consuming 131 MB during test
packaging. This is a majority of the file count that was remaining in
the stage directory at this point. On my machine (which hasn't typically
seen major wall time wins from not staging files due to its fast SSD),
this change made test packaging ~20% faster, reducing wall time from
~50s to ~40s!

A Try push seemed to indicate drastic results with the series up to this
point. Including the already landed changes to generate test archives
concurrently, test packaging times on OS X builders dropped from ~18:40
to 6:29! Times on Linux x64 remained about the same (~2:46). This is
possibly due to these machines already having SSDs and due to normal
variance in performance of builders and EC2 instances.
2015-09-30 17:39:33 -07:00
Gregory Szorc
169016d231 Bug 1208320 - Do not stage JIT test files before archiving; r=glandium
This avoids copying 5000+ files consuming ~37 MB on my build
configuration.
2015-09-30 10:03:25 -07:00
Gregory Szorc
840a9717d4 Bug 1208320 - Produce cppunittest and reftest packages via Python; r=glandium
With this change, all test ZIP archives are now generated via Python and
mozpack.

This change does not change I/O or file copy behavior at all. There is
still a lot of room for eliminating extra file copies.
2015-09-30 09:58:31 -07:00
Gregory Szorc
9c28197084 Bug 1208320 - Produce common tests archive via Python; r=glandium
This doesn't change I/O or copy behavior at all. But it does remove a
one-off make rule.
2015-09-30 17:38:53 -07:00
Gregory Szorc
a9fa83ee3b Bug 1208320 - Produce talos test archive without staging files; r=glandium
This is pretty straightforward. This saves ~26 MB of file copies.
2015-09-30 09:48:04 -07:00
Gregory Szorc
dc4f52bdaa Bug 1208320 - Produce web-platform test archive without staging; r=glandium
The web-platform test archive now builds without any staging at all.
This saves ~103 MB of file copies on my machine.

The testing/web-platform/Makefile.in serves no purpose after this
change, so it and all references to it have been removed.
2015-09-30 09:47:22 -07:00
Gregory Szorc
6bc9a4f376 Bug 1208320 - Produce mochitest test archive without staging test files; r=glandium
This is very similar to what we did for xpcshell. Like xpcshell, there
are still some staged files. However, about 73MB of copies are
eliminated with this change. On my machine, overall execution time of
test packaging appears to decrease, although CPU usage is up slightly.
2015-09-30 09:46:35 -07:00
Gregory Szorc
c9c6353ee5 Bug 1208320 - Produce xpcshell archive without staging test files; r=glandium
This commit produces the xpcshell test archive without staging 5000+
xpcshell test files first.

We teach the archiver to ignore .mkdir.done files.

The xpcshell Makefile.in still stages some files. This is less than
ideal. However, it is a small handful of files and shouldn't add too
much overhead.

This appears to not impact overall CPU usage significantly on my
machine, despute using Python instead of `zip`. It does reduce I/O
by ~25MB by avoiding the staging copy.
2015-09-30 09:36:16 -07:00
Gregory Szorc
75bdc932f2 Bug 1208320 - Produce mozharness test archive via mozpack; r=glandium
Test archive generation currently copies a bunch of files into a staging
area then runs `zip` to produce ZIP files. There are 2 concerns with
this approach:

1) We incur a lot of extra I/O to copy files so everything is
   rooted in a single tree so the `zip` invocation and paths are
   simple.
2) ZIP files inherit properties from the local filesystem (including
   mtime), making ZIP files non-deterministic.

This commit introduces a new mozbuild action for producing test
archives. It does so using the mozpack file finder and JAR writer,
which are used throughout the build to deterministically
produce ZIP/JAR files from files in multiple source directories.

We implement support for producing the mozharness archive. This archive
does not involve files that are staged, so no I/O is saved. In fact,
the switch from `zip` to Python likely makes this slightly slower.
However, we do have deterministic archives now.

Additional archives will be ported over in subsequent commits.
2015-09-30 11:34:33 -07:00
Dylan Roeh
a3f4a3cecb Bug 1210162 - Add --suite reftest to REMOTE_REFTEST in testsuite-targets.mk. r=jgraham 2015-09-30 16:09:17 -05:00
Gregory Szorc
de336cdaa6 Bug 1207912 - Use multiple rules for test archive generation; r=glandium
Previously, we had a single make target and rule for generating all test
archives. These tasks can be performed in parallel. This commit
refactors the make file to add multiple targets for each archive and
thus enables test archives to be generated concurrently.

On my MacBook Pro, this reduces `make package-tests -j8` from ~78s to
~50s, a reduction of ~28s, or ~36%. Reduction on machines without SSDs
(like many builders in automation) will likely be less. Although, the
page cache should service most file reads during archiving since these
files were just staged, so hopefully the gains are in the same ballpark.
2015-09-23 23:28:19 -04:00
Gregory Szorc
a0a0200560 Bug 1207912 - Add a "stage-all" target; r=glandium
Upcoming work will introduce multiple targets for building test
archives. To prepare for this, we introduce a phony target that
tracks the staging of all test files so each target can gate on a common
prerequisite.
2015-09-23 23:00:14 -04:00
aleth
401677e76c Bug 1193257 - Make xpcshell harness command line arguments path filters for tests: followup to fix 'make xpcshell-tests'. r=ahal 2015-09-24 19:42:35 +02:00
aleth
35b4245491 Bug 1193224 - Remove --tests-root-dir option: followup to remove it from testsuite-targets.mk. r=ahal 2015-09-23 12:20:12 +02:00
Wes Kocher
189cde2aee Backed out changeset b3870c695f4f (bug 1193224) for possibly breaking ASAN/mulet tests CLOSED TREE 2015-09-23 08:48:29 -07:00
aleth
2296bb9b04 Bug 1193224 - Remove --tests-root-dir option: followup to remove it from testsuite-targets.mk. r=ahal 2015-09-23 12:20:12 +02:00
Edgar Chen
7c60884b19 Bug 1188330 - Use intree mozharness for taskcluster tests. r=dustin,garndt,wcosta 2015-09-04 17:01:36 +08:00
James Graham
9bcf147498 Bug 1181516 - Allow reftests to take paths to multiple directories containing tests on the command line, r=jmaher
This makes reftest command line arguments behave more like other test suites,
so we can use a simple unified syntax for e.g. |mach try|. The patch also
reworks the command line argument parsing to use argparse rather than optparse,
and causes mach to reuse the same parser as the suite.
2015-09-17 10:50:55 +01:00
Julien Pagès
aa4b2090a4 Bug 787200 - Move the Talos code into mozilla-central: create the talos test .zip file. r=ted 2015-08-27 10:51:32 +02:00
Ted Mielczarek
42b3656093 bug 1201224 - stop unifying test package during mac universal builds. r=gps 2015-09-02 15:32:58 -04:00
Fabrice Desré
fcb93a3281 Bug 1180358 - Part 1: Add the b2gdroid sub-product. r=fabrice 2015-08-25 13:40:04 -07:00
Julien Pagès
01e379f686 Bug 1194789 - Disable mochitest-ipcplugins and remove mochitest-ipcplugins code. r=jgriffin 2015-08-17 20:34:25 +02:00
Geoff Brown
96d8502fb9 Bug 1179981 - A new test harness for robocop; r=jmaher 2015-07-09 12:30:01 -06:00
Chris Manchester
3afa0be145 Bug 1181732 - Fix invocations of gen_test_packages_manifest.py to create destination directory before attempting to write output file. r=glandium 2015-07-08 13:51:32 -07:00
Chris Manchester
c5473e742e Bug 1179945 - Deal with spaces in file names when generating test archive dependencies. r=bhearsum 2015-07-02 15:15:08 -07:00