New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 892557 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 22
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Mccloud: tast.audio.Microphone test failure

Project Member Reported by yuhsuan@chromium.org, Oct 5

Issue description

Description: Show this description
Cc: derat@chromium.org nya@chromium.org
Which devices don't have an internal mic? Is there a USE flag that's set for boards that don't have one? If so, the boolean expression used for computing Tast's audio_record feature (see http://go/tast-deps) should incorporate it.
Cc: cychiang@chromium.org
Owner: derat@chromium.org
Status: Started (was: Untriaged)
I'd recommend adding an on-by-default USE flag ("internal_mic"?) for this, as it reduces the incremental cost as more devices that don't have microphones are added.

With a dedicated USE flag, we'll just need to unset it in the board overlay when a new device that doesn't have a microphone is introduced.

If we continue down the path of excluding devices by board name, both the tast-use-flags ebuild and the local_test_runner binary will need to be manually updated whenever a new board is introduced.

I've sent https://crrev.com/c/1265052 to unset internal_mic for the devices mentioned here. Re nocturne, see  issue 892336 .
I've sent some changes out now to update overlays, but I could also rename the USE flag to audio_record if people think that that would be better and/or more precise.

It would be nice if there were also a USE flag describing whether audio playback is supported. Would "cras" be a good existing candidate for that? Can "cras" be unset on veyron_rialto, for instance?
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/75343fe3126844906f34e4a0f5e6c05c778e81cb

commit 75343fe3126844906f34e4a0f5e6c05c778e81cb
Author: Daniel Erat <derat@chromium.org>
Date: Sat Oct 06 02:37:56 2018

overlays: Unset internal_mic USE flag for boards.

Unset a new on-by-default internal_mic USE flag for
baseboard-fizz, overlay-mccloud, overlay-rikku, and
overlay-variant-veyron-mickey. Tast will inspect this to
determine if the audio_record feature is available or not.

BUG= chromium:892557 
TEST=none

Change-Id: I28b5ea94d5f0973081776fda4bab4544cbf5dbd1
Reviewed-on: https://chromium-review.googlesource.com/1265052
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>

[modify] https://crrev.com/75343fe3126844906f34e4a0f5e6c05c778e81cb/overlay-rikku/profiles/base/make.defaults
[modify] https://crrev.com/75343fe3126844906f34e4a0f5e6c05c778e81cb/baseboard-fizz/profiles/base/make.defaults
[modify] https://crrev.com/75343fe3126844906f34e4a0f5e6c05c778e81cb/overlay-variant-veyron-mickey/profiles/base/make.defaults
[modify] https://crrev.com/75343fe3126844906f34e4a0f5e6c05c778e81cb/overlay-mccloud/profiles/base/make.defaults

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 6

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/1dcd3999cf98865ce039b97a5d4fa35ed2c19db9

commit 1dcd3999cf98865ce039b97a5d4fa35ed2c19db9
Author: Daniel Erat <derat@chromium.org>
Date: Tue Oct 09 23:26:44 2018

tast-use-flags: Add on-by-default internal_mic to IUSE.

Add a new internal_mic USE flag to IUSE in tast-use-flags.
Boards that lack internal microphones can explicitly unset
it to signal that Tast tests that record audio should be
skipped.

BUG= chromium:892557 
TEST=none

Change-Id: I57d566aabb1413cb533a9bbe592b0b7b771823da
Reviewed-on: https://chromium-review.googlesource.com/1265161
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Shuhei Takahashi <nya@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>

[rename] https://crrev.com/1dcd3999cf98865ce039b97a5d4fa35ed2c19db9/chromeos-base/tast-use-flags/tast-use-flags-0.0.1-r10.ebuild
[modify] https://crrev.com/1dcd3999cf98865ce039b97a5d4fa35ed2c19db9/chromeos-base/tast-use-flags/tast-use-flags-0.0.1.ebuild

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/1ec6b9e43a5304c18312fed4249557dcd00c6848

commit 1ec6b9e43a5304c18312fed4249557dcd00c6848
Author: Daniel Erat <derat@chromium.org>
Date: Wed Oct 10 16:45:01 2018

tast: Use internal_mic and tast_vm USE flags.

Make local_test_runner disable the audio_play, audio_record,
and tpm features when the tast_vm USE flag is set, and also
require the internal_mic USE flag for audio_record.

tast_vm is now injected via -extrauseflags when "tast run"
is executed by VM builders that use chromite's
TastVMTestStage, and internal_mic has been unset on boards
that lack internal microphones.

BUG= chromium:885016 , chromium:892557 
TEST=none

Change-Id: I04c353d3a03f6c94742c764a0b9700419be7c235
Reviewed-on: https://chromium-review.googlesource.com/1272224
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/1ec6b9e43a5304c18312fed4249557dcd00c6848/src/chromiumos/cmd/local_test_runner/main.go

We should now skip audio.Microphone when running on mccloud. I'll close this after verifying that that's happening.

Just for my own education, why does this test pass most of the time on mccloud? See e.g. the run at http://stainless/browse/chromeos-autotest-results/247228667-chromeos-test/

2018/10/10 13:27:31 Started test audio.Microphone
2018/10/10 13:27:31 [13:27:30.395] Waiting for org.chromium.cras D-Bus service
2018/10/10 13:27:31 [13:27:30.396] Waiting for org.chromium.cras D-Bus service
2018/10/10 13:27:31 [13:27:30.398] Selected input device: "HDA Intel PCH: ALC283 Analog:1,0"
2018/10/10 13:27:31 [13:27:30.401] Testing ALSA
2018/10/10 13:27:31 [13:27:30.401] Recording... channel:2, rate:44100
2018/10/10 13:27:34 [13:27:33.474] Recording... channel:2, rate:48000
2018/10/10 13:27:37 [13:27:36.554] Testing Cras
2018/10/10 13:27:37 [13:27:36.554] Recording... channel:1, rate:44100
2018/10/10 13:27:40 [13:27:39.576] Recording... channel:1, rate:48000
2018/10/10 13:27:43 [13:27:42.585] Recording... channel:2, rate:44100
2018/10/10 13:27:46 [13:27:45.613] Recording... channel:2, rate:48000
2018/10/10 13:27:49 Completed test audio.Microphone in 18.228s with 0 error(s)

Do some mccloud DUTs have audio-recording hardware while others don't?
Cc: yungleem@chromium.org dgreid@chromium.org
This test is getting skipped on mccloud now; see e.g. http://stainless/browse/chromeos-autotest-results/248857717-chromeos-test/

2018/10/15 19:21:51 Started test audio.Microphone
2018/10/15 19:21:51 Skipped test audio.Microphone due to missing dependencies: audio_record

I'm still hoping that someone who knows more about audio and/or mccloud can answer my question about why this test was sometimes passing on mccloud, though:

> Do some mccloud DUTs have audio-recording hardware while others don't?
Status: Fixed (was: Started)
The reason why the test was passing sometimes will forever remain a mystery (unless someone answers my question :-P):

> Do some mccloud DUTs have audio-recording hardware while others don't?

Sign in to add a comment