Closed Bug 817440 Opened 12 years ago Closed 12 years ago

Intermittent testAddonManager | GeckoEventExpecter - blockForEvent timeout: Tab:Added

Categories

(Firefox for Android Graveyard :: Add-on Manager, defect)

20 Branch
ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 20

People

(Reporter: RyanVM, Assigned: mfinkle)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=17541433&tree=Mozilla-Inbound

Android Armv6 Tegra 250 mozilla-inbound opt test robocop on 2012-12-02 13:19:56 PST for push 26ca509c6456
slave: tegra-232

Thread[Gecko,5,main]
org.mozilla.gecko.GeckoAppShell.nativeRun(Native Method)
org.mozilla.gecko.GeckoAppShell.runGecko(GeckoAppShell.java:561)
org.mozilla.gecko.GeckoThread.run(GeckoThread.java:77)

Thread[Timer-0,5,main]
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:326)
java.util.Timer$TimerImpl.run(Timer.java:243)


7 INFO TEST-UNEXPECTED-FAIL | testAddonManager | GeckoEventExpecter - blockForEvent timeout: Tab:Added
Exception caught during test!
junit.framework.AssertionFailedError: 7 INFO TEST-UNEXPECTED-FAIL | testAddonManager | GeckoEventExpecter - blockForEvent timeout: Tab:Added
	at junit.framework.Assert.fail(Assert.java:47)
	at org.mozilla.fennec.FennecMochitestAssert._logMochitestResult(FennecMochitestAssert.java:107)
	at org.mozilla.fennec.FennecMochitestAssert.ok(FennecMochitestAssert.java:136)
	at org.mozilla.fennec.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:128)
	at org.mozilla.fennec.tests.testAddonManager.testAddonManager(testAddonManager.java:71)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:521)
	at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204)
	at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194)
	at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186)
	at org.mozilla.fennec.tests.BaseTest.runTest(BaseTest.java:120)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
	at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)
8 INFO TEST-UNEXPECTED-FAIL | testAddonManager | Exception caught - junit.framework.AssertionFailedError: 7 INFO TEST-UNEXPECTED-FAIL | testAddonManager | GeckoEventExpecter - blockForEvent timeout: Tab:Added
9 INFO TEST-END | testAddonManager | finished in 128518ms
10 INFO TEST-START | Shutdown
11 INFO Passed: 5
12 INFO Failed: 2
13 INFO Todo: 0
14 INFO SimpleTest FINISHED
Looks similar to bug 770483.
Test disabled for too many intermittent failures:
https://hg.mozilla.org/integration/mozilla-inbound/rev/805523ea470b
Whiteboard: [test disabled][leave open]
Attached patch patchSplinter Review
This patch uses a preference change to stop using the live AMO site and instead uses a dummy HTML page included with the robocop tests.

Things look green in a few triggers on Try:
https://tbpl.mozilla.org/?tree=Try&rev=cf62869fa00b

This also fixes bug 826535
Assignee: nobody → mark.finkle
Attachment #697894 - Flags: review?(gbrown)
Comment on attachment 697894 [details] [diff] [review]
patch

Review of attachment 697894 [details] [diff] [review]:
-----------------------------------------------------------------

::: mobile/android/base/tests/testAddonManager.java.in
@@ +79,5 @@
> +            // message with a specific requestId
> +            contentEventExpecter.blockUntilClear(2000);
> +        } catch (Exception ex) { 
> +            mAsserter.ok(false, "exception in testAddonManager", ex.toString());
> +        }

alternatively, we could set the pref in the preseed profile and just use that.  I sort of like the idea that the test case handles it, but it would be cleaner to do it in the profile and add a comment to this bug that we require the pref to be set and if it isn't we terminate.
(In reply to Joel Maher (:jmaher) from comment #40)
> Comment on attachment 697894 [details] [diff] [review]
> patch
> 
> Review of attachment 697894 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: mobile/android/base/tests/testAddonManager.java.in
> @@ +79,5 @@
> > +            // message with a specific requestId
> > +            contentEventExpecter.blockUntilClear(2000);
> > +        } catch (Exception ex) { 
> > +            mAsserter.ok(false, "exception in testAddonManager", ex.toString());
> > +        }
> 
> alternatively, we could set the pref in the preseed profile and just use
> that.  I sort of like the idea that the test case handles it, but it would
> be cleaner to do it in the profile and add a comment to this bug that we
> require the pref to be set and if it isn't we terminate.

I agree that it's kinda messy, but I like having the pref in the test (like you mention). Checking for the pref and terminating if not set would be almost as messy since we need to send a JSON message for that too.
Comment on attachment 697894 [details] [diff] [review]
patch

Review of attachment 697894 [details] [diff] [review]:
-----------------------------------------------------------------

>> alternatively, we could set the pref in the preseed profile and just use
>> that.  I sort of like the idea that the test case handles it, but it would
>> be cleaner to do it in the profile and add a comment to this bug that we
>> require the pref to be set and if it isn't we terminate.
>
> I agree that it's kinda messy, but I like having the pref in the test (like 
> you mention). Checking for the pref and terminating if not set would be 
> almost as messy since we need to send a JSON message for that too.

Would you need to check for the pref at all? I think we normally assume that
the preseed profile is effective. So just update the pref in the profile and
verifyPageTitle("Browser Blank Page 01") and it's done.

Having said that, there is also merit to having a self-contained test, and 
really, all that any of us want here is a reliable test -- I'm happy with
either approach as long as it works!
Attachment #697894 - Flags: review?(gbrown) → review+
I don't like how the preseed applies to all tests, so I left the pref changing code in the patch. Might be useful for other things later.

https://hg.mozilla.org/integration/mozilla-inbound/rev/ac059cbb93ed
Whiteboard: [test disabled][leave open]
Blocks: 826535
https://hg.mozilla.org/mozilla-central/rev/ac059cbb93ed
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 20
(In reply to TinderboxPushlog Robot from comment #46)
> RyanVM
> https://tbpl.mozilla.org/php/getParsedLog.php?id=20572823&tree=Mozilla-
> Inbound
> Android Tegra 250 mozilla-inbound opt test robocop-2 on 2013-03-12 10:32:17
> slave: tegra-142
> 
> 5 INFO TEST-UNEXPECTED-FAIL | testAddonManager | GeckoEventExpecter -
> blockForEvent timeout: Tab:Added
> junit.framework.AssertionFailedError: 5 INFO TEST-UNEXPECTED-FAIL |
> testAddonManager | GeckoEventExpecter - blockForEvent timeout: Tab:Added
> 6 INFO TEST-UNEXPECTED-FAIL | testAddonManager | Exception caught -
> junit.framework.AssertionFailedError: 5 INFO TEST-UNEXPECTED-FAIL |
> testAddonManager | GeckoEventExpecter - blockForEvent timeout: Tab:Added
> 03-12 10:57:18.447 I/Robocop ( 2805): 5 INFO TEST-UNEXPECTED-FAIL |
> testAddonManager | GeckoEventExpecter - blockForEvent timeout: Tab:Added
> 03-12 10:57:18.467 I/Robocop ( 2805): junit.framework.AssertionFailedError:
> 5 INFO TEST-UNEXPECTED-FAIL | testAddonManager | GeckoEventExpecter -
> blockForEvent timeout: Tab:Added
> 03-12 10:57:18.467 I/Robocop ( 2805): 6 INFO TEST-UNEXPECTED-FAIL |
> testAddonManager | Exception caught - junit.framework.AssertionFailedError:
> 5 INFO TEST-UNEXPECTED-FAIL | testAddonManager | GeckoEventExpecter -
> blockForEvent timeout: Tab:Added
> 03-12 10:57:19.587 I/TestRunner( 2805):
> junit.framework.AssertionFailedError: 6 INFO TEST-UNEXPECTED-FAIL |
> testAddonManager | Exception caught - junit.framework.AssertionFailedError:
> 5 INFO TEST-UNEXPECTED-FAIL | testAddonManager | GeckoEventExpecter -
> blockForEvent timeout: Tab:Added

The cause of this was backed out.
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: