New issue
Advanced search Search tips

Issue 882433 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 21
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature

Blocked on:
issue 885007
issue 898745

Blocking:
issue 899586



Sign in to add a comment

Migrate video_WebRTC*Camera to Tast

Project Member Reported by keiichiw@chromium.org, Sep 10

Issue description

Move our camera tests to Tast, which is a new integration-testing system for ChromeOS.

This is needed to run camera tests on VM in Chrome infra. (crbug.com/852302) 

At first, I'm planning to move video_WebRtcCamera and video_WebRtcPeerConnectionWithCamera.
 
Cc: nya@chromium.org
Please let me know if there's anything I can do to help. nya@ (in Tokyo) is also knowledgeable about Tast.
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/45f1af41f2405a04e9855e07d30ff4ebdb5f6e48

commit 45f1af41f2405a04e9855e07d30ff4ebdb5f6e48
Author: Keiichi Watanabe <keiichiw@chromium.org>
Date: Sun Sep 16 11:04:36 2018

video: Port WebRTC camera tests from autotest

Add video.WebRTCCamera and video.WebRTCPeerConnectionWithCamera(H264|VP8).
These are Tast version of video_WebRtcCamera and
video_WebRtcPeerConnectionWithCamera.(h264|vp8) in autotest, respectively.

Since main procedures for each test are originally written in
JavaScript, HTML/JS files added by this commit are almost same with
ones in autotests repository.
Each test is executed by calling JS functions from webrtc.go.

If tests are executed on VM, vivid will be used as a video input device.

BUG= chromium:882433 , chromium:852302
TEST=Run each test on kevin by 'tast run'
TEST=Run each test on amd64-generic VM by 'tast run'
CQ-DEPEND=CL:1220426, CL:1222293, CL:1214903

Change-Id: I666c4f960688686a9a91a79d04ee4db49d7b1e6f
Signed-off-by: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1218308
Reviewed-by: Dan Erat <derat@chromium.org>

[add] https://crrev.com/45f1af41f2405a04e9855e07d30ff4ebdb5f6e48/src/chromiumos/tast/local/bundles/cros/video/webrtc/webrtc.go
[add] https://crrev.com/45f1af41f2405a04e9855e07d30ff4ebdb5f6e48/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_connection_with_camera_vp8.go
[add] https://crrev.com/45f1af41f2405a04e9855e07d30ff4ebdb5f6e48/src/chromiumos/tast/local/bundles/cros/video/webrtc_camera.go
[add] https://crrev.com/45f1af41f2405a04e9855e07d30ff4ebdb5f6e48/src/chromiumos/tast/local/bundles/cros/video/data/third_party/ssim.js
[add] https://crrev.com/45f1af41f2405a04e9855e07d30ff4ebdb5f6e48/src/chromiumos/tast/local/bundles/cros/video/data/loopback.html
[add] https://crrev.com/45f1af41f2405a04e9855e07d30ff4ebdb5f6e48/src/chromiumos/tast/local/bundles/cros/video/data/getusermedia.html
[add] https://crrev.com/45f1af41f2405a04e9855e07d30ff4ebdb5f6e48/src/chromiumos/tast/local/bundles/cros/video/data/third_party/munge_sdp.js
[add] https://crrev.com/45f1af41f2405a04e9855e07d30ff4ebdb5f6e48/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_connection_with_camera_h264.go
[add] https://crrev.com/45f1af41f2405a04e9855e07d30ff4ebdb5f6e48/src/chromiumos/tast/local/bundles/cros/video/data/third_party/blackframe.js

Blockedon: 885007
TODOs are:
- Check whether USB cameras are available before running tests ( crbug.com/885007 )
- Add Perf metrics like ones in autotest versions
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/93eecb21def16dad5f6204df7dea1a1e0b97be87

commit 93eecb21def16dad5f6204df7dea1a1e0b97be87
Author: Keiichi Watanabe <keiichiw@chromium.org>
Date: Wed Sep 26 17:32:21 2018

tast-tests: Add short/full versions of WebRTC tests

Shorten the performance time of existing video.WebRTC tests and
add three video.WebRTC*Perf tests as the full versions.
While short versions are intended to be run in Chrome CQ, where tests
have to be done in several seconds, the full versions will be used
for gathering the performance data in waterfall.

This commit also moves the starting points for counting time, i.e.
the places where setTimeout are called in getusermedia.html and
loopback.html. This is because we want to exclude the time for
completing getUserMedia calls.

BUG= chromium:882433 , chromium:852302
TEST=Run each test on kevin by 'tast run'
TEST=Run each test on amd64-generic VM by 'tast run'

Change-Id: I1852b86c23e53beb271cb9ff6d4c9f09f0285f62
Signed-off-by: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1237804
Reviewed-by: Shuhei Takahashi <nya@chromium.org>

[modify] https://crrev.com/93eecb21def16dad5f6204df7dea1a1e0b97be87/src/chromiumos/tast/local/bundles/cros/video/data/loopback.html
[add] https://crrev.com/93eecb21def16dad5f6204df7dea1a1e0b97be87/src/chromiumos/tast/local/bundles/cros/video/webrtc_camera_perf.go
[modify] https://crrev.com/93eecb21def16dad5f6204df7dea1a1e0b97be87/src/chromiumos/tast/local/bundles/cros/video/webrtc_camera.go
[modify] https://crrev.com/93eecb21def16dad5f6204df7dea1a1e0b97be87/src/chromiumos/tast/local/bundles/cros/video/data/getusermedia.html
[modify] https://crrev.com/93eecb21def16dad5f6204df7dea1a1e0b97be87/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_connection_with_camera_vp8.go
[modify] https://crrev.com/93eecb21def16dad5f6204df7dea1a1e0b97be87/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_connection_with_camera_h264.go
[add] https://crrev.com/93eecb21def16dad5f6204df7dea1a1e0b97be87/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_connection_with_camera_h264_perf.go
[add] https://crrev.com/93eecb21def16dad5f6204df7dea1a1e0b97be87/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_connection_with_camera_vp8_perf.go

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/1b5e90295234e09831409fc8972325def715ea99

commit 1b5e90295234e09831409fc8972325def715ea99
Author: Keiichi Watanabe <keiichiw@chromium.org>
Date: Thu Oct 18 05:43:15 2018

Add Tast informational tests to performance dashboard

BUG= chromium:882433 ,  chromium:890733 
TEST=None

Change-Id: Ie9fdcc020072625f70408d5b52e22f4105976414
Signed-off-by: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1282144
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Shuhei Takahashi <nya@chromium.org>

[modify] https://crrev.com/1b5e90295234e09831409fc8972325def715ea99/tko/perf_upload/perf_dashboard_config.json

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/790cb4937fd21c65a40a6c67a18db6e93a51b843

commit 790cb4937fd21c65a40a6c67a18db6e93a51b843
Author: Keiichi Watanabe <keiichiw@chromium.org>
Date: Tue Oct 23 20:01:34 2018

tast-tests: Check and store perf metrics in video.WebRTC tests

Add checking for frame statics and make tests fail if there were too many frames during video capturing.
In addition, video.WebRTC*Perf will upload the statistics as perf metrics.

BUG=chromium:852302,  chromium:882433 
TEST=run on amd64-generic VM and kevin

Change-Id: I46051e1c2807ad97b0b90f364cfd0d76cf941033
Signed-off-by: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1273435
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>

[modify] https://crrev.com/790cb4937fd21c65a40a6c67a18db6e93a51b843/src/chromiumos/tast/local/bundles/cros/video/webrtc/webrtc.go
[modify] https://crrev.com/790cb4937fd21c65a40a6c67a18db6e93a51b843/src/chromiumos/tast/local/bundles/cros/video/webrtc_camera_perf.go
[modify] https://crrev.com/790cb4937fd21c65a40a6c67a18db6e93a51b843/src/chromiumos/tast/local/bundles/cros/video/webrtc_camera.go
[modify] https://crrev.com/790cb4937fd21c65a40a6c67a18db6e93a51b843/src/chromiumos/tast/local/bundles/cros/video/data/loopback.html
[modify] https://crrev.com/790cb4937fd21c65a40a6c67a18db6e93a51b843/src/chromiumos/tast/local/bundles/cros/video/data/getusermedia.html
[add] https://crrev.com/790cb4937fd21c65a40a6c67a18db6e93a51b843/src/chromiumos/tast/local/bundles/cros/video/lib/videotype/videotype.go
[modify] https://crrev.com/790cb4937fd21c65a40a6c67a18db6e93a51b843/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_connection_with_camera_vp8.go
[modify] https://crrev.com/790cb4937fd21c65a40a6c67a18db6e93a51b843/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_connection_with_camera_h264.go
[modify] https://crrev.com/790cb4937fd21c65a40a6c67a18db6e93a51b843/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_connection_with_camera_h264_perf.go
[modify] https://crrev.com/790cb4937fd21c65a40a6c67a18db6e93a51b843/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_connection_with_camera_vp8_perf.go

Blockedon: 898745
Blocking: 899586
Summary: Migrate video_WebRTC*Camera to Tast (was: Port camera autotests to Tast)
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/2a7670ee97f79d1c7179336b1da02f6fe2a4a3e7

commit 2a7670ee97f79d1c7179336b1da02f6fe2a4a3e7
Author: Keiichi Watanabe <keiichiw@chromium.org>
Date: Mon Oct 29 18:21:39 2018

video.WebRTC*: Don't raise error by broken frames on real devices.

To avoid uncontrolable test flakiness, stop raising test errors
even if some video frames are broken when WebRTC tests are running
on real devices.

This change doesn't mean that we will ignore broken frames, because
these tests report frame statistics as perf data.

BUG= chromium:898745 , chromium:899586,  chromium:882433 
TEST=Run tast.video.WebRTC* on kevin/amd64-generic VM

Change-Id: I3d8d28f595bcd3f35ac42975ec5791220ec0ec7c
Signed-off-by: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1303783
Reviewed-by: Shuhei Takahashi <nya@chromium.org>

[modify] https://crrev.com/2a7670ee97f79d1c7179336b1da02f6fe2a4a3e7/src/chromiumos/tast/local/bundles/cros/video/webrtc/webrtc.go

Status: Fixed (was: Started)
Now, tast.video.WebRTC tests are running stably. So, I'll close this issue.

Though we have a plan to make these tests run in CQ as a part of Issue 852302, we will track this in another issue,  Issue 900857 .
Status: Started (was: Fixed)
tast.video.WebRTC tests haven't uploaded perf data to crosbolt.
crrev.com/c/1326269 will fix it.
Project Member

Comment 12 by bugdroid1@chromium.org, Nov 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast-tests/+/551a48b1d34463c36a273712bd18875ab3a53ea0

commit 551a48b1d34463c36a273712bd18875ab3a53ea0
Author: Keiichi Watanabe <keiichiw@chromium.org>
Date: Sat Nov 17 03:50:40 2018

video.WebRTC*Perf: Run perf tests in crosbolt_perbuild

Set "crosbolt_perbuilt" attribute in
- video.WebRTCCameraPerf,
- video.WebRTCPeerConnCameraH264Perf and
- video.WebRTCPeerConnCameraVP8Perf
so that these tests will upload perf data.

BUG= chromium:882433 
TEST=run these tests on kevin locally

Change-Id: If486772012d7e1b09a4e1a9995046315a73ea331
Signed-off-by: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1326269
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/551a48b1d34463c36a273712bd18875ab3a53ea0/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_conn_camera_h264_perf.go
[modify] https://crrev.com/551a48b1d34463c36a273712bd18875ab3a53ea0/src/chromiumos/tast/local/bundles/cros/video/webrtc_camera_perf.go
[modify] https://crrev.com/551a48b1d34463c36a273712bd18875ab3a53ea0/src/chromiumos/tast/local/bundles/cros/video/webrtc_peer_conn_camera_vp8_perf.go

Status: Fixed (was: Started)
Now, WebRTC tests are running on Chrome OS CQ and will start running on Chromium CQ when LKGM is updated.

Sign in to add a comment