android-components
android-components copied to clipboard
Intermittent feature-customtabs test failure - mozilla.components.feature.customtabs.CustomTabsToolbarFeatureTest - close button invokes callback and removes session
Firebase Test Run:
https://treeherder.mozilla.org/logviewer?job_id=359735192&repo=android-components
Stacktrace:
TEST: close button invokes callback and removes session
[Robolectric] mozilla.components.feature.customtabs.CustomTabsToolbarFeatureTest.close button invokes callback and removes session: sdk=28; resources=binary
I/MonitoringInstr: Instrumentation started!
E/ThemeUtils: View class mozilla.components.browser.toolbar.display.TrackingProtectionIconView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
E/ThemeUtils: View class mozilla.components.browser.toolbar.display.SiteSecurityIconView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
E/ThemeUtils: View class mozilla.components.browser.toolbar.display.HighlightView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
E/ThemeUtils: View class androidx.appcompat.widget.AppCompatImageView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
E/ThemeUtils: View class androidx.appcompat.widget.AppCompatImageView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
E/ThemeUtils: View class androidx.appcompat.widget.AppCompatImageView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
E/ThemeUtils: View class mozilla.components.ui.autocomplete.InlineAutocompleteEditText is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
E/ThemeUtils: View class androidx.appcompat.widget.AppCompatImageButton is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
FAILURE
java.lang.AssertionError: No action of type class mozilla.components.browser.state.action.CustomTabListAction$RemoveCustomTabAction found
at mozilla.components.support.test.middleware.CaptureActionsMiddleware.findLastAction(CaptureActionsMiddleware.kt:44)
at mozilla.components.support.test.middleware.CaptureActionsMiddleware.assertLastAction(CaptureActionsMiddleware.kt:64)
at mozilla.components.feature.customtabs.CustomTabsToolbarFeatureTest.close button invokes callback and removes session(CustomTabsToolbarFeatureTest.kt:288)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
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:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.robolectric.RobolectricTestRunner$HelperTestRunner$1.evaluate(RobolectricTestRunner.java:601)
at org.robolectric.internal.SandboxTestRunner$2.evaluate(SandboxTestRunner.java:260)
at org.robolectric.internal.SandboxTestRunner.runChild(SandboxTestRunner.java:130)
at org.robolectric.internal.SandboxTestRunner.runChild(SandboxTestRunner.java:42)
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.robolectric.internal.SandboxTestRunner$1.evaluate(SandboxTestRunner.java:84)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at androidx.test.ext.junit.runners.AndroidJUnit4.run(AndroidJUnit4.java:154)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
at com.sun.proxy.$Proxy5.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:121)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.base/java.lang.Thread.run(Thread.java:829)
Build:
https://github.com/mozilla-mobile/android-components/commit/0e963caf28a900dae6bc5a408d8cc3d12acb863a
┆Issue is synchronized with this Jira Task
Happened again: https://firefoxci.taskcluster-artifacts.net/cT5yBPb2QlyyBDljlFWcHw/0/public/logs/live_backing.log
[task 2022-06-15T11:47:05.571Z] TEST: close button invokes callback and removes session
[task 2022-06-15T11:47:05.670Z] E/ThemeUtils: View class mozilla.components.browser.toolbar.display.TrackingProtectionIconView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
[task 2022-06-15T11:47:05.670Z] E/ThemeUtils: View class mozilla.components.browser.toolbar.display.SiteSecurityIconView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
[task 2022-06-15T11:47:05.670Z] E/ThemeUtils: View class mozilla.components.browser.toolbar.display.HighlightView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
[task 2022-06-15T11:47:05.670Z] E/ThemeUtils: View class androidx.appcompat.widget.AppCompatImageView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
[task 2022-06-15T11:47:05.670Z] E/ThemeUtils: View class androidx.appcompat.widget.AppCompatImageView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
[task 2022-06-15T11:47:05.670Z] E/ThemeUtils: View class androidx.appcompat.widget.AppCompatImageView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
[task 2022-06-15T11:47:05.670Z] E/ThemeUtils: View class mozilla.components.ui.autocomplete.InlineAutocompleteEditText is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
[task 2022-06-15T11:47:05.670Z] E/ThemeUtils: View class androidx.appcompat.widget.AppCompatImageButton is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
[task 2022-06-15T11:47:05.770Z] FAILURE
[task 2022-06-15T11:47:05.770Z]
[task 2022-06-15T11:47:05.770Z] java.lang.AssertionError: No action of type class mozilla.components.browser.state.action.CustomTabListAction$RemoveCustomTabAction found
[task 2022-06-15T11:47:05.770Z] at mozilla.components.support.test.middleware.CaptureActionsMiddleware.findLastAction(CaptureActionsMiddleware.kt:44)
[task 2022-06-15T11:47:05.770Z] at mozilla.components.support.test.middleware.CaptureActionsMiddleware.assertLastAction(CaptureActionsMiddleware.kt:64)
[task 2022-06-15T11:47:05.770Z] at mozilla.components.feature.customtabs.CustomTabsToolbarFeatureTest.close button invokes callback and removes session(CustomTabsToolbarFeatureTest.kt:288)
[task 2022-06-15T11:47:05.770Z] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[task 2022-06-15T11:47:05.771Z] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[task 2022-06-15T11:47:05.771Z] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[task 2022-06-15T11:47:05.771Z] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[task 2022-06-15T11:47:05.771Z] at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
[task 2022-06-15T11:47:05.771Z] at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[task 2022-06-15T11:47:05.771Z] at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
[task 2022-06-15T11:47:05.771Z] at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[task 2022-06-15T11:47:05.771Z] at org.robolectric.RobolectricTestRunner$HelperTestRunner$1.evaluate(RobolectricTestRunner.java:591)
[task 2022-06-15T11:47:05.771Z] at org.robolectric.internal.SandboxTestRunner$2.lambda$evaluate$0(SandboxTestRunner.java:274)
[task 2022-06-15T11:47:05.771Z] at org.robolectric.internal.bytecode.Sandbox.lambda$runOnMainThread$0(Sandbox.java:88)
[task 2022-06-15T11:47:05.771Z] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[task 2022-06-15T11:47:05.771Z] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[task 2022-06-15T11:47:05.771Z] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[task 2022-06-15T11:47:05.771Z] at java.base/java.lang.Thread.run(Thread.java:829)
[task 2022-06-15T11:47:05.771Z] Suppressed: org.robolectric.android.internal.AndroidTestEnvironment$UnExecutedRunnablesException: Main looper has queued unexecuted runnables. This might be the cause of the test failure. You might need a shadowOf(Looper.getMainLooper()).idle() call.
Moved to bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1794919
Change performed by the Move to Bugzilla add-on.