[wpt-sync] Sync PR 23595 - device orientation: Ensure new reading values are available in tests.
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox78 fixed)
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: mozilla.org, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 23595 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/23595
Details from upstream follow.
Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> wrote:
device orientation: Ensure new reading values are available in tests.
Several tests in external/wpt/orientation-event/ have been flaky, especially
the Device Orientation ones.The Device Orientation spec implementation in Blink uses its own timer at
60Hz to read from the shared memory buffer updated by the platform sensors,
rather than relying on OnSensorReadingChanged() being called by the platform
side. The MockSensor implementation in WPT uses window.setInterval() to
update the shared memory buffer and simulate a real platform sensor.For some reason, the Mac bots in particular seem to cause those two timers
to get out of sync quite often, in which case the Device Orientation
implementation might end up reading an older value even though a test has
already called setMock{Motion,Orientation}Data() again.Fix it by adding a workaround: in the Device Orientation tests (but not the
Generic Sensors ones), we immediately update the shared memory buffer when
changing a mock sensor's reading so that the value will always be available
to the Device Orientation code.Bug: 1081633
Change-Id: Id12bbfc5c2b2f9dca6127797a95982b208fc4b5b
Reviewed-on: https://chromium-review.googlesource.com/2199066
WPT-Export-Revision: 1bada52ed619d7cd9c37fa4fff53aa1f58ec93aa
Assignee | ||
Comment 1•10 months ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=941f391b5eef2ee9dd4bac162a7c0ef3b799453c
Assignee | ||
Comment 2•10 months ago
|
||
CI Results
Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 14 tests and 1 subtests
Status Summary
Firefox
OK : 14
FAIL: 19
Chrome
OK : 14
PASS: 1
FAIL: 18
Safari
OK : 14
PASS: 1
FAIL: 18
Links
Details
Firefox-only Failures
/orientation-event/device-orientation-events-unavailable-on-insecure-origins.html
Event interfaces and event handlers are not exposed on window
.: FAIL
New Tests That Don't Pass
/orientation-event/orientation/absolute-fallback.https.html
Tests that deviceorientation falls back to using absolute orientation data if relative is unavailable.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/orientation/multiple-event-listeners.https.html
Tests using multiple event handlers for the Device Orientation API.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/orientation/no-synchronous-events.https.html
Tests that events are never fired synchronously from a call to window.addEventListener().: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/orientation/add-listener-from-callback.https.html
Tests that adding a new deviceorientation event listener from a callback works as expected.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/motion/add-during-dispatch.https.html
Test no fire listeners added during event dispatch.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/orientation/basic-operation.https.html
If UA can never provide orientation information, the event should be fired as a null event.: FAIL (Chrome: FAIL, Safari: FAIL)
Tests basic operation of deviceorientation event using mock data.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/device-orientation-events-of-detached-documents.https.html
Adding an event listener on the window of a detached document does not crash.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/device-orientation-events-unavailable-on-insecure-origins.html
Event interfaces and event handlers are not exposed on window
.: FAIL (Chrome: PASS, Safari: PASS)
addEventListener() for deviceorientationabsolute
does not crash but the handler never fires.: FAIL (Chrome: FAIL, Safari: FAIL)
addEventListener() for devicemotion
does not crash but the handler never fires.: FAIL (Chrome: FAIL, Safari: FAIL)
addEventListener() for deviceorientation
does not crash but the handler never fires.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/orientation/basic-operation-absolute.https.html
Tests basic operation of deviceorientationabsolute event using mock data.: FAIL (Chrome: FAIL, Safari: FAIL)
If UA can never provide absolute information, the event should be fired as a null event.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/motion/multiple-event-listeners.https.html
Tests using multiple event handlers for the Device Motion API.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/orientation/updates.https.html
Tests that updates to the orientation causes new events to fire.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/motion/null-values.https.html
Tests using null values for some or all of the event properties.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/motion/add-listener-from-callback.https.html
Tests that adding a new devicemotion event listener from a callback works as expected.: FAIL (Chrome: FAIL, Safari: FAIL)
/orientation-event/orientation/null-values.https.html
Tests using null values for some of the event properties.: FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/cc33048a727f [wpt PR 23595] - device orientation: Ensure new reading values are available in tests., a=testonly
Comment 4•10 months ago
|
||
bugherder |
Description
•