New issue
Advanced search Search tips

Issue 907308 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 26
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug
Proj-VR
Proj-XR
Proj-XR-VR



Sign in to add a comment

VR Dialog tests failing due to ClassCastException

Project Member Reported by bsheedy@chromium.org, Nov 21

Issue description

Since https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Oreo%20Phone%20Tester/1876 VrBrowserJavaScriptModalDialogTest#* has started failing 100% of the time due to a ClassCastException on both N and O. The suspected culprit is https://chromium-review.googlesource.com/c/chromium/src/+/1340974.

Stack trace:
java.lang.ClassCastException: org.chromium.chrome.browser.jsdialog.JavascriptAppModalDialog cannot be cast to org.chromium.chrome.browser.jsdialog.JavascriptTabModalDialog
	at org.chromium.chrome.browser.vr.jsdialog.VrBrowserJavaScriptModalDialogTest.getCurrentDialog(VrBrowserJavaScriptModalDialogTest.java:114)
	at org.chromium.chrome.browser.vr.jsdialog.VrBrowserJavaScriptModalDialogTest.testModalDialogImpl(VrBrowserJavaScriptModalDialogTest.java:93)
	at org.chromium.chrome.browser.vr.jsdialog.VrBrowserJavaScriptModalDialogTest.testPromptModalDialog(VrBrowserJavaScriptModalDialogTest.java:83)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:52)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.chromium.base.test.ScreenshotOnFailureStatement.evaluate(ScreenshotOnFailureStatement.java:37)
	at org.chromium.chrome.browser.vr.util.VrTestRuleUtils.evaluateVrTestRuleImpl(VrTestRuleUtils.java:79)
	at org.chromium.chrome.browser.vr.rules.ChromeTabbedActivityVrTestRule$1.evaluate(ChromeTabbedActivityVrTestRule.java:32)
	at org.chromium.chrome.test.ChromeActivityTestRule$1.evaluate(ChromeActivityTestRule.java:124)
	at android.support.test.internal.statement.UiThreadStatement.evaluate(UiThreadStatement.java:55)
	at android.support.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:270)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.chromium.base.test.BaseJUnit4ClassRunner.runChild(BaseJUnit4ClassRunner.java:237)
	at org.chromium.base.test.BaseJUnit4ClassRunner.runChild(BaseJUnit4ClassRunner.java:48)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.chromium.base.test.BaseJUnit4ClassRunner.run(BaseJUnit4ClassRunner.java:220)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59)
	at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262)
	at org.chromium.base.test.BaseChromiumAndroidJUnitRunner.onStart(BaseChromiumAndroidJUnitRunner.java:128)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2074)
 
bsheedy@ - Is there any instructions of how to run VR test apk on local devices?
https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/android/javatests/src/org/chromium/chrome/browser/vr/README.md

TL;DR:
1. Get a rooted Pixel device of some sort
2. Make sure the "VR Services" app is up to date in the PlayStore
3. Run the tests with the '--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_ddview_skipdon_setupcomplete.json'

You'll probably also want to use '--test-filter=VrBrowserJavaScriptModalDialogTest#*' so you only run the affected tests.
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 21

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

commit bb72f6e462969efc225b6359531652690184d50b
Author: Becky Zhou <huayinz@chromium.org>
Date: Wed Nov 21 22:34:01 2018

Fix VR JavaScript dialog test

Bug:  907308 
Change-Id: I472fdf61148d8f023a4b670d041593d3455c9f9f
Reviewed-on: https://chromium-review.googlesource.com/c/1347048
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Becky Zhou <huayinz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610239}
[modify] https://crrev.com/bb72f6e462969efc225b6359531652690184d50b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/jsdialog/VrBrowserJavaScriptModalDialogTest.java

Status: Fixed (was: Assigned)

Sign in to add a comment