New issue
Advanced search Search tips

Issue 876946 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug
Proj-VR
Proj-XR
Proj-XR-VR

Blocked on:
issue 877189



Sign in to add a comment

Support and enable VR tests on standalone devices

Project Member Reported by bsheedy@chromium.org, Aug 23

Issue description

Standalone VR devices such as the Lenovo Mirage Solo are Android-based, so the existing VR instrumentation tests should run on them with fairly minimal modification.

Enabling the tests to run continuously will require getting a standalone device available on swarming.
 
Blockedon: 877189
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 24

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

commit 7caa6679223b3e37fa7c531fb74e45e2ff581681
Author: bsheedy <bsheedy@chromium.org>
Date: Fri Aug 24 17:36:48 2018

Support VR instrumentation tests on standalone devices

Adds support for running the existing VR instrumentation tests on
standalone VR devices, specifically the Lenovo Mirage Solo.

Main changes include:
1. Adding new restrictions to differentiate smartphone VR from
   standalone devices and only enable tests on standalone when they make
   sense to do so.
2. Work around tests starting in VR.
3. Fix various issues with running on standalone devices such as
   controller recentering behavior being slightly different.

Bug: 876946
Change-Id: Ibb357e765768c0db9d08a8c7504ee8d14e0d31f3
Reviewed-on: https://chromium-review.googlesource.com/1186114
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585895}
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/BUILD.gn
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellDelegate.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/EmulatedVrController.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/TestVrShellDelegate.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserCompositorViewHolderTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserControllerInputTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserDialogTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserNativeUiTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserNavigationTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserTestFramework.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserTransitionTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserWebInputEditingTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrFeedbackInfoBarTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrInstallUpdateInfoBarTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrArSessionTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrDeviceTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrInputTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrTabTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrTestFramework.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrTransitionTest.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/adding_new_tests.md
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/ChromeTabbedActivityVrTestRule.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/CustomTabActivityVrTestRule.java
[add] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/VrActivityRestrictionRule.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/WebappActivityVrTestRule.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/XrActivityRestrictionRule.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/HeadTrackingUtils.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrTestRuleUtils.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/XrTestRuleUtils.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/android/javatests/src/org/chromium/chrome/browser/vr/xr_instrumentation_deep_dive.md
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeJUnit4ClassRunner.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/test/android/javatests/src/org/chromium/chrome/test/util/ChromeRestriction.java
[modify] https://crrev.com/7caa6679223b3e37fa7c531fb74e45e2ff581681/chrome/test/data/xr/e2e_test_files/html/test_device_capabilities_match_expectations.html

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 5

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/d585668dad0df7b6cb8572b9643dcfac14257377

commit d585668dad0df7b6cb8572b9643dcfac14257377
Author: bsheedy <bsheedy@chromium.org>
Date: Tue Sep 04 17:48:50 2018

Make provision_devices work with standalones

Adds additional logic to the provision_devices.py script to support
provisioning standalone Android VR devices such as the Lenovo Mirage
Solo (vega). Since these devices run mostly standard Android, the
existing provisioning logic still works on them, but several additional
steps must be taken to ensure first time setup is skipped.

Bug: chromium:876946
Change-Id: I0116700a23fafa20eb7110f8f66132eccec683f1
Reviewed-on: https://chromium-review.googlesource.com/1195876
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Ben Pastene <bpastene@chromium.org>

[modify] https://crrev.com/d585668dad0df7b6cb8572b9643dcfac14257377/devil/devil/android/device_utils.py
[modify] https://crrev.com/d585668dad0df7b6cb8572b9643dcfac14257377/devil/devil/android/tools/provision_devices.py

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 5

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

commit 953e99145207194e5f6cbfc1d29512c032235bb8
Author: catapult-chromium-autoroll <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Tue Sep 04 20:47:09 2018

Roll src/third_party/catapult 069d8c1aa313..bf6e5d6e88c4 (2 commits)

https://chromium.googlesource.com/catapult.git/+log/069d8c1aa313..bf6e5d6e88c4


git log 069d8c1aa313..bf6e5d6e88c4 --date=short --no-merges --format='%ad %ae %s'
2018-09-04 benjhayden@chromium.org Add Material input for v2spa.
2018-09-04 bsheedy@chromium.org Make provision_devices work with standalones


Created with:
  gclient setdep -r src/third_party/catapult@bf6e5d6e88c4

The AutoRoll server is located here: https://autoroll.skia.org/r/catapult-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG=chromium:876946
TBR=sullivan@chromium.org

Change-Id: I40f14899edc050f753f628d069a8c2d665bce22c
Reviewed-on: https://chromium-review.googlesource.com/1204735
Reviewed-by: catapult-chromium-autoroll <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: catapult-chromium-autoroll <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#588640}
[modify] https://crrev.com/953e99145207194e5f6cbfc1d29512c032235bb8/DEPS

Project Member

Comment 5 by bugdroid1@chromium.org, Nov 27

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

commit 75a4dd5942f61552765e79d2b2ed451cc4979117
Author: bsheedy <bsheedy@chromium.org>
Date: Tue Nov 27 23:24:30 2018

Enable experimental VR Vega tests

Enables VR tests on the standalone vega device on Oreo Phone Tester.

These were tested to work locally several months ago, but new issues may
have popped up in the meantime, so they are currently marked as
experimental.

Bug: 876946
Change-Id: Ib3d9054ef265d3290987e819043ddb9477ad32b4
Reviewed-on: https://chromium-review.googlesource.com/c/1347609
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611405}
[modify] https://crrev.com/75a4dd5942f61552765e79d2b2ed451cc4979117/testing/buildbot/chromium.android.json
[modify] https://crrev.com/75a4dd5942f61552765e79d2b2ed451cc4979117/testing/buildbot/test_suite_exceptions.pyl
[modify] https://crrev.com/75a4dd5942f61552765e79d2b2ed451cc4979117/testing/buildbot/test_suites.pyl

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 30

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

commit 0792b66645aa57e790e0324e8c4079ea2a812afa
Author: bsheedy <bsheedy@chromium.org>
Date: Fri Nov 30 20:10:57 2018

Fix failing VR Vega tests

Fixes or disables the tests that were consistently failing on the vega
standalone device. A few tests required special casing standalones
due to them always being in the VR Browser, while a few others are
simply disabled because they don't make sense on standalone devices.

Bug: 876946
Change-Id: Ia27e76b79ee6be2af0a7429e111d2fe57a1c532d
Reviewed-on: https://chromium-review.googlesource.com/c/1354654
Reviewed-by: Bill Orr <billorr@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612746}
[modify] https://crrev.com/0792b66645aa57e790e0324e8c4079ea2a812afa/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserNavigationTest.java
[modify] https://crrev.com/0792b66645aa57e790e0324e8c4079ea2a812afa/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrInputTest.java
[modify] https://crrev.com/0792b66645aa57e790e0324e8c4079ea2a812afa/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrTabTest.java

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 7

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

commit da0a2cb7b532677e55bdb3d2966af7365e50ee6c
Author: bsheedy <bsheedy@chromium.org>
Date: Mon Jan 07 23:41:40 2019

Fix VR in-session permission request test flakiness

Fixes flakiness in WebXrVrInputTest#testInSessionPermissionRequests*,
which was particularly prevalent on Vega. The cause of this was
not waiting for the UI to be quiescent before attempting to input the
first click, which sometimes resulted in the click not being registered
due to the element still transitioning in.

TBR=billorr@chromium.org

Bug: 876946
Change-Id: Ifa9aa73f85af0fd628c7ba0411ea8cd13bf6859d
Reviewed-on: https://chromium-review.googlesource.com/c/1399448
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620522}
[modify] https://crrev.com/da0a2cb7b532677e55bdb3d2966af7365e50ee6c/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrVrInputTest.java

Sign in to add a comment