New issue
Advanced search Search tips

Issue 631122 link

Starred by 2 users

Issue metadata

Status: Untriaged
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Feature



Sign in to add a comment

CallbackHelper#waitUntilCriteria does not report Criteria#getFailureReason

Reported by bhal...@amazon.com, Jul 25 2016

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36

Steps to reproduce the problem:
1. Run a Test which uses org.chromium.content.browser.test.util.CallbackHelper#waitUntilCriteria 
e.g. ./out/Default/bin/run_chrome_public_test_apk -f TabsTest.testOrientationChangeCausesLiveTabReflowInNormalView --num-retries=0

and suppose that it fails/flakes.

What is the expected behavior?
C   34.071s Main  ********************************************************************************
C   34.071s Main  Detailed Logs
C   34.071s Main  ********************************************************************************
C   34.072s Main  [FAIL] org.chromium.chrome.browser.TabsTest#testOrientationChangeCausesLiveTabReflowInNormalView:
C   34.072s Main  java.util.concurrent.TimeoutException: waitUntilCriteria failed because Criteria XYZ not met in allotted time.
C   34.072s Main  	at org.chromium.content.browser.test.util.CallbackHelper.waitUntilCriteria(CallbackHelper.java:224)
C   34.072s Main  	at org.chromium.content.browser.test.util.TestCallbackHelperContainer$OnEvaluateJavaScriptResultHelper.waitUntilHasValue(TestCallbackHelperContainer.java:179)
C   34.072s Main  	at org.chromium.content.browser.test.util.JavaScriptUtils.executeJavaScriptAndWaitForResult(JavaScriptUtils.java:56)
C   34.072s Main  	at org.chromium.chrome.browser.TabsTest.testOrientationChangeCausesLiveTabReflowInNormalView(TabsTest.java:1525)
C   34.072s Main  	at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
C   34.072s Main  	at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
C   34.072s Main  	at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
C   34.072s Main  	at org.chromium.chrome.test.ChromeActivityTestCaseBase.runTest(ChromeActivityTestCaseBase.java:765)
C   34.073s Main  	at org.chromium.base.test.BaseTestResult.runParameterized(BaseTestResult.java:161)
C   34.073s Main  	at org.chromium.base.test.BaseTestResult.run(BaseTestResult.java:124)
C   34.073s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
C   34.073s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
C   34.073s Main  	at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:557)
C   34.073s Main  	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1874)
C   34.073s Main  ********************************************************************************
C   34.073s Main  Summary
C   34.073s Main  ********************************************************************************
C   34.073s Main  [==========] 1 test ran.
C   34.074s Main  [  PASSED  ] 0 tests.
C   34.074s Main  [  FAILED  ] 1 test, listed below:
C   34.074s Main  [  FAILED  ] org.chromium.chrome.browser.TabsTest#testOrientationChangeCausesLiveTabReflowInNormalView
C   34.074s Main  
C   34.074s Main  1 FAILED TEST
C   34.074s Main  ********************************************************************************

What went wrong?
W   34.070s Main  Default retries are being phased out.  crbug.com/619055 
C   34.071s Main  ********************************************************************************
C   34.071s Main  Detailed Logs
C   34.071s Main  ********************************************************************************
C   34.072s Main  [FAIL] org.chromium.chrome.browser.TabsTest#testOrientationChangeCausesLiveTabReflowInNormalView:
C   34.072s Main  java.util.concurrent.TimeoutException: waitUntilCriteria timed out!
C   34.072s Main  	at org.chromium.content.browser.test.util.CallbackHelper.waitUntilCriteria(CallbackHelper.java:224)
C   34.072s Main  	at org.chromium.content.browser.test.util.TestCallbackHelperContainer$OnEvaluateJavaScriptResultHelper.waitUntilHasValue(TestCallbackHelperContainer.java:179)
C   34.072s Main  	at org.chromium.content.browser.test.util.JavaScriptUtils.executeJavaScriptAndWaitForResult(JavaScriptUtils.java:56)
C   34.072s Main  	at org.chromium.chrome.browser.TabsTest.testOrientationChangeCausesLiveTabReflowInNormalView(TabsTest.java:1525)
C   34.072s Main  	at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
C   34.072s Main  	at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
C   34.072s Main  	at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
C   34.072s Main  	at org.chromium.chrome.test.ChromeActivityTestCaseBase.runTest(ChromeActivityTestCaseBase.java:765)
C   34.073s Main  	at org.chromium.base.test.BaseTestResult.runParameterized(BaseTestResult.java:161)
C   34.073s Main  	at org.chromium.base.test.BaseTestResult.run(BaseTestResult.java:124)
C   34.073s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
C   34.073s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
C   34.073s Main  	at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:557)
C   34.073s Main  	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1874)
C   34.073s Main  ********************************************************************************
C   34.073s Main  Summary
C   34.073s Main  ********************************************************************************
C   34.073s Main  [==========] 1 test ran.
C   34.074s Main  [  PASSED  ] 0 tests.
C   34.074s Main  [  FAILED  ] 1 test, listed below:
C   34.074s Main  [  FAILED  ] org.chromium.chrome.browser.TabsTest#testOrientationChangeCausesLiveTabReflowInNormalView
C   34.074s Main  
C   34.074s Main  1 FAILED TEST
C   34.074s Main  ********************************************************************************

Did this work before? No 

Chrome version: 49.0.2623.112  Channel: n/a
OS Version: 
Flash Version: Shockwave Flash 22.0 r0
 
Components: Tests
Status: Untriaged (was: Unconfirmed)
Marking the above issue as Untriaged as this is a new feature request.


Comment 2 by bhal...@amazon.com, Jul 26 2016

I have a possible solution up for review
https://codereview.chromium.org/2178023002
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 18 2016

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

commit 6c632b3764ed4fc351eded015dbc95caeecd932c
Author: bhallam <bhallam@amazon.com>
Date: Thu Aug 18 00:48:26 2016

Make CallbackHelper#waitUntilCriteria verbose during failure.

Currently the implementation of
CallbackHelper#waitUntilCriteria(Criteria, long, TimeUnit)
takes in a Criteria which has a failure message which is never surfaced up
when the waitUntilCriteria call times out.

This change will utilize the failure message whenever
the Criteria object contains a non null failure message.

BUG=631122

Review-Url: https://codereview.chromium.org/2178023002
Cr-Commit-Position: refs/heads/master@{#412708}

[modify] https://crrev.com/6c632b3764ed4fc351eded015dbc95caeecd932c/content/public/test/android/javatests/src/org/chromium/content/browser/test/util/CallbackHelper.java

Sign in to add a comment