Closed Bug 1031217 Opened 10 years ago Closed 6 years ago

[Wifi] when configuring WPA-EAP for "server certificate", the server certificate list is empty after running gaia-ui-test

Categories

(Firefox OS Graveyard :: Gaia::Settings, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: gchang, Unassigned)

References

Details

Attachments

(3 files)

### Steps:
1. Generate a certificate and put it on sd card
2. Navigate to Settings > Wi-Fi page
3. Select "Manage certificates"
4. Tap "Import certificate"
5. Import the certificates you put on sd card
6. Go back to Wi-Fi page
7. Choose the network supporting WPA-EAP
8. Click "Server certificate", the certificates are listed
9. Execute a test case of gaia-ui-test, "gaia/tests/python/gaia-ui-tests/gaiatest/tests/functional/settings/test_settings_wifi.py"
10. Go back to WPA-EAP network configuration, the server certificate list is empty. 

### Expected:
The "server certificate" should list certificates.

### Actual:
There is no certificate listed.

### Other information:
1. The problem only happened after executing a gaia-ui-test test case.

### Reproduce rate
Always

### Version:
Device    flame
Gaia      de77f794db22a45f9d575de2c6e266a30a50de3b
Gecko     https://hg.mozilla.org/releases/mozilla-aurora/rev/79712bd7b60d
BuildID   20140625000201
Version   32.0a2
Hi Gerry, this patch is for debugging certificate list while init() object `gCertificateList` and loadImportedCertificateOptions(). I think we have to check the 'gCertificateList.certificateList' is ready or not for 'gCertificateList.getList'. Could you please apply my patch for tracing the list since it's working fine in manual test? Thanks.
Attachment #8447811 - Flags: feedback?(gchang)
Comment on attachment 8447811 [details] [review]
debug patch for gaia ui test

I've applied the patch. Please see the attachment.
Attachment #8447811 - Flags: feedback?(gchang) → feedback-
Attached file certlist.log
(In reply to Gerry Chang [:cfchang] from comment #3)
> Created attachment 8447824 [details]
> certlist.log
06-30 02:38:11.409 19086 19086 E GeckoConsole: Content JS LOG at app://settings.gaiamobile.org/js/wifi.js:633 in scan: --> scan imported certificates
06-30 02:38:11.409 19086 19086 E GeckoConsole: Content JS WARN at app://settings.gaiamobile.org/js/wifi.js:666 in wifiSettings/scan/certRequest.onerror: getImportedCerts failed

Thanks for Gerry's checking. According to the logcat, getImportedCerts() API return in onerror case, and there is no imported certification. I would like to suspect something broken in this API while doing Gaia ui test.
Comment on attachment 8447811 [details] [review]
debug patch for gaia ui test

Hi Gerry, I have updated the debugging patch for checking getImportedCerts() API. It will dump the log while a user click WPA-EAP network. And we can make sure imported list gotten or not. Could you please help to check it again? Thanks.
Attachment #8447811 - Flags: feedback- → feedback?(gchang)
Attached file certlist_part2.log
Please see the attachment.
I put a log in gecko, it seems WifiManager.getImportedCerts() is called while wifi is still initializing while running the test case, and delete previous certificate list.

It can be recovered if you enter "Manager certificate".

It's strange because |WifiManager.getImportedCerts()| seems shouldn't be triggered during the test case.
There's a easier way to duplicate this:
1. Disable Wifi.
2. Close Settings app completely(by card view).
3. Open Settings app and enable wifi.
4. Look up the certificate list of WPA-EAP network config.

The root cause is settings app only loads certificate list while enter wifi setup page or certificate imported/deleted.
So when you enter wifi setup page while wifi is disabled, it can't get certificate list.
And without change to certificate, it can reload.

I suggest also reload certificate list while wifi is enabled.
Flags: needinfo?(iliu)
Is there any limitation for API getImportedCerts() while wifi is enabling? According to Gerry's test result, the test was passed two weeks ago, is there any change to make it broken recently?
Flags: needinfo?(iliu) → needinfo?(chulee)
Vincent added a limitation that all WIFI APIs can only be called while wifi is enabled in bug 1009725, and enabling state is not treated as enabled.
Flags: needinfo?(chulee)
It means we have to call wifi API while wifi is already enabled. I would like to suggest fixing the issue when wifi refractor is landed. It will make more conflict, if we fix it now. And settings::wifi will support more panel state control in the refactor.
Comment on attachment 8447811 [details] [review]
debug patch for gaia ui test

Forgot to clear flag. The information is provided in comment #6.
Attachment #8447811 - Flags: feedback?(gchang)
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: