Closed Bug 652802 Opened 9 years ago Closed 9 years ago

intermittent failures in mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | Can't get accessible for [object XULElement]

Categories

(Core :: Disability Access APIs, defect)

x86
Windows 7
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla8

People

(Reporter: jfkthame, Assigned: surkov)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure)

Attachments

(2 files)

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1303820885.1303822520.5820.gz

s: talos-r3-w7-023
PROCESS-CRASH | Main app process exited normally | application crashed (minidump found)
Thread 0 (crashed)
3614 ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | Can't get accessible for [object XULElement]
ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | Relation of 'labelled by' type for ' 'notificationbox@id='panel13038223658771' node' ' has no expected targets: ' 'tab node' '
3616 ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | Can't get accessible for [object XULElement]
3617 ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | Relation of 'label for' type for ' 'tab node' ' has no expected targets: ' 'notificationbox@id='panel13038223658771' node' '
Blocks: 438871
It appears we start to test relations too early. We're not guaranteed the tree is created when onStateChange listener triggers. I think it makes sense to rely on document loaded events to start testing.
complete test output:

3606 INFO TEST-INFO | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | before wait for focus -- loaded: uninitialized active window: ([object ChromeWindow]) chrome://browser/content/browser.xul focused window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul desired window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul child window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul docshell visible: true

3607 INFO TEST-INFO | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | must wait for load

3608 INFO TEST-INFO | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | already focused

3609 INFO TEST-INFO | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | maybe run tests <load:false, focus:true> -- loaded: uninitialized active window: ([object ChromeWindow]) chrome://browser/content/browser.xul focused window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul desired window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul child window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul docshell visible: true

3610 INFO TEST-INFO | chrome://mochitests/content/a11y/accessible/relations
/test_tabbrowser.xul | waitForEvent called <type:load, target[object XULDocument]> -- loaded: complete active window: ([object ChromeWindow]) chrome://browser/content/browser.xul focused window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul desired window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul child window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul docshell visible: true

3611 INFO TEST-INFO | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | maybe run tests <load:true, focus:true> -- loaded: complete active window: ([object ChromeWindow]) chrome://browser/content/browser.xul focused window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul desired window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul child window: ([object Window]) chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul docshell visible: true

3612 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | [object XULElement] is not a target of relation of 'labelled by' type for ' 'notificationbox@id='panel1304655917125' node' '.

3613 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | [object XULElement] is not a target of relation of 'label for' type for ' 'tab node' '.

3614 ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | Can't get accessible for [object XULElement]

3615 ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | Relation of 'labelled by' type for ' 'notificationbox@id='panel13046559173161' node' ' has no expected targets: ' 'tab node' '

3616 ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | Can't get accessible for [object XULElement]

3617 ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | Relation of 'label for' type for ' 'tab node' ' has no expected targets: ' 'notificationbox@id='panel13046559173161' node' '

3618 INFO TEST-END | chrome://mochitests/content/a11y/accessible/relations/test_tabbrowser.xul | finished in 290ms
So, these fails:

testRelation(panels[1], RELATION_LABELLED_BY, tabs[1]);
testRelation(tabs[1], RELATION_LABEL_FOR, panels[1]);

as I told before we start a test too soon. It sounds document load events won't work here, but we can rely on reorder events.

Marco, can you take it?
Attached patch patchSplinter Review
similar to bug 673836
Assignee: nobody → surkov.alexander
Status: NEW → ASSIGNED
Attachment #550426 - Flags: review?(marco.zehe)
Attachment #550426 - Flags: review?(marco.zehe) → review+
inbound http://hg.mozilla.org/integration/mozilla-inbound/rev/ecd723889587
Whiteboard: [orange] → [orange][inbound]
http://hg.mozilla.org/mozilla-central/rev/ecd723889587
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla8
Whiteboard: [orange][inbound] → [orange]
Comment on attachment 550426 [details] [diff] [review]
patch

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

::: accessible/tests/mochitest/relations/test_tabbrowser.xul
@@ +64,5 @@
> +          }
> +
> +          if (this.reorderCnt == docURIs.length) {
> +            unregisterA11yEventListener(EVENT_REORDER, this);
> +            testAccTree();

Was s/testRelations()/testAccTree()/ actually wanted?

Nit: I would have added |SimpleTest.executeSoon(...);| to let the handler (fully) end first, though this is not required.

@@ +76,2 @@
>  
>        tabBrowser.loadTabs(["about:", "about:mozilla"], false, true);

You missed to update this line to
|tabBrowser.loadTabs(docURIs, false, true);|
Attachment #550426 - Flags: feedback-
Flags: in-testsuite+
Attached patch followupSplinter Review
thank you for the catch
Attachment #551380 - Flags: feedback?(sgautherie.bz)
Attachment #551380 - Flags: feedback?(sgautherie.bz)
(In reply to Serge Gautherie (:sgautherie) from comment #9)

> Was s/testRelations()/testAccTree()/ actually wanted?

Fixed.

> Nit: I would have added |SimpleTest.executeSoon(...);| to let the handler
> (fully) end first, though this is not required.

Still applies.

> You missed to update this line to
> |tabBrowser.loadTabs(docURIs, false, true);|

Still applies.
(In reply to Serge Gautherie (:sgautherie) from comment #12)

> > Nit: I would have added |SimpleTest.executeSoon(...);| to let the handler
> > (fully) end first, though this is not required.
> 
> Still applies.

I like to keep this behavior since sync testing is more interesting in means of possible bugs coverage.

> > You missed to update this line to
> > |tabBrowser.loadTabs(docURIs, false, true);|
> 
> Still applies.

sorry, I'll fix it
(In reply to alexander surkov from comment #13)

> > > You missed to update this line to
> > > |tabBrowser.loadTabs(docURIs, false, true);|
> > 
> > Still applies.
> 
> sorry, I'll fix it

landed on inbound http://hg.mozilla.org/integration/mozilla-inbound/rev/62324307e24d
Whiteboard: [orange]
You need to log in before you can comment on or make changes to this bug.