VR Dialog tests failing due to ClassCastException |
||
Issue descriptionSince 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)
,
Nov 21
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.
,
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
,
Nov 26
|
||
►
Sign in to add a comment |
||
Comment 1 by huayinz@chromium.org
, Nov 21