Граф коммитов

2016 Коммитов

Автор SHA1 Сообщение Дата
Ryan VanderMeulen 76ab6cf240 Bug 1262207 - Add a nightly_build entry to mozinfo. r=ahal
--HG--
extra : rebase_source : 5ce90a4c5ac0dd6efe8eeca61a4ec2b90fe9b569
2016-04-06 12:04:29 -04:00
Mike Shal a1f020d488 Bug 1261283 - allow GENERATED_FILES to write to multiple outputs; r=glandium
MozReview-Commit-ID: DbBoZZnasTo
2016-04-01 10:38:22 -04:00
Mike Hommey c0808e5f6d Bug 1262087 - Make the @checking callback not alter the behavior for bools. r=chmanchester 2016-04-06 07:25:26 +09:00
Mike Hommey 6878c848b4 Bug 1262087 - Use textwrap.dedent in test_checks_configure.py. r=chmanchester 2016-04-06 07:25:15 +09:00
Chris Manchester b5ce5e9f35 Bug 1262231 - Fix handling of ICU for artifact builds. r=nalexander
The data file is required as of bug 1239083.

MozReview-Commit-ID: XhETIoUYH8

--HG--
extra : rebase_source : 2d1200a72dadb3e0e8211fa58d3f07bc2453061f
2016-04-05 13:00:21 -07:00
Mike Hommey c977f50c17 Bug 1261018 - Make log.queue_debug output debug log when receiving an exception. r=ted 2016-04-05 07:16:44 +09:00
Mike Hommey 8155d8f286 Bug 1261235 - Handle non-ascii in configure logging. r=ted
When reading config.log, with old-configure output, we may get non-ascii
strings, but that currently fails because we're using plain open() to
read it. So use encoded_open() instead (which does the same job for
other files in the same script).

Because the build system can be encapsulated in mach, python configure
can have a pipe as stdout/stderr, and in that case, sys.stdout/stderr
have an ascii encoding, failing to print out anything that doesn't
fit in ascii, consequently failing to print the things we've read from
config.log. So reopen stdout and stderr with the right encoding in
the configure output handler.
2016-04-05 07:16:44 +09:00
Chris Manchester a7138cfc10 Bug 1242051 - Install test files to the objdir lazily rather than with each invocation of mach. r=gps
This moves test installation for test files out of the monolithic install
manifest for $objdir/_tests, and determines the test and support files
to install based on the object derived from all-tests.json. Additionally,
the files resulting from TEST_HARNESS_FILES are installed, as some tests
will depend on them.

As a result, the time to install tests when invoking the test runner will
scale with the number of tests requested to run rather than the entire set
of tests in the tree, resulting in significantly less overhead.

MozReview-Commit-ID: LeIrUVh1yD4
2016-04-04 14:56:52 -07:00
Chris Manchester fc15bfd0ee Bug 1242051 - Extract support files processing from the emitter. r=gps
This extracts the logic from the emitter that handles support files in ini
manifests to a seperate function in testing.py, so that this logic can be
re-used to determine how to install all the files necessary to run a particular
test fon the corresponding object in all-tests.json.

MozReview-Commit-ID: GSEhEGm09IL
2016-04-04 14:56:52 -07:00
Nick Alexander bc6d047594 Bug 1261438 - Generalize Android artifact package names. r=chmanchester
DONTBUILD NPOTB

If the target triple is noisy, let's just accept -arm and -i386
instead of being strict.  We can be more strict when things have
settled.

MozReview-Commit-ID: FDNJ3TuY51d

--HG--
extra : rebase_source : 3db70abe6818fbe0360406f20de899867232df02
extra : amend_source : d324c229b1713adb844407078d6cc4d00d84b56d
2016-04-01 14:28:42 -07:00
Nathan Froyd 276caac476 Bug 1260749 - quiet unpacking of Android SDK and NDK downloads; r=nalexander
We send the output to /dev/null or equivalent, but there's no need to
generate a bunch of extraneous output and consume cycles unnecessarily.
2016-03-30 10:46:14 -04:00
Wes Kocher 56b7127be0 Merge fx-team to central, a=merge
MozReview-Commit-ID: 8rupfWq5Wa6
2016-04-01 15:43:36 -07:00
Mike Shal 2176c3ac7f Bug 1259806 - Remove toolkit/components/ctypes/tests/Makefile.in; r=ted
MozReview-Commit-ID: EVCZVXukFQf
2016-03-25 14:25:17 -04:00
Carsten "Tomcat" Book e873a45f68 Merge mozilla-central to fx-team 2016-04-01 11:49:37 +02:00
Mike Hommey ad20b091b6 Bug 1260624 - Add support for simple comparisons of ReadOnlyNamespaces. r=ted 2016-04-01 09:43:26 +09:00
George Wright 5c454494ce Bug 1114647 - Rename "plugin-container" to "firefox-webcontent" and create a new executable target for Win32 called "firefox-plugin-container" r=ted,jhamer
--HG--
rename : ipc/app/module.ver => ipc/app/plugin-container/module.ver
rename : ipc/contentproc/plugin-container.cpp => ipc/contentproc/firefox-webcontent.cpp
2016-04-01 02:12:59 -04:00
Nick Alexander 9ab9fa5451 Bug 1260241 - Implement Fennec packaging in Python. r=glandium
A few notes:

* This doesn't accommodate general OMNIJAR_NAME definitions.  The
  current name (assets/omni.ja) is baked into the product in a few
  places, and is very unlikely to change, so we just error out if this
  isn't true.

* This makes the package-manifest.in file authoritative for what goes
  into assets/, libs/, and the APK root.  Previously,
  package-manifest.in wrote into assets/ and libs/ but
  upload-files-APK.mk also had a convoluted DIST_FILES filtering
  process to work through before a file actually made it into the APK.

* This is intentional about repackaging.  It simplifies the repackage
  step rather than trying to make unpackage-then-repackage the same as
  just package.  I pretty much never get repackaging correct the first
  time; this should help.  (I've manually tested it.)

* The ALREADY_SZIPPED during repackaging is subsumed by the previous
  check if UNPACKAGE is set.  The custom linker expects stored, not
  deflated, libraries, so there's some small legwork to accommodate
  that in mozjar.

MozReview-Commit-ID: JvVtIUSX685

--HG--
extra : rebase_source : fd8a9cfe3dc364d23b1065995db599f99e676e38
2016-03-28 20:01:07 -07:00
Nick Alexander 45f7d697fc Bug 1260241 - Pre: Add compress option to Jarrer.add. r=glandium
MozReview-Commit-ID: FWXeBOi9FTY

--HG--
extra : rebase_source : 290bb95e0d9133094c4bf4b99f04ccd3c598c6d8
2016-03-28 19:02:05 -07:00
Mike Hommey f6cb862439 Fixup test_check_configure after bug 1260066 on a CLOSED TREE. r=me 2016-03-30 08:36:32 +09:00
Mike Hommey 9d9550f0f5 Fixup bug 1256573 to work on buggy older python on a CLOSED TREE. r=me 2016-03-30 08:15:44 +09:00
Mike Hommey f1ed025e8b Bug 1260066 - Don't allow to use sandbox primitives from anywhere but global scope and templates. r=nalexander
The initial goal of templates was to provide a way to write shorter
constructs for some generic tasks during configure. But the limitations
of the sandbox and the properties of templates made them used for more
general functions.

Consequently, this led to templates having to be available from
anywhere, which, in turn, led to difficult to introspect constructs.
With bug 1257823, we've made almost everything use set_config and
similar functions from the global scope, but we don't enforce that
those primitives are only used at the global scope.

This change does that: it enforces that primitives are only used at
the global scope. Or in templates.

Now, since templates were used for other purposes than generic uses
of other primitives, we now allow non-template functions to be declared.
Those can be used everywhere, but don't have access to the sandbox
primitives.
2016-03-30 07:08:00 +09:00
Mike Hommey 2a7c335181 Bug 1256573 - Remove the @advanced primitive. r=nalexander 2016-03-30 07:07:55 +09:00
Mike Hommey 9877dc7b96 Bug 1256573 - Switch configure tests to use @imports instead of @advanced. r=nalexander 2016-03-30 07:07:52 +09:00
Mike Hommey abc3477a74 Bug 1256573 - Add a new @imports primitive that allows to import modules into the decorated functions. r=nalexander
Currently, we have @advanced, that gives the decorated functions access
to all the builtins and consequently, to the import statement.
That is a quite broad approach and doesn't allow to easily introspect
what functions are importing which modules.

This change introduces a new decorator that allows to import modules one
by one into the decorated functions.

Note: by the end of the change series, @advanced will be gone.
2016-03-30 07:07:50 +09:00
Mike Hommey 0ea59bc1a8 Bug 1256573 - Add missing primitives to the ConfigureSandbox documentation. r=nalexander
Not directly related, but since this bug is about to add another primitive...
2016-03-30 07:07:48 +09:00
Mike Hommey 943acf7e2b Bug 1259351 - Properly sandbox functions that are decorated with templates. r=nalexander 2016-03-30 07:07:47 +09:00
Mike Hommey 6eee113ee8 Bug 1259960 - Make check_prog more flexible about the list of programs it will check. r=chmanchester 2016-03-30 07:07:42 +09:00
Mike Hommey 028ebf69ff Bug 1259960 - Make check_prog more flexible about the input it receives. r=chmanchester 2016-03-30 07:07:40 +09:00
Mike Hommey 18a002cd83 Bug 1259960 - Allow to pass a string to check_prog to describe what is being looked for. r=chmanchester
So far, we've been using the lowercase of the variable name, but it's
not enough for some special cases. Those special cases could do their
own business, but then, they'd have to duplicate 90% of check_prog,
which is less desirable.
2016-03-30 07:07:38 +09:00
Mike Hommey 29c3394b1b Bug 1259960 - s/DummyFunction/DependsFunction/. r=chmanchester
While DummyFunction is descriptive of what the instances are (and they
can't even be called), the various uses of isintance(obj, DummyFunction)
are kind of confusing, especially when they are in moz.configure land
(and this bug is about to add another one).
2016-03-30 07:07:37 +09:00
Mike Hommey cbf367717b Bug 1257516 - Make check_prog opt-in to the queued debug log messages. r=ted 2016-03-30 07:07:13 +09:00
Mike Hommey 97ea49f191 Bug 1257516 - Allow to assign Exceptions in the global scope. r=ted
But do not advertise it too much.
2016-03-30 07:06:26 +09:00
Mike Hommey c7b519d6df Bug 1257516 - Make the ConfigureOutputHandler keep some debug messages to print out when an error occurs. r=ted
The feature is made opt-in by using a context manager.
2016-03-30 07:06:20 +09:00
Mike Hommey a2c9191daf Bug 1257516 - Add a unit test for check_prog(). r=ted
At the same time, shell quote the result it prints if it needs to be.
2016-03-30 07:00:22 +09:00
Mike Hommey 0e183bb384 Bug 1257516 - Allow the log_handle given to the virtualenv manager to be a file-like object. r=ted
subprocess functions doesn't directly take file-like objects, so add a
minimalistic wrapper to do the right thing instead of subprocess.call
when given a file-like object.
2016-03-30 07:00:12 +09:00
Mike Hommey ba80937ba0 Bug 1257516 - Send the debug output from our logger to config.log. r=ted
And since the file is also used for old-configure, close our handle on
the file before spawning old-configure, and make old-configure append
there instead of truncating the file.
2016-03-30 07:00:07 +09:00
Mike Hommey 47d916d8f0 Bug 1257516 - Expose a sandboxed logger to moz.configure and use it. r=ted
This removes the warn() function and makes the die() function use the logger
instead of print.
2016-03-30 07:00:03 +09:00
Mike Hommey c15e6d00c5 Bug 1257516 - Initialize a logger for the ConfigureSandbox, and use it for the help. r=ted 2016-03-30 06:59:59 +09:00
Mike Hommey e22a5082f7 Bug 1257516 - Add a file-like class that sends writes to a callback. r=ted 2016-03-30 06:59:37 +09:00
Mike Hommey cf67fa8b15 Bug 1257516 - Add a logging handler class to print out configure output on stdout/stderr. r=ted 2016-03-30 06:58:09 +09:00
Nicholas Nethercote 0f418f3874 Bug 1253512 (part 1) - Overhaul DMD's "sampling". r=erahm.
DMD currently uses a very hacky form of "sampling" by default to avoid
recording stack traces for all blocks. This makes DMD run faster than when it
records all stack traces.

This patch changes the sampling method used; in fact, it avoids "sampling" at
all. The existence of all heap blocks is now recorded exactly, but by default
we only record an allocation stack for each heap block if a Bernoulli trial
succeeds. This choice works well because getting the stack trace is ~100x
slower than recording the block's existence.

Overall, this approach is simpler and it also gives better output -- the choice
of which blocks to record allocation stacks for is mathematically sound, no
stack trace gets blamed for allocations it didn't do, and block counts and
sizes are now always exact.

Other specific things changed.

- All notion of sampling is removed from the various data structures.

- The --sample-below option is removed in favour of --stacks={partial,full}.

- The format of the JSON output file has changed.

- The names of various test files have changed to reflect concept changes.

--HG--
rename : memory/replace/dmd/test/full-empty-cumulative-expected.txt => memory/replace/dmd/test/complete-empty-cumulative-expected.txt
rename : memory/replace/dmd/test/full-empty-dark-matter-expected.txt => memory/replace/dmd/test/complete-empty-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-empty-live-expected.txt => memory/replace/dmd/test/complete-empty-live-expected.txt
rename : memory/replace/dmd/test/full-unsampled1-dark-matter-expected.txt => memory/replace/dmd/test/complete-full1-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-unsampled1-live-expected.txt => memory/replace/dmd/test/complete-full1-live-expected.txt
rename : memory/replace/dmd/test/full-unsampled2-cumulative-expected.txt => memory/replace/dmd/test/complete-full2-cumulative-expected.txt
rename : memory/replace/dmd/test/full-unsampled2-dark-matter-expected.txt => memory/replace/dmd/test/complete-full2-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-sampled-live-expected.txt => memory/replace/dmd/test/complete-partial-live-expected.txt
extra : rebase_source : 47d287405dc5e9075f08addaba49e879c2c6e23f
2016-02-24 14:42:22 +11:00
Mike Hommey 272cfa7a49 Bug 1259683 - Don't make imply_option() do anything when --help is on the command line. r=nalexander
This also adds the same tests that exist for set_config and set_define
and that would have caught the `configure --help` breakage this change
fixes.
2016-03-26 10:34:29 +09:00
Mike Hommey 2651933d3a Bug 1259683 - Forgotten change to test_configure.py before landing bug 1257823. r=nalexander
This was suggested during review, and was applied to 2 of the 3 patches
where this applied, and the imply_option tests were left out. This fixes
it.
2016-03-26 10:34:29 +09:00
Mike Hommey 7ff92bc0ec Bug 1259683 - Miscellaneous small cleanups in the mozbuild.configure module. r=nalexander
This is not related to the bug, but are drive-by cleanups.
2016-03-26 10:34:29 +09:00
Mike Shal d4bd3eb4ca Bug 1252931 - Add support for generic OBJDIR_FILES and OBJDIR_PP_FILES; r=gps
MozReview-Commit-ID: 6H435DeMHie
2016-03-17 09:13:36 -04:00
aleth 6da499d398 Bug 1259174 - Fix absolute paths in TEST_HARNESS_FILES. r=mshal
--HG--
extra : amend_source : 73b8a4ad68d24ff5f04c17d95423565070aac04b
2016-03-23 22:44:12 +01:00
Gregory Szorc 4a5c6aaf2d Bug 1259551 - Add --no-download to virtualenv.py invocation; r=ted
Before, virtualenv.py may have attempted to use 3rd party
(untrusted) pip indices when installing wheels for pip,
setuptools, and wheel. These dependencies are vendored in
the tree for a reason. So don't let virtualenv contact the
outside world.

MozReview-Commit-ID: 6BCU0WegJO1

--HG--
extra : rebase_source : 6231235486e8cfa784e67e8b18004dd63d8aaf36
2016-03-24 12:34:47 -07:00
Gregory Szorc 4262e28d06 Bug 1259551 - Upgrade vendored virtualenv to 15.0.1; r=ted
While we're addressing virtualenv foo, let's ensure we are running
the latest version. This also pulls in newer versions of pip (8.1.1),
setuptools (20.3), and wheel (0.29.0).

MozReview-Commit-ID: G5uSy66Kd6u

--HG--
extra : rebase_source : 804f230adcf77335c79a93537d9623ac3836d9bf
2016-03-24 12:21:55 -07:00
Mike Hommey 6a8ed3e4a8 Bug 1257823 - Move imply_option() to the global scope. r=nalexander
Like set_config and set_define, we move imply_option to the global
scope.
2016-03-24 09:04:28 +09:00
Mike Hommey 92c7aa3e65 Bug 1257823 - Keep track of the dependencies of @depends functions. r=nalexander
@depends functions are declared like the following:

  @depends('--option', other_function, '--other-option', ...)
  def ...

To simplify some of the processing related to those arguments it's
passed, keep a tuple of Option and DummyFunction objects corresponding
to those arguments.
2016-03-24 09:04:28 +09:00