Closed Bug 943275 Opened 12 years ago Closed 11 years ago

Intermittent TEST-UNEXPECTED-FAIL | test_conference.js | ScriptTimeoutException: timed out

Categories

(Testing :: Marionette Client and Harness, defect)

x86
Linux
defect
Not set
normal

Tracking

(firefox28 fixed, firefox29 fixed, firefox30 fixed, firefox-esr24 unaffected, b2g-v1.2 unaffected, b2g-v1.3 fixed, b2g-v1.4 fixed)

RESOLVED FIXED
mozilla30
Tracking Status
firefox28 --- fixed
firefox29 --- fixed
firefox30 --- fixed
firefox-esr24 --- unaffected
b2g-v1.2 --- unaffected
b2g-v1.3 --- fixed
b2g-v1.4 --- fixed

People

(Reporter: cbook, Assigned: hsinyi)

References

()

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

b2g_emulator_vm b2g-inbound opt test marionette-webapi on 2013-11-25 18:15:16 PST for push 353d97cdf854 slave: tst-linux64-ec2-375 https://tbpl.mozilla.org/php/getParsedLog.php?id=31070474&tree=B2g-Inbound raise ScriptTimeoutException(message=message, status=status, stacktrace=stacktrace) TEST-UNEXPECTED-FAIL | test_conference.js | ScriptTimeoutException: timed out
There's a flaw in test_conference.js. When there's already a connected conference call, answering a new incoming call triggers conference state change. We should wait for |conference.onstatechange| before checking the state of the conference call. However, the current code doesn't do that.
Comment on attachment 8367759 [details] [diff] [review] patch v1 - wait for conference.statechange event before checking it's state There's a flaw in test_conference.js. When there's already a connected conference call, answering a new incoming call triggers conference state change. We should wait for |conference.onstatechange| before checking the state of the conference call. However, the current code doesn't do that. Hi Aknow, may I have your review on this? Thanks.
Attachment #8367759 - Flags: review?(szchen)
Comment on attachment 8367759 [details] [diff] [review] patch v1 - wait for conference.statechange event before checking it's state Review of attachment 8367759 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/telephony/test/marionette/test_conference.js @@ +132,5 @@ > + }; > + let receive = function(name) { > + receivedPending(name, pending, done); > + }; > + let pending = ["call.onconnecting", "call.onconnected"]; In other functions, we usually put 'pending' part above 'receive' part. @@ +151,5 @@ > call.onconnecting = function onconnectingIn(event) { > log("Received 'connecting' call event for incoming call."); > call.onconnecting = null; > checkEventCallState(event, call, "connecting"); > + receive("call.onconnecting"); In my opinion, the items in 'pending' should be parallel. But for 'connecting' and 'connected', there is a strong order. Maybe we could remove "call.onconnecting".
Attachment #8367759 - Flags: review?(szchen) → review+
(In reply to Szu-Yu Chen [:aknow] from comment #12) > Comment on attachment 8367759 [details] [diff] [review] > patch v1 - wait for conference.statechange event before checking it's state > > Review of attachment 8367759 [details] [diff] [review]: > ----------------------------------------------------------------- > > ::: dom/telephony/test/marionette/test_conference.js > @@ +132,5 @@ > > + }; > > + let receive = function(name) { > > + receivedPending(name, pending, done); > > + }; > > + let pending = ["call.onconnecting", "call.onconnected"]; > > In other functions, we usually put 'pending' part above 'receive' part. > > @@ +151,5 @@ > > call.onconnecting = function onconnectingIn(event) { > > log("Received 'connecting' call event for incoming call."); > > call.onconnecting = null; > > checkEventCallState(event, call, "connecting"); > > + receive("call.onconnecting"); > > In my opinion, the items in 'pending' should be parallel. But for > 'connecting' and 'connected', there is a strong order. Maybe we could remove > "call.onconnecting". Thanks for the review. I'll address the comments in the final version, thank you~
Assignee: nobody → htsai
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
Product: Testing → Remote Protocol
Moving bug to Testing::Marionette Client and Harness component per bug 1815831.
Component: Marionette → Marionette Client and Harness
Product: Remote Protocol → Testing
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: