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

1678 Коммитов

Автор SHA1 Сообщение Дата
Geoff Brown fc3f08846e Bug 1596567 - Normalize test ids for reftests, crashtests, and jsreftests; r=ahal,jmaher
Use test identifiers that look like posix-compliant relative file paths rather than URLs; identifier "paths" are relative to topsrcdir -- an intuitive, brief mapping from identifier to test file.

This patch adds (expands) a --topsrcdir option to runreftest.py and updates CI configuration to set it appropriately. runreftest.py calculates a manifest ID, a path relative to topsrcdir, for each requested manifest and passes those manifest IDs to manifest.jsm. In manifest.jsm, a new manifest ID is generated when a manifest is included from a new directory. Test identifiers are generated by adding the test file name to the manifest ID.

Examples (url -> identifier):

  - file:///builds/worker/workspace/build/tests/reftest/tests/dom/svg/crashtests/398926-fill.svg -> dom/svg/crashtests/398926-fill.svg
  - file:///Z:/task_1577755655/build/tests/reftest/tests/dom/svg/crashtests/398926-fill.svg -> dom/svg/crashtests/398926-fill.svg
  - http://10.7.205.207:8854/tests/dom/svg/crashtests/398926-fill.svg -> dom/svg/crashtests/398926-fill.svg
  - file:///builds/worker/workspace/build/tests/jsreftest/tests/js/src/tests/jsreftest.html?test=test262/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-31.js -> js/src/tests/test262/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-31.js
  - chrome://reftest/content/bugs/299837-2.xhtml -> layout/reftests/bugs/299837-2.xhtml
  - http://localhost:36067/1577754972876/1/289480.html#top -> layout/reftests/bugs/289480.html#top
  - about:blank -> about:blank
  - data:text/html,<body> -> data:text/html,<body>

Differential Revision: https://phabricator.services.mozilla.com/D58415

--HG--
extra : moz-landing-system : lando
2020-01-09 19:25:58 +00:00
Justin Wood 997253f286 Bug 1559975 - Make layout/tools/reftest lint with 'py2' and 'py3' r=catlee
Depends on D36093

Differential Revision: https://phabricator.services.mozilla.com/D36094

--HG--
extra : moz-landing-system : lando
2019-12-26 21:17:55 +00:00
Cameron McCormack 23dcc18ebf Bug 1603016 - Add a --headless option for `mach reftest`. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D56663

--HG--
extra : moz-landing-system : lando
2019-12-13 00:01:06 +00:00
Ting-Yu Lin a50454abf1 Bug 1602767 - Make layout debugger's paged mode use the same setup as reftest-paged. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D56543

--HG--
extra : moz-landing-system : lando
2019-12-11 03:46:58 +00:00
Matt Woodrow d214fe061e Bug 1602322 - Enable browser.tabs.remote.dataUriInDefaultWebProcess for fission reftests. r=kmag
We enable the pref in the harness so that local testing with --enable-fission will get the same results as treeherder.

Differential Revision: https://phabricator.services.mozilla.com/D56313

--HG--
extra : moz-landing-system : lando
2019-12-09 20:31:47 +00:00
Gabriele Svelto 69790bc62e Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55443

--HG--
extra : moz-landing-system : lando
2019-12-06 09:16:44 +00:00
Matt Woodrow 5e1f228a7d Bug 1599662 - Add process switching to the reftest harness so that we can get better coverage for fission. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D55568

--HG--
extra : moz-landing-system : lando
2019-12-04 08:57:11 +00:00
Gurzau Raul 4246729646 Backed out 2 changesets (bug 1599662) for multiple reftest failures e.g. downscale-moz-icon-1.html on a CLOSED TREE.
Backed out changeset 1a5918cfe128 (bug 1599662)
Backed out changeset a7b980e65413 (bug 1599662)
2019-12-04 03:54:27 +02:00
Matt Woodrow 8ca80cd1af Bug 1599662 - Add process switching to the reftest harness so that we can get better coverage for fission. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D55568

--HG--
extra : moz-landing-system : lando
2019-12-03 22:18:45 +00:00
Bert Peers 7f8678c11a Bug 1596786 - Arrow keys support for reftest-analyzer r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D53220

--HG--
extra : moz-landing-system : lando
2019-11-27 21:15:51 +00:00
Geoff Brown 253aaf1570 Bug 1599587 - Adjust android mochitest/reftest logging; r=jmaher
Guard against flaky results from the remote is_file and reduce adb traffic
by waiting once for the log file to be created rather than checking for it
throughout the test run.
(Minor ride-along change to reftest.jsm resolves javascript error introduced
by bug 1575266.)

Differential Revision: https://phabricator.services.mozilla.com/D55026

--HG--
extra : moz-landing-system : lando
2019-11-27 21:33:38 +00:00
Cameron McCormack 36e13da4fc Bug 1599294 - Fix URL used for opening layout debugger from the command line. r=dholbert,emilio
Differential Revision: https://phabricator.services.mozilla.com/D54644

--HG--
extra : moz-landing-system : lando
2019-11-26 00:35:18 +00:00
Botond Ballo 83bfe6cee0 Bug 1590857 - Don't prompt to install Android app if the user is running 'mach install'. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D54381

--HG--
extra : moz-landing-system : lando
2019-11-25 22:17:59 +00:00
Gabriele Svelto 9283d5f034 Bug 1598258 - Add a list of additional minidumps to the event delivered when a plug-in crashes r=froydnj
This patch adds a new field to the `plugin-crashed` event that holds the list
of additional minidumps associated with a crash report. The test
infrastructure is modified to use it which also fixes a race when processing
the .extra file. The reftest machinery has also been modified to take the new
field into account.

Differential Revision: https://phabricator.services.mozilla.com/D54107

--HG--
extra : moz-landing-system : lando
2019-11-22 07:30:23 +00:00
Emma Malysz 273aab2e2a Bug 1596884, replace remaining .xul files in layout/tools with .xhtml r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D53898

--HG--
rename : layout/tools/layout-debug/ui/content/layoutdebug.xul => layout/tools/layout-debug/ui/content/layoutdebug.xhtml
rename : layout/tools/recording/recording.xul => layout/tools/recording/recording.xhtml
rename : layout/tools/reftest/reftest.xul => layout/tools/reftest/reftest.xhtml
extra : moz-landing-system : lando
2019-11-20 20:40:32 +00:00
Timothy Nikkel a43e37dbe9 Bug 1593170. Check if contentRootElement is a dead wrapper before using it. r=mattwoodrow,dbaron
With the fission changes everything is more async, meaning some tests can run longer. Some crashtests navigate to a new location meaning the original root element we have a variable for is no longer around, and chrome isn't allowed to keep content nodes alive, so we are left holding a dead wrapper that throws if we try to access anything on it.

So we check if contentRootElement has become a dead wrapper (and null it out) any time we try to access it and it could have become dead. Generally the existing code already handled a null contentRootElement.

Differential Revision: https://phabricator.services.mozilla.com/D52829

--HG--
extra : moz-landing-system : lando
2019-11-18 11:27:00 +00:00
Timothy Nikkel c650cc8186 Bug 1593170. Avoid useless painting work in queued up rects to paint by ignoring new rects that are already covered. r=mattwoodrow
I don't think this is strictly necessary but it lets us avoid a bunch of useless work, especially with webrender where these rects are always the full window size.

Differential Revision: https://phabricator.services.mozilla.com/D51346

--HG--
extra : moz-landing-system : lando
2019-11-18 11:26:45 +00:00
Timothy Nikkel 87226fdf3b Bug 1593170. Adjust how we deal with the reftest events for async plugin drawing for the fission changes to the reftest harness. r=mattwoodrow
The long code comment explains.

Differential Revision: https://phabricator.services.mozilla.com/D51345

--HG--
extra : moz-landing-system : lando
2019-11-18 11:26:33 +00:00
Timothy Nikkel 3566a45a32 Bug 1593170. Make the reftest harness deal with SynchronizeForSnapshot and FlushRendering returning promises. r=mattwoodrow
The code comment mostly explains the design. Basically, we force nothing to happen while we wait for the promises to finish and instead record what we need to do once the promise is finished, and do those pending tasks when it's finished.

Differential Revision: https://phabricator.services.mozilla.com/D51344

--HG--
extra : moz-landing-system : lando
2019-11-18 11:26:20 +00:00
Timothy Nikkel 7587502593 Bug 1593170. Make the reftest-content.js functions FlushRendering and SynchronizeForSnapshot work on Fission child oop iframes. r=mattwoodrow,kmag
This changes them to return a promise that resolves when the work is done, but we still need to change the callers to handle this new return type and do the right thing when these functions do their work async-ly.

To do this we add a JSWindowActor called ReftestFission. reftest-content.js communicates with this actor via reftest.jsm.

Differential Revision: https://phabricator.services.mozilla.com/D51343

--HG--
extra : moz-landing-system : lando
2019-11-18 11:25:11 +00:00
Alexander Surkov 40f1b26958 Bug 1594122 - remove skip xbl tests option r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D53262

--HG--
extra : moz-landing-system : lando
2019-11-15 20:33:32 +00:00
Arthur Iakab 3e63c29465 Backed out 8 changesets (bug 1593170) for causing mass reftest failures. CLOSED TREE
Backed out changeset 2c98625f235b (bug 1593170)
Backed out changeset 39d63ae4d287 (bug 1593170)
Backed out changeset 2c8e57a90cb8 (bug 1593170)
Backed out changeset d511975b764e (bug 1593170)
Backed out changeset a10072d821e5 (bug 1593170)
Backed out changeset 80bd8cadf835 (bug 1593170)
Backed out changeset a004de649342 (bug 1593170)
Backed out changeset 78d380a2241a (bug 1593170)
2019-11-18 04:07:19 +02:00
Timothy Nikkel c0fa0a7a0e Bug 1593170. Check if contentRootElement is a dead wrapper before using it. r=mattwoodrow,dbaron
With the fission changes everything is more async, meaning some tests can run longer. Some crashtests navigate to a new location meaning the original root element we have a variable for is no longer around, and chrome isn't allowed to keep content nodes alive, so we are left holding a dead wrapper that throws if we try to access anything on it.

So we check if contentRootElement has become a dead wrapper (and null it out) any time we try to access it and it could have become dead. Generally the existing code already handled a null contentRootElement.

Differential Revision: https://phabricator.services.mozilla.com/D52829

--HG--
extra : moz-landing-system : lando
2019-11-18 00:49:07 +00:00
Timothy Nikkel d81e1df1af Bug 1593170. Avoid useless painting work in queued up rects to paint by ignoring new rects that are already covered. r=mattwoodrow
I don't think this is strictly necessary but it lets us avoid a bunch of useless work, especially with webrender where these rects are always the full window size.

Differential Revision: https://phabricator.services.mozilla.com/D51346

--HG--
extra : moz-landing-system : lando
2019-11-18 00:45:46 +00:00
Timothy Nikkel 6f7bbcfd74 Bug 1593170. Adjust how we deal with the reftest events for async plugin drawing for the fission changes to the reftest harness. r=mattwoodrow
The long code comment explains.

Differential Revision: https://phabricator.services.mozilla.com/D51345

--HG--
extra : moz-landing-system : lando
2019-11-18 00:45:33 +00:00
Timothy Nikkel 36a23c3f84 Bug 1593170. Make the reftest harness deal with SynchronizeForSnapshot and FlushRendering returning promises. r=mattwoodrow
The code comment mostly explains the design. Basically, we force nothing to happen while we wait for the promises to finish and instead record what we need to do once the promise is finished, and do those pending tasks when it's finished.

Differential Revision: https://phabricator.services.mozilla.com/D51344

--HG--
extra : moz-landing-system : lando
2019-11-18 00:45:25 +00:00
Timothy Nikkel c8fc6a9ab7 Bug 1593170. Make the reftest-content.js functions FlushRendering and SynchronizeForSnapshot work on Fission child oop iframes. r=mattwoodrow,kmag
This changes them to return a promise that resolves when the work is done, but we still need to change the callers to handle this new return type and do the right thing when these functions do their work async-ly.

To do this we add a JSWindowActor called ReftestFission. reftest-content.js communicates with this actor via reftest.jsm.

Differential Revision: https://phabricator.services.mozilla.com/D51343

--HG--
extra : moz-landing-system : lando
2019-11-18 00:45:07 +00:00
Timothy Nikkel d714373537 Bug 1596052. If the SendUpdateCanvasForEvent call is for a previous test then ignore it. r=mattwoodrow
This is basically what we did in bug 1593171 (Protect against the same test from calling RecordResult more than once in the reftest harness) where we early exit in SendInitCanvasWithSnapshot.

But now we do it in SendUpdateCanvasForEvent too because SendUpdateCanvasForEvent calls SynchronizeForSnapshot which calls setupAsyncScrollOffsets and setupAsyncZoom, both of which get the documentElement of the current doc and operate on it. The problem is that this could be SendUpdateCanvasForEvent call from the previous test operating on the dom of the current test.

I haven't actually observed this, just noticed it while implementing checking of contentRootElement to make sure all cases are covered.

Differential Revision: https://phabricator.services.mozilla.com/D52827

--HG--
extra : moz-landing-system : lando
2019-11-15 22:41:19 +00:00
Timothy Nikkel 42fbc5152d Bug 1596049. Calling CheckForProcessCrashExpectation needs to pass contentRootElement otherwise it does nothing. r=mattwoodrow
Depends on D52827

Differential Revision: https://phabricator.services.mozilla.com/D52828

--HG--
extra : moz-landing-system : lando
2019-11-13 23:15:39 +00:00
Jon Coppeard b439b62977 Bug 1595500 - Create reftest sandboxes on demand since they are often not required r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D52543

--HG--
extra : moz-landing-system : lando
2019-11-11 15:47:36 +00:00
Jamie Nicol 43f7b982f2 Bug 1590805 - Add "emulator" and "device" conditions to reftest sandbox. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D51296

--HG--
extra : moz-landing-system : lando
2019-11-08 22:05:50 +00:00
Brian Grinstead d981495450 Bug 1593119 - Remove dom/xbl and the MOZ_XBL build option r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D51338

--HG--
extra : moz-landing-system : lando
2019-11-07 00:35:32 +00:00
Geoff Brown 968cf06036 Bug 1592608 - Add more fields to ReftestManifest test descriptions; r=ahal,froydnj
Add test annotations to the ReftestManifest and TestResolver. For example, a
test description from the TestResolver might now contain 'skip-if': 'skiaContent';
similar to the content provided for manifestparser tests; this will allow
'mach test-info report' to filter tests based on reftest manifest test
annotations.
Also add the referenced-test field which identifies the test file associated
with test entries for reference files; this will allow test-verify to
run the correct reftest when only the reference file has been modified.

Differential Revision: https://phabricator.services.mozilla.com/D51113

--HG--
extra : moz-landing-system : lando
2019-11-05 17:09:41 +00:00
Geoff Brown f7081f87f0 Bug 1575266 - Explicitly close reftest log file before quitting application; r=ahal
A speculative fix for intermittent android reftest failures in which the reftest log file
is incomplete but the missing logging is found in the logcat: I hope that closing the
log file explicitly will ensure logging is flushed before the application quits.

Differential Revision: https://phabricator.services.mozilla.com/D51695

--HG--
extra : moz-landing-system : lando
2019-11-04 22:45:48 +00:00
Timothy Nikkel c6fc2ec62c Bug 1593171. Protect against the same test from calling RecordResult more than once in the reftest harness. r=mattwoodrow
Some crashtests call window.location.reload one or more times. Each time the test document loads we call OnDocumentLoad, and each call of that function can lead to a RecordResult call, either directly or indirectly through WaitForTestEnd and its MakeProgress state machine.

Although the error when this happens ("program error managing timeouts") is confusing I found a couple intermittent instances of this happening in our bugzilla.

However with the fission changes to the reftest harness (which in general make things more async) this is much more common because we keep the tests alive longer before tearing down the test page, giving it more of a chance to happen.

To fix it we pass around the top level test url so it can make its way to RecordResult. This means we can ignore RecordResult calls for previous tests, and ignore the second or more RecordResult call for the current test. We reset the count when we start a new test.

Differential Revision: https://phabricator.services.mozilla.com/D51342

--HG--
extra : moz-landing-system : lando
2019-11-04 19:48:58 +00:00
Ting-Yu Lin fe7aba788d Bug 1590185 Part 3 - Add --paged command line argument to layout debugger. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D49994

--HG--
extra : moz-landing-system : lando
2019-10-29 19:51:44 +00:00
Ting-Yu Lin 0023c0c92d Bug 1590185 Part 2 - Support paged mode layout in layout debugger. r=dbaron
This patch adds a menu item in "Toggle" -> "Paged Mode". If the item is
toggled, after finishing loading the document, the document will be
forced into paged mode.

The print settings in `nsLayoutDebuggingTools::SetPagedMode()` are
similar to `setupPrintMode()` in reftest-content.js.

Remove the hack in nsDocumentViewer::InitInternal() because we don't
want to set a new document when mIsPageMode = false.

Differential Revision: https://phabricator.services.mozilla.com/D49993

--HG--
extra : moz-landing-system : lando
2019-10-29 19:51:42 +00:00
Ting-Yu Lin 3f0609ea5d Bug 1590185 Part 1 - Remove obsolete member variables in nsLayoutDebuggingTools. r=heycam
Bug 1566215 Part 3 moved these features to layoutdebug.js.
https://hg.mozilla.org/mozilla-central/rev/f84c119572a1f4d8b20ac05c0bd8cefe4fe70fef

Differential Revision: https://phabricator.services.mozilla.com/D49992

--HG--
extra : moz-landing-system : lando
2019-10-29 19:51:33 +00:00
Zibi Braniecki e91fc59641 Bug 1591570 - Remove contenttitlesetting. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D50665

--HG--
extra : moz-landing-system : lando
2019-10-29 17:48:22 +00:00
Brian Grinstead ec30cc58df Bug 1587142 - Remove most XBL tests in dom/ r=bzbarsky
The following tests are not removed and need to be ported to Shadow DOM:
- test_bug330925.xhtml
- test_bug372086.html
- test_bug319374.xhtml

Differential Revision: https://phabricator.services.mozilla.com/D50650

--HG--
extra : moz-landing-system : lando
2019-10-25 22:38:08 +00:00
Geoff Brown d5a1276fec Bug 1405175 - Repeat reftest --run-until-failure up to 30 times by default; r=ahal
Make reftest --run-until-failure consistent with mochitest:
if --run-until-failure requested without --repeat, repeat up to 30 times;
if --run-until-failure requested with --repeat=N, repeat up to N times.

Differential Revision: https://phabricator.services.mozilla.com/D50484

--HG--
extra : moz-landing-system : lando
2019-10-24 18:26:03 +00:00
Xidorn Quan 82cc547ab8 Bug 1578377 - Render dark scrollbars for element with dark background on Windows. r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D48289

--HG--
extra : moz-landing-system : lando
2019-10-23 21:00:28 +00:00
Geoff Brown 089eb143c9 Bug 1521640 - Track assertion counts in reftest harness; r=jgraham
These assertion counts were removed (accidentally?) by bug 1321127, effectively
not tracking assertion count mismatches in the reftest harness and instead
relying on mozharness to fail tasks based on the logged error messages.
Restoring the counts ensures:
 - the reftest summary includes accurate assertion counts like
   REFTEST INFO | Unexpected: 12 (..., 11 unexpected asserts, ...)
   REFTEST INFO | Known problems: 64 (..., 31 known asserts, ...)
 - assertion mismatches cause the harness to exit with an error code so
   that the job fails even if the log parsing is broken (bug 1587139)
   or the tests are being run locally with mach.

Differential Revision: https://phabricator.services.mozilla.com/D48594

--HG--
extra : moz-landing-system : lando
2019-10-10 14:51:46 +00:00
Andrew Halberstadt 142851700b Bug 1587206 - [lint.flake8] Enable F811 across the tree, r=sylvestre
This prevents redefinition of unused variables.

Depends on D48610

Differential Revision: https://phabricator.services.mozilla.com/D48611

--HG--
extra : moz-landing-system : lando
2019-10-10 18:51:20 +00:00
Brendan Dahl a51ca19772 Bug 1510785 - Support disabling XBL related tests. r=gbrown
Adds a way for mochitest, reftest, and crashtests to skip XBL related
tests when XBL is disabled. Also, add an app constant so JS can
check whether XBL is enabled.

Depends on D45614

Differential Revision: https://phabricator.services.mozilla.com/D45615

--HG--
extra : moz-landing-system : lando
2019-10-08 23:52:33 +00:00
Brindusan Cristian 225180bff0 Bug 1585217 - Fix Eslint. r=me CLOSED TREE 2019-10-02 02:00:51 +03:00
Emilio Cobos Álvarez caccd3a1d9 Bug 1585217 - Make the layout debugger with -autoclose handle content process crashes. r=heycam
This means that you can use it as a very light-weight crashtest harness by
using:

MOZ_GDB_SLEEP=0 ./mach run -layoutdebug <file> -autoclose

Right now we just never exit otherwise.

Differential Revision: https://phabricator.services.mozilla.com/D47715

--HG--
extra : moz-landing-system : lando
2019-10-01 17:09:23 +00:00
Noemi Erli 20a7022489 Backed out changeset 3f8c2c77cd63 (bug 1585217) for failing in rowser_openLayoutDebug.js CLOSED TREE 2019-10-01 19:07:26 +03:00
Emilio Cobos Álvarez 078e5fd7fa Bug 1585217 - Make the layout debugger with -autoclose handle content process crashes. r=heycam
This means that you can use it as a very light-weight crashtest harness by
using:

MOZ_GDB_SLEEP=0 ./mach run -layoutdebug <file> -autoclose

Right now we just never exit otherwise.

Differential Revision: https://phabricator.services.mozilla.com/D47715

--HG--
extra : moz-landing-system : lando
2019-10-01 14:23:12 +00:00
Gabriele Svelto 10d41866a5 Bug 1585156 - Remove useless inclusions of nsIDOMWindow.h and nsIDOMWindowUtils.h r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D47678

--HG--
extra : moz-landing-system : lando
2019-09-30 22:06:47 +00:00