Commit Graph

100 Commits

Author SHA1 Message Date
James Graham
c8c8b2d03d Bug 1356227 - Add support for excluding paths when doing a wpt sync, r=ato
MozReview-Commit-ID: 6zadFuRDmVD
2017-04-20 10:49:21 +01:00
Andreas Tolfsen
a3d564e53c Bug 1352463 - Increase wdspec timeouts; r=jgraham
Increases WPT wdspec timeouts to more realistic values.  Because wdspec
tests interact with the browser from an OOP program, they require more
time to run.  Interactive browser tests are also known for generally
being more expensive to run.

25 seconds for the default timeout and 120 seconds for the long timeout
are values picked out of the air and likely needs to be further refined
in the future.  It is however the current belief that this moves us in
the right direction.

Further improvements to this approach may involve letting wdspec tests
define timeouts on a per-file or a per-test function level through the
use of pytest-timeouts, but this is purely speculative at this point.
It is the current recommendation to adjust the number of tests and the
runtime duration of the tests in a file according to these new defaults.

MozReview-Commit-ID: 4I3Xz9G6lzv
2017-03-31 17:42:26 +01:00
Andreas Tolfsen
d9b010b4bf Bug 1352463 - Define WPT timeouts on the test type level; r=jgraham
Certain test types have a need for other defaults than the
wpttest.DEFAULT_TIMEOUT and wpttest.LONG_TIMEOUT values.  This patch
changes wptrunner to define default- and long timeouts on a test type
level.  This allows a test type to override the default durations defined
in the abstract Test.default_timeout and Test.long_timeout.

Concrete classes, such as ReftestTest and WdspecTest, may override these
class properties.

MozReview-Commit-ID: IS6df5vuIDC
2017-03-31 17:38:35 +01:00
Sebastian Hengst
47a18b6c89 Backed out changeset c9919c878c14 (bug 1356227) for neverending W(7) jobs on Windows 7 VM debug. r=backout a=backout
MozReview-Commit-ID: 9y1GTQnUMMG
2017-04-14 17:19:25 +02:00
James Graham
f154bd014a Bug 1356227 - Add support for excluding paths when doing a wpt sync, r=ato
MozReview-Commit-ID: 6zadFuRDmVD
2017-04-13 16:22:32 +01:00
James Graham
8f7db89fd0 Bug 1352351 - Fix infinite loop getting next test with --run-by-dir, r=ato
If getting a test from the queue failed, we would loop forever rather
than trying the next queue.

MozReview-Commit-ID: K5YxCZPtx4l
2017-04-10 13:44:15 +01:00
James Graham
1c362962c4 Bug 1352357 - Add leak checking support for web-platform-tests, r=automatedtester
Implement gecko leak checking for web-platform-tests, but do not
enable it yet due to oranges. Allows disabling leak checks for a
specific test using a 'leaks' key in test metadata. This causes the
browser to restart before running the (group of) tests with leak
checking disabled. The feature can be enabled by passing --leak-check
on the command line.

MozReview-Commit-ID: 1kBnJkOaeu8
2017-01-30 08:18:36 -08:00
Sebastian Hengst
e59710ff6a Backed out changeset 024d5d30566d (bug 1352351) for frequently failing resume-timer-on-history-back.html on Windows. r=backout a=backout
MozReview-Commit-ID: JSU0OCtbAOe
2017-04-01 19:13:16 +02:00
James Graham
c0069d6038 Bug 1352351 - Fix infinite loop getting next test with --run-by-dir, r=ato
If getting a test from the queue failed, we would loop forever rather
than trying the next queue.

MozReview-Commit-ID: K5YxCZPtx4l
2017-03-23 22:30:35 +00:00
James Graham
a1998bf739 Bug 1338397 - Use timeout multipler to adjust browser startup timeout in wpt, r=maja_zf
For gecko builds with --disable-optimize everything is very very slow;
enough that the fixed 60s timeout for the browser to start is
insufficient, and various marionette timeouts may also be hit. To
alleviate this problem either disable timeouts or multiply them by the
timeout multiplier which is generally set to around 3 for debug
builds. This seems sufficient to solve the problem on the hardware
developers actually have.

MozReview-Commit-ID: I3zHJGXlpnd
2017-03-23 17:50:19 +00:00
William Lachance
2464bf8f1a Bug 1350905 - Add --setpref option to wpt/mach command line r=jgraham
MozReview-Commit-ID: 970rspZ7c8a
2017-03-27 11:20:27 -04:00
Andreas Tolfsen
d7d628b7f1 Bug 1344748 - Rename and register Marionette prefs; r=maja_zf
This change renames the following Marionette preferences:

    	marionette.defaultPrefs.enabled	marionette.enabled
    	marionette.defaultPrefs.port	marionette.port
    	marionette.force-local		marionette.forcelocal
    	marionette.logging		marionette.log.level

The old preference names are still usable, but are henceforth considered
deprecated.  They will be removed when Firefox 55 ships.

It also registers these preferences in Firefox so that they are
discoverable through about:config.

This patch also refactors testing/marionette/components/marionette.js.

MozReview-Commit-ID: 1dAMQS2e0og
2017-03-09 11:12:53 +00:00
James Graham
3cab0f3793 Bug 1333114 - Refactor wpt TestRunner, r=automatedtester,Ms2ger
In order to support leak checking in web-platform-tests, we have to
support restarting the browser before a test starts, which is
complicated by the architecture of wptrunner that puts the TestRunner
and associated Executor in a separate process. In the previous
architecture the Executor process grabbed the test to run from the
queue so it wasn't possible to restart the browser once the test was
known without considerable difficulty.

The primary goal of this refactor is to give the TestRunner access to
the test before it is passed to the executor. However imlementing this
was complicated by the poor structure of the existing code. To make
things more comprehensible the TestRunner class is factored into a
more explicit state machine, with a run() loop that either transitions
the runner into the next state or waits for an external command which
causes such a state transition.

MozReview-Commit-ID: 7cvSkYlCSKe
2017-01-30 08:06:44 -08:00
Shawn Huang
a1a194afba Bug 1348214 - Clear storage per origin when loading storage test cases, r=jgraham
MozReview-Commit-ID: ndsajg7Glb
2017-03-20 18:34:15 +08:00
James Graham
b141636fe1 Bug 1346782 - Use full path when searching for wpt directory metadata, r=Ms2ger
This avoids a cache collision between directories in the main test set
and vendor-specific tests under some different metadata root.

MozReview-Commit-ID: 5WaEtaLJkVD
2017-03-17 14:42:22 +00:00
James Graham
7a8dbfab3a Bug 1346772 - Pass wpt hostnames to firefox when starting webdriver tests, r=ato
Ensure that the webdriver tests can access the web-platform.test
hostnames in the same way as other tests by setting the necessary
Firefox pref as part of the capabilities.

MozReview-Commit-ID: At5ENJY7UXA
2017-03-17 14:35:33 +00:00
James Graham
b7300438e6 Bug 1345490 - Update to latest wptrunner, a=testonly
MozReview-Commit-ID: HeIGX0kPRFx
2017-03-17 14:35:31 +00:00
Sebastian Hengst
2dae8bb595 Backed out changeset 5f0452991bcd (bug 1345490) 2017-03-15 19:23:11 +01:00
Sebastian Hengst
71a2ef3d38 Backed out changeset a2d3dacaac0b (bug 1346772) 2017-03-15 19:23:06 +01:00
Sebastian Hengst
6822da9ba3 Backed out changeset c96c8279f39b (bug 1346782) 2017-03-15 19:22:32 +01:00
James Graham
a4a23db981 Bug 1346782 - Use full path when searching for wpt directory metadata, r=Ms2ger
This avoids a cache collision between directories in the main test set
and vendor-specific tests under some different metadata root.

MozReview-Commit-ID: 5WaEtaLJkVD
2017-03-15 15:20:53 +00:00
James Graham
ce036c2cce Bug 1346772 - Pass wpt hostnames to firefox when starting webdriver tests, r=ato
Ensure that the webdriver tests can access the web-platform.test
hostnames in the same way as other tests by setting the necessary
Firefox pref as part of the capabilities.

MozReview-Commit-ID: At5ENJY7UXA
2017-03-15 15:20:53 +00:00
James Graham
7567ce4c67 Bug 1345490 - Update to latest wptrunner, a=testonly
MozReview-Commit-ID: HeIGX0kPRFx
2017-03-15 15:20:53 +00:00
Andreas Tolfsen
eaa11b2dce Bug 1319237 - Make session fixture module scoped; r=jgraham
I recently changed it to function scoped, which was a mistake.
pytest complains if it is not module scoped.

MozReview-Commit-ID: GYP9Ky1avks
2016-11-21 23:39:42 +01:00
Andreas Tolfsen
e973863e33 Bug 1319237 - Allow pytests to be skipped imperatively at runtime; r=jgraham
It is required to skip certain WebDriver tests imperatively at runtime,
such as for the Get Window Size and Get Window Position commands, which
are only available at certain configurations.

MozReview-Commit-ID: 9ERYkYm34iI
2016-11-21 23:38:42 +01:00
Wes Kocher
6a43d7e2d5 Backed out 14 changesets (bug 1319237) for android xpcshell failures a=backout
Backed out changeset c85849b790c5 (bug 1319237)
Backed out changeset 9746878e5fc7 (bug 1319237)
Backed out changeset 1f7f75c57c59 (bug 1319237)
Backed out changeset 4dc796bbcfaa (bug 1319237)
Backed out changeset f8449c471b8f (bug 1319237)
Backed out changeset f2bdf078f39a (bug 1319237)
Backed out changeset 8df8cda56942 (bug 1319237)
Backed out changeset f651a9e54a57 (bug 1319237)
Backed out changeset 76c8aafbd933 (bug 1319237)
Backed out changeset a2096fa29cd7 (bug 1319237)
Backed out changeset af71a9376bef (bug 1319237)
Backed out changeset 778721edd8b9 (bug 1319237)
Backed out changeset feaf6ba3bd9a (bug 1319237)
Backed out changeset f5f206ed675b (bug 1319237)

MozReview-Commit-ID: EpmToL8Xqfz
2017-02-06 11:28:28 -08:00
Andreas Tolfsen
55f7226030 Bug 1319237 - Make session fixture module scoped; r=jgraham
I recently changed it to function scoped, which was a mistake.
pytest complains if it is not module scoped.

MozReview-Commit-ID: GYP9Ky1avks
2016-11-21 23:39:42 +01:00
Andreas Tolfsen
07bb9bad7a Bug 1319237 - Allow pytests to be skipped imperatively at runtime; r=jgraham
It is required to skip certain WebDriver tests imperatively at runtime,
such as for the Get Window Size and Get Window Position commands, which
are only available at certain configurations.

MozReview-Commit-ID: 9ERYkYm34iI
2016-11-21 23:38:42 +01:00
Maja Frydrychowicz
4cbb1c777b Bug 1328726 - Add server fixture to pytestrunner; r=ato,jgraham
MozReview-Commit-ID: B64A6ZR2Sz8
2017-01-09 18:34:30 -05:00
Wes Kocher
ffad4365f4 Backed out 8 changesets (bug 1328726) for webdriver bustage a=backout CLOSED TREE
Backed out changeset 1039c2ca90ee (bug 1328726)
Backed out changeset de5830f1b8ab (bug 1328726)
Backed out changeset c039479ce446 (bug 1328726)
Backed out changeset 6d9673eedd91 (bug 1328726)
Backed out changeset be79eb6f9d64 (bug 1328726)
Backed out changeset 6be0203f1a26 (bug 1328726)
Backed out changeset 4430151d0cb4 (bug 1328726)
Backed out changeset 2143f1aa8087 (bug 1328726)

MozReview-Commit-ID: GrWBTO2rhXm
2017-01-25 10:51:08 -08:00
Maja Frydrychowicz
a9a229a2f2 Bug 1328726 - Add server fixture to pytestrunner; r=ato,jgraham
MozReview-Commit-ID: B64A6ZR2Sz8
2017-01-09 18:34:30 -05:00
Wes Kocher
4279fe52cf Backed out 7 changesets (bug 1328726) for lint failures a=backout
Backed out changeset 93218dc2249f (bug 1328726)
Backed out changeset 0e6e8d3fccec (bug 1328726)
Backed out changeset 5606cc9b0654 (bug 1328726)
Backed out changeset 40fceb2644d7 (bug 1328726)
Backed out changeset 0c10680f0705 (bug 1328726)
Backed out changeset a2520d52c7cc (bug 1328726)
Backed out changeset ec1a2cd38ffe (bug 1328726)

MozReview-Commit-ID: KnktbcccJoR
2017-01-24 13:55:07 -08:00
Maja Frydrychowicz
0c503f8635 Bug 1328726 - Add server fixture to pytestrunner; r=ato,jgraham
MozReview-Commit-ID: B64A6ZR2Sz8
2017-01-09 18:34:30 -05:00
James Graham
dc15e4140f Bug 1331899 - Capture the full viewport for reftest screenshots, r=gsnedders
MozReview-Commit-ID: H3k1ckIWBCD
2017-01-19 14:24:28 +00:00
James Graham
f0baf608a7 Bug 1331899 - wptrunner changes to support v4 manifests, r=Ms2ger
The manifest changes came with some trivial API changes, mostly
removing unused arguments.

MozReview-Commit-ID: G9RZNds4MIE
2017-01-19 14:23:46 +00:00
Thomas Charles
b57e64d886 Bug 1316975 - Correct function definition style in Marionette components; r=ato
No functional changes.

MozReview-Commit-ID: 25cWAnpRB9H
2016-12-04 12:42:52 +01:00
Andreas Tolfsen
ccc45fee2e Bug 1316622 - Move wptrunner to new Marionette timeouts API; r=jgraham
MozReview-Commit-ID: 2ZnodSJ8L4S
2016-11-10 21:05:28 +00:00
Ryan VanderMeulen
95385661ef Merge m-c to inbound. a=merge 2016-11-18 15:48:29 -05:00
James Graham
3200c8a8d9 Bug 1318666 - Update to latest wptrunner, a=testonly
MozReview-Commit-ID: 9HnoUTtAf4l
2016-11-18 15:07:38 +00:00
James Graham
57d18907e8 Bug 1312676 - Reuse the same window for reftests, r=Ms2ger
MozReview-Commit-ID: kGIoK8QfAe
2016-10-19 10:44:07 +01:00
James Graham
e6b6f7f57d Bug 1312675 - Try harder to close existing windows after each testharness test, r=ato
MozReview-Commit-ID: DVV5PAfRxII
2016-10-25 18:11:42 +01:00
James Graham
bdf83f2ddc Bug 1238043 - Enable assert stack fixup for wpt, r=ted
MozReview-Commit-ID: GLZ4nMLilel
2016-10-12 23:04:58 +01:00
Gregory Szorc
313b4900d2 Bug 1305877 - Change WPT chunking default to directory hash; r=jgraham
Before this, the default of "equal_time" resulted in W7 jobs on Windows
debug builds executing over 6 times slower than the shortest chunk.
Chunking by hash of test directory makes the chunk sizes more consistent.
They aren't as consistent as a full path hashing or random chunking. But
it is an improvement.

MozReview-Commit-ID: 7bUSxY8GhH7
2016-09-30 20:40:03 -07:00
Gregory Szorc
76a28858d5 Bug 1305877 - Add a directory hash chunker; r=jgraham
Per discussion in the bug, we want automation to behave like local
development mode with regards to running tests in a directory. That
means we want all tests in a directory to be executed together.

We introduce a directory hash chunker. It is like the HashChunker
except it hashes the directory of the test (not the full path). This
ensures that all tests in the same directory end up in the same
chunk.

Compared to HashChunker, this will likely make slow directories
contribute to higher variance in chunk execution times.

MozReview-Commit-ID: CeV0Gi6NRRp
2016-09-29 14:42:50 -07:00
Gregory Szorc
90cc9b7b5f Bug 1305877 - Make HashChunker stable; r=jgraham
The built-in hash() function uses the backing memory address for
hashing. This is essentially random. Switch to md5 so input is
consistently hashed across processes.

MozReview-Commit-ID: D52uzttE5hc
2016-09-27 16:31:26 -07:00
James Graham
78a5dcaf6c Bug 1304046 - Pass absolute test path in to pytest, r=Ms2ger
MozReview-Commit-ID: 5XpFQoNPP5t
2016-09-23 16:09:45 +01:00
James Graham
2a8ee1dd93 Bug 1304046 - Update geckodriver command line arguments for v0.11, r=ato
MozReview-Commit-ID: QIBvXwOd2c
2016-09-23 13:25:34 +01:00
Aryeh Gregor
0518defa8d Bug 1213668 - wpt breaks with HTTP proxy; r=jgraham
./mach web-platform-tests tries to access the tests at
http://web-platform.test/.  If an HTTP proxy is configured, it tries to
access it via the proxy, which fails.  Disabling the proxy entirely
fixes the problem and should probably have no adverse effects, although
a cleaner solution would be to skip proxies only for that domain (as is
done with localhost).

MozReview-Commit-ID: IkIRLwbH16P
2016-08-21 16:06:13 +03:00
James Graham
add2283d2a Bug 1279813 - Handle edge cases in wpt update better, r=Ms2ger
Better support for cases where tests get conflicting results and
where there is no expected value in a manifest.

MozReview-Commit-ID: EHYpPa64JJL
2016-06-23 10:36:47 +01:00
James Graham
510769503d Bug 1273176 - Update to latest wptrunner, a=testonly
MozReview-Commit-ID: 5MonZP3e8gn
2016-05-16 17:05:53 +01:00