This patch prevents baseline coverage tests from being skipped when too many tests are being run.
MozReview-Commit-ID: JVTOYZAXbwf
--HG--
extra : rebase_source : dedd6a323445f030b60180805c6c6adf5d10771b
This adds section size metrics in order to track finer grained improvements
and regressions in binary size. Currently it implements tracking of:
- XUL
- NSS
- NSPR
- mozavcodec
- mozavutil
The sections tracked are limited in order to avoid too much noise:
- .text
- .data
- .rodata
- .data.rel.ro
- .bss
Currently this is limited to measure Linux and Android builds, but can be
easily extended to support other platforms once we have a `size`-like tool
available.
--HG--
extra : rebase_source : 494922e60c1ea47392e3121425d7aacef6c3003a
The reftest window gets opened with chrome flags, and as such has
to be closed by using "closeChromeWindow()" instead of "close()".
MozReview-Commit-ID: KiSxnrmMqmk
--HG--
extra : rebase_source : 92c15e90d863ef5a765fddf2f1887dddf915550c
While using openDialog() with the extra parameters for passing
in the callback to resolve is fine, it adds extra complexity.
The base reftest code in Marionette itself should better handle
that.
MozReview-Commit-ID: AtOV3LevK1c
--HG--
extra : rebase_source : 2a32617abf2e33d520b37d186285db6d04657965
Run with:
./mach jsshell-bench ares6
This requires a non-artifact build with ac_add_options --enable-js-shell. Otherwise,
a custom JS shell can be specified with --binary.
MozReview-Commit-ID: C8WAxG9pIkk
--HG--
extra : rebase_source : 99163261b771bfb2f903892f4c1260c8b241ce71
There's no guarantee the image will be resized before the harness takes the
screenshot.
Indeed, the image is guaranteed to have the old width / offsetWidth if we were
to query it from frameLoaded. We do need to wait for the image load task to run.
This makes the test reliable in both Blink and Gecko at least, afaict.
MozReview-Commit-ID: 7EDC7jlUScc
--HG--
extra : amend_source : a24f6b687b22c6a6a818c4ac160db0c6dbf25f3c
In the future we want to update metadata using the wptreport.json data, since
that's much much smaller and easier to parse. In addition, this is
required to determine if a test fully passed, so it makes sense to
store it here.
MozReview-Commit-ID: ErYT33BhqGg
Profiling shows that switching to this library means we no longer
spend most of the update time parsing json (vs 80% or so before),
making other optimisations worthwhile. This is never used in
automation (except wptsync) so availability of the library in the
internal pypi isn't a problem.
MozReview-Commit-ID: U5gabb5lz8
With support for asserts, it's also necessary to be able to update the
expected number of asserts automatically using
wpt-update. Unfortunately asserts don't work quite like test statuses,
so this involves a reasonable amount of refactoring.
For asserts the desired behaviour is that the max asserts is either
one plus the highest recorded number of asserts, or the current
value, whichever is higher, and for the minimm asserts, it's the
minumum of the current value and one lower than the lowest recorded
value (clamped at zero). Instead of creating per-platform
expectations, the code only updates the defaults (or any existing
conditional that happens to match). It's not clear that we have enough
information to meaningfully make per-platform expectations, and we
want to reduce the risk of intermittents.
MozReview-Commit-ID: HuTpbAZYGzo
wptrunner previously iterated over properties from least significant
to most significant. However this was broken since it caused
per-directory properties to override per-test properties, which wasn't
expected. Therefore we reverse the order of iteration from most
significant to least.
MozReview-Commit-ID: 5Rh6EGNtnUS
Gecko has an API for producing a non-fatal "assert". For quality
control, it should be possible to annotate the range of possible
numbers of these asserts produced during a test execution, and fail if
the actual number of asserts falls outside this range.
This patch adds assert checking by default in debug builds. It adds
two metadata properties; max-asserts and min-asserts for specifying
the range of possible asserts produced in a test.
MozReview-Commit-ID: BFiIfYKuB9L
Running marionette on a background thread is problematic in the case
that a test times out. In this case the background thread is not
terminated. If we then call into marionette again on the main thread
we may race with something that happens on the runner thread. The
marionette client isn't threadsafe, so this leads to buggy behaviour.
The simplest fx for the problem is just to move all the marionette
calls onto the main thread and instead of waiting on the main thread,
spin up a thread with a timer.
MozReview-Commit-ID: 3vVlMcwPHSx
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.
As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.
MozReview-Commit-ID: 8C8NFnOP5GU
--HG--
extra : rebase_source : a8840bd26f4b01b756ffa72345ababb625048550
Having the control server shutdown the browser via the browser pid is a better (and cross-browser) solution.
MozReview-Commit-ID: 19Gwg5TwIIy
--HG--
extra : rebase_source : d1321889d784e526d2f5ec8a593000d97b7f0927
I've made the returned object from .bounds not live. If that's not OK, I'll
resurrect DOMBounds (removed in a previous patch). This also forces
DOMQuad.toJSON() to only return the points.
MozReview-Commit-ID: 10TY5oJUmTN
--HG--
extra : rebase_source : ab209d584390c584aa0d0814b4dd2bbf48c6cca3
Some minor changes to allow running subtests in Raptor. With this patch (and the other commit in this series) you can run raptor tests that have mutliple subtests. For example, you can specify a raptor test INI and every test inside that INI will be run and ultimately reported as subtests. This will allow, for example, the raptor tp6 test to have multiple testpages. Also just one of the subtests itself can be specified to be run instead of the entire INI.
MozReview-Commit-ID: Fto7wNOzRft
--HG--
extra : rebase_source : 37d02fb43354fa0a799c7af9ea41c16670f2244c
Until now Marionette assumed that the events `TabClose` and `unload`
indicate that a top-level browsing context or chrome window has been
closed. But both events are fired when the browsing context or chrome
window is about to close. As such a race condition can be seen for
slow running builds.
To clearly wait until the top-level browsing context or chrome window
has been closed, the appropriate message manager needs to be observed
for its destroyed state.
MozReview-Commit-ID: DCdaIiULqey
--HG--
extra : rebase_source : f5659c1aa640d5265240bb1c4fe2059fb46d3cac
Restart Firefox after audio_has_no_subtitles.html to prevent a false
positive for basic.html due to bug 1463844.
MozReview-Commit-ID: 2aNPb1jk2rK
--HG--
extra : rebase_source : 34edef237c0e650ee47b271e7ece9c44e35f90ac