Closed Bug 1018051 Opened 11 years ago Closed 11 years ago

Add a slight delay in test_outgoing_emergency_in_airplane_mode.js

Categories

(Firefox OS Graveyard :: RIL, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
2.0 S3 (6june)

People

(Reporter: aknow, Assigned: aknow)

References

Details

(Whiteboard: [p=1])

Attachments

(1 file, 1 obsolete file)

When running the test case (test_outgoing_emergency_in_airplane_mode.js), we found that sometimes the CALL STATE CHANGE from modem is missing after the console command "gsm cancel". It results in timeout and fails the test. We suspected that this is caused by multiple entries happened in emulator. The emulator were processing (1) console command "gsm cancel", and (2) SIM IO request at the same time. Both of these two actions have to write their response to a buffer and then transmit them through AT channel. However, there is only one such buffer. Action 2 might interrupt action 1 and overwrite the output buffer, so the original data on buffer, e.g., "CALL STATE CHANGE" is erased. The patch provide a workaround, adding a slight delay, to postpone action (1) so these two actions will not collide together.
Edgar, Hsinyi is OOO now. Could you review it for me? I'd like to provide a workaround first to solve the issue on try test.
Attachment #8431376 - Flags: review?(echen)
(In reply to Szu-Yu Chen [:aknow] from comment #0) > When running the test case (test_outgoing_emergency_in_airplane_mode.js), we > found that sometimes the CALL STATE CHANGE from modem is missing after the > console command "gsm cancel". It results in timeout and fails the test. > > We suspected that this is caused by multiple entries happened in emulator. > The emulator were processing (1) console command "gsm cancel", and (2) SIM > IO request at the same time. Both of these two actions have to write their > response to a buffer and then transmit them through AT channel. However, > there is only one such buffer. Action 2 might interrupt action 1 and > overwrite the output buffer, so the original data on buffer, e.g., "CALL > STATE CHANGE" is erased. Please help to file a bug for this. > > The patch provide a workaround, adding a slight delay, to postpone action > (1) so these two actions will not collide together.
Comment on attachment 8431376 [details] [diff] [review] Delay 1s in test_outgoing_emergency_in_airplane_mode.js Review of attachment 8431376 [details] [diff] [review]: ----------------------------------------------------------------- r=me with the comment addressed. ::: dom/telephony/test/marionette/test_outgoing_emergency_in_airplane_mode.js @@ +33,5 @@ > setRadioEnabled(false) > .then(() => gDial("112")) > .then(call => { outCall = call; }) > .then(() => gRemoteAnswer(outCall)) > + .then(() => gDelay(1000)) Please help to add some comments about why we need a delay here. Thank you.
Attachment #8431376 - Flags: review?(echen) → review+
https://tbpl.mozilla.org/?tree=Try&rev=a1045dc22e5c No failures are relate to test_outgoing_emergency_in_airplane_mode.js.
Keywords: checkin-needed
Whiteboard: [p=1]
Target Milestone: --- → 2.0 S3 (6june)
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Blocks: 1025289
See Also: → 1152272
See Also: → 1155022
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: