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

Issue 801034 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 3
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug
Proj-XR

Blocked on:
issue 853790



Sign in to add a comment

Add support for setting headset/controller values in VR browser tests

Project Member Reported by bsheedy@chromium.org, Jan 11 2018

Issue description

Currently, the mock OpenVR client we are using for VR browser tests is about as minimal as possible, with no way to change orientation, position, or anything related to controllers. Eventually we'll want to set returned values arbitrarily during tests to get test coverage equivalent to the instrumentation tests. This will require some sort of IPC mechanism since OpenVR is a separate process.
 
Labels: -M-67
Removing M-67 milestone during a triage sweep with ericde@.  A milestone should be reassigned when the issue is in scope.
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 15 2018

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

commit edb91802453505dabf855c2025df79b0a586a425
Author: Bill Orr <billorr@chromium.org>
Date: Fri Jun 15 17:52:56 2018

Add an interface to communicate between the fake openvr and tests

This change creates a way for tests to control the behavior of
the fake OpenVR, and allows devices to send information up to
tests.

BUG= 801034 

Change-Id: Ie0fe035ada9553114c054717f52788d375d5c62f
Reviewed-on: https://chromium-review.googlesource.com/1100157
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567725}
[modify] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/chrome/browser/vr/test/DEPS
[add] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/chrome/browser/vr/test/mock_openvr_device_hook_base.cc
[add] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/chrome/browser/vr/test/mock_openvr_device_hook_base.h
[modify] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/chrome/browser/vr/test/vr_xr_browser_test.cc
[modify] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/chrome/browser/vr/webvr_pixel_browser_test.cc
[modify] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/chrome/test/BUILD.gn
[modify] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/device/vr/BUILD.gn
[modify] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/device/vr/openvr/openvr_device_provider.cc
[modify] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/device/vr/openvr/openvr_device_provider.h
[modify] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/device/vr/openvr/test/fake_openvr_impl_api.cc
[delete] https://crrev.com/a0190fd82e7a92c41cce82c9a4e11346b888a3a7/device/vr/openvr/test/fake_openvr_log.h
[add] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/device/vr/openvr/test/test_helper.cc
[add] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/device/vr/openvr/test/test_helper.h
[add] https://crrev.com/edb91802453505dabf855c2025df79b0a586a425/device/vr/openvr/test/test_hook.h

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 18 2018

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

commit c2f09bb4697acd995d3e22fc22cc99f751c6c313
Author: Jamie Madill <jmadill@chromium.org>
Date: Mon Jun 18 18:51:32 2018

Revert "Add an interface to communicate between the fake openvr and tests"

This reverts commit edb91802453505dabf855c2025df79b0a586a425.

Reason for revert: Suspecting flaky crashes:
Win10 FYI Release (Intel HD 630) vr_browser_test

https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win10%20FYI%20Release%20%28Intel%20HD%20630%29/974

Received fatal exception EXCEPTION_ACCESS_VIOLATION
Backtrace:
	(No symbol) [0x6A3B41A0]
	(No symbol) [0x6A3B174E]
	device::OpenVRRenderLoop::SubmitFrameWithTextureHandle [0x052D8C2F+323]
	device::mojom::VRPresentationProviderStubDispatch::Accept [0x0399C195+1089]
	device::mojom::VRPresentationProviderStub<mojo::RawPtrImplRefTraits<device::mojom::VRPresentationProvider> >::Accept [0x052D9963+19]
	mojo::InterfaceEndpointClient::HandleValidatedMessage [0x03562159+541]
	mojo::FilterChain::Accept [0x0441F4F3+131]
	mojo::InterfaceEndpointClient::HandleIncomingMessage [0x03563006+106]
	mojo::internal::MultiplexRouter::ProcessIncomingMessage [0x0356658A+698]
	mojo::internal::MultiplexRouter::Accept [0x03566111+295]
	mojo::FilterChain::Accept [0x0441F4F3+131]
	mojo::Connector::ReadSingleMessage [0x03560830+364]
	mojo::Connector::ReadAllAvailableMessages [0x03560F0D+87]
<snip>

Bug:  853790 

Original change's description:
> Add an interface to communicate between the fake openvr and tests
> 
> This change creates a way for tests to control the behavior of
> the fake OpenVR, and allows devices to send information up to
> tests.
> 
> BUG= 801034 
> 
> Change-Id: Ie0fe035ada9553114c054717f52788d375d5c62f
> Reviewed-on: https://chromium-review.googlesource.com/1100157
> Commit-Queue: Bill Orr <billorr@chromium.org>
> Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#567725}

TBR=jam@chromium.org,bsheedy@chromium.org,billorr@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  801034 
Change-Id: Ie55238c46b1d9c34d92bee2b6324539912b47846
Reviewed-on: https://chromium-review.googlesource.com/1104837
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Bill Orr <billorr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568093}
[modify] https://crrev.com/c2f09bb4697acd995d3e22fc22cc99f751c6c313/chrome/browser/vr/test/DEPS
[delete] https://crrev.com/bfad34f4f4251c94ae82b8b602d293968c9927f9/chrome/browser/vr/test/mock_openvr_device_hook_base.cc
[delete] https://crrev.com/bfad34f4f4251c94ae82b8b602d293968c9927f9/chrome/browser/vr/test/mock_openvr_device_hook_base.h
[modify] https://crrev.com/c2f09bb4697acd995d3e22fc22cc99f751c6c313/chrome/browser/vr/test/vr_xr_browser_test.cc
[modify] https://crrev.com/c2f09bb4697acd995d3e22fc22cc99f751c6c313/chrome/browser/vr/webvr_pixel_browser_test.cc
[modify] https://crrev.com/c2f09bb4697acd995d3e22fc22cc99f751c6c313/chrome/test/BUILD.gn
[modify] https://crrev.com/c2f09bb4697acd995d3e22fc22cc99f751c6c313/device/vr/BUILD.gn
[modify] https://crrev.com/c2f09bb4697acd995d3e22fc22cc99f751c6c313/device/vr/openvr/openvr_device_provider.cc
[modify] https://crrev.com/c2f09bb4697acd995d3e22fc22cc99f751c6c313/device/vr/openvr/openvr_device_provider.h
[modify] https://crrev.com/c2f09bb4697acd995d3e22fc22cc99f751c6c313/device/vr/openvr/test/fake_openvr_impl_api.cc
[add] https://crrev.com/c2f09bb4697acd995d3e22fc22cc99f751c6c313/device/vr/openvr/test/fake_openvr_log.h
[delete] https://crrev.com/bfad34f4f4251c94ae82b8b602d293968c9927f9/device/vr/openvr/test/test_helper.cc
[delete] https://crrev.com/bfad34f4f4251c94ae82b8b602d293968c9927f9/device/vr/openvr/test/test_helper.h
[delete] https://crrev.com/bfad34f4f4251c94ae82b8b602d293968c9927f9/device/vr/openvr/test/test_hook.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 18 2018

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

commit 821155c3e30cdb3f5ff39bc46f30efd9a6142052
Author: Bill Orr <billorr@chromium.org>
Date: Mon Jun 18 22:32:42 2018

Reland "Add an interface to communicate between the fake openvr and tests"

This is a reland of edb91802453505dabf855c2025df79b0a586a425

Original change's description:
> Add an interface to communicate between the fake openvr and tests
> 
> This change creates a way for tests to control the behavior of
> the fake OpenVR, and allows devices to send information up to
> tests.
> 
> BUG= 801034 
> 
> Change-Id: Ie0fe035ada9553114c054717f52788d375d5c62f
> Reviewed-on: https://chromium-review.googlesource.com/1100157
> Commit-Queue: Bill Orr <billorr@chromium.org>
> Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#567725}

Bug:  801034 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ic4c1b4891df8ba1de9d7bf07863d4b696ec81de0
Reviewed-on: https://chromium-review.googlesource.com/1104761
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568201}
[modify] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/chrome/browser/vr/test/DEPS
[add] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/chrome/browser/vr/test/mock_openvr_device_hook_base.cc
[add] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/chrome/browser/vr/test/mock_openvr_device_hook_base.h
[modify] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/chrome/browser/vr/test/vr_xr_browser_test.cc
[modify] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/chrome/browser/vr/webvr_pixel_browser_test.cc
[modify] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/chrome/test/BUILD.gn
[modify] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/device/vr/BUILD.gn
[modify] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/device/vr/openvr/openvr_device_provider.cc
[modify] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/device/vr/openvr/openvr_device_provider.h
[modify] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/device/vr/openvr/test/fake_openvr_impl_api.cc
[delete] https://crrev.com/c82aeb351ee107551ac38986b1daef883810db84/device/vr/openvr/test/fake_openvr_log.h
[add] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/device/vr/openvr/test/test_helper.cc
[add] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/device/vr/openvr/test/test_helper.h
[add] https://crrev.com/821155c3e30cdb3f5ff39bc46f30efd9a6142052/device/vr/openvr/test/test_hook.h

Comment 5 by kbr@chromium.org, Jun 20 2018

Blockedon: 853790

Comment 6 by kbr@chromium.org, Jun 20 2018

Cc: kbr@chromium.org jmad...@chromium.org
Why did https://chromium-review.googlesource.com/1100157 not run the win_optional_gpu_tests_rel tryserver like https://cs.chromium.org/chromium/src/chrome/browser/vr/PRESUBMIT.py is supposed to enforce?

It's on that tryserver that vr_browser_tests is run on the Win10 Intel GPU bots, for example:
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win_optional_gpu_tests_rel/3740

Was the CL uploaded via "git cl upload"? That is required in order to properly run the presubmit hooks.

Comment 7 by billorr@google.com, Jun 20 2018

I had a permission/credentials issue that broke some post upload hooks.  After fixing the hooks do add the correct test.

Comment 8 by kbr@chromium.org, Jun 20 2018

Thanks for confirming.

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 3

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

commit 4f28a8f0e9f22e6a2d70df4a885c8be315af8d27
Author: Bill Orr <billorr@chromium.org>
Date: Tue Jul 03 06:54:32 2018

Add browser test for WebXR that validates textures use the expected pose

The page encodes a frame id into the clear color, clears the texture, then submits it.

The test then reads the frame id, and validates that the pose used was the expected pose used.

The test found an issue where frames would be submitted after getting the next frame's pose,
causing extra latency and worse reprojection.  This is fixed as part of the change so the test
passes.

BUG:  854309 ,  850165 ,  801034 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I0f891e9929d4a0427c74ae137ed2a9c31d7744cd
Reviewed-on: https://chromium-review.googlesource.com/1123228
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572130}
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/chrome/browser/vr/test/mock_openvr_device_hook_base.cc
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/chrome/browser/vr/test/mock_openvr_device_hook_base.h
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/chrome/browser/vr/test/vr_xr_browser_test.cc
[add] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/chrome/browser/vr/webvr_frame_pose_browser_test.cc
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/chrome/test/BUILD.gn
[add] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/chrome/test/data/vr/e2e_test_files/html/test_webxr_poses.html
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/chrome/test/data/vr/e2e_test_files/resources/webvr_boilerplate.js
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/chrome/test/data/vr/e2e_test_files/resources/webxr_boilerplate.js
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/device/vr/oculus/oculus_render_loop.cc
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/device/vr/oculus/oculus_render_loop.h
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/device/vr/openvr/openvr_device_provider.cc
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/device/vr/openvr/openvr_render_loop.cc
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/device/vr/openvr/openvr_render_loop.h
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/device/vr/openvr/test/fake_openvr_impl_api.cc
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/device/vr/openvr/test/test_helper.cc
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/device/vr/openvr/test/test_helper.h
[modify] https://crrev.com/4f28a8f0e9f22e6a2d70df4a885c8be315af8d27/device/vr/openvr/test/test_hook.h

Status: Fixed (was: Assigned)
Components: Internals>XR

Sign in to add a comment