New issue
Advanced search Search tips

Issue 812285 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

webaudio wpt audioparam tests timeout

Project Member Reported by rtoy@chromium.org, Feb 14 2018

Issue description

Several webaudio wpt audioparam tests time out.  

First, they use a ScriptProcessor to verify the results but don't connect it to the destination. This is a bug in Chrome that is unlikely to be fixed because that node is deprecated in favor of AudioWorklets

Second, the tests use an online real-time context which doesn't exist on our bots.  Even if they did, the sample rate on each bot could be different, which makes evaluating the tests much harder.

As we move more webaudio tests to WPT we need to run these in a fast and reproducible way.  Look into fixing these tests.
 

Comment 1 by rtoy@chromium.org, Feb 14 2018

Summary: webaudio wpt audioparam tests timeout (was: webaudio wpt audioparam tests fail)
Project Member

Comment 2 by bugdroid1@chromium.org, Feb 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/437273fb4b03bce61d4d7bf91f9143971b783210

commit 437273fb4b03bce61d4d7bf91f9143971b783210
Author: Raymond Toy <rtoy@chromium.org>
Date: Fri Feb 16 16:02:29 2018

Fix timeouts in WPT AudioParam tests

Replace the tests that are using ScriptProcessor and online contexts
with an offline context and verify all the output values instead of
just one.

This change exposed a couple of issues:
  - setTargetAtTime wasn't actually testing setTargetAtTime because a
    linearRampToValueAtTime event was called at the same time,
    effectively replacing the setTargetAtTime event
  - linearRampToValue and exponentialRampToValue tests expose bugs in
    Chrome's implementation of these when the event is scheduled in
    the past, and there is no preceding event.

Bug:  812285 , 626703
Change-Id: Iad3f54dd4373411431c019de44d4c3bad07587ff
Reviewed-on: https://chromium-review.googlesource.com/919151
Commit-Queue: Raymond Toy <rtoy@chromium.org>
Reviewed-by: Hongchan Choi <hongchan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537311}
[modify] https://crrev.com/437273fb4b03bce61d4d7bf91f9143971b783210/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/437273fb4b03bce61d4d7bf91f9143971b783210/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/retrospective-exponentialRampToValueAtTime.html
[modify] https://crrev.com/437273fb4b03bce61d4d7bf91f9143971b783210/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/retrospective-linearRampToValueAtTime.html
[modify] https://crrev.com/437273fb4b03bce61d4d7bf91f9143971b783210/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/retrospective-setTargetAtTime.html
[modify] https://crrev.com/437273fb4b03bce61d4d7bf91f9143971b783210/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueAtTime.html
[modify] https://crrev.com/437273fb4b03bce61d4d7bf91f9143971b783210/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueCurveAtTime.html
[add] https://crrev.com/437273fb4b03bce61d4d7bf91f9143971b783210/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-audioparam-interface/retrospective-test.js

Comment 3 by rtoy@chromium.org, Mar 5 2018

Status: Fixed (was: Started)
Marking this as fixed.  There are still a few, but require more work to make them not timeout.  We'll file new issues when we get around to fixing those.
Raymond, this is not fixing the tests.  This is replacing them with different tests.

If tests timeout due to bugs in one implementation or in one vendor's test harness, then please skip them in that harness.  Feel free to add a new test that suits the vendor's requirements, but please don't remove tests that perform as specified in other implementations.

Comment 5 by rtoy@chromium.org, May 10 2018

Feel free to file a new bug saying these changes should be reverted and I'll get them reverted.
Thank you, Raymond.

I hadn't noticed that since https://github.com/webaudio/web-audio-api/commit/a37db9a3c2705d5c67812f2722fa03a5b8ac27a7
these tests were relying on currentTime not advancing between API calls made while running the same event.

That meant that the tests (in their previous form) were not appropriate for wpt.
Mozilla will run those in its own test suite until we work out a better solution.

Sign in to add a comment