summaryrefslogtreecommitdiffstats
path: root/dom/wifi/test/marionette/test_wifi_associate.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/wifi/test/marionette/test_wifi_associate.js')
-rw-r--r--dom/wifi/test/marionette/test_wifi_associate.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/dom/wifi/test/marionette/test_wifi_associate.js b/dom/wifi/test/marionette/test_wifi_associate.js
new file mode 100644
index 000000000..0c00c583b
--- /dev/null
+++ b/dom/wifi/test/marionette/test_wifi_associate.js
@@ -0,0 +1,35 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+MARIONETTE_TIMEOUT = 60000;
+MARIONETTE_HEAD_JS = 'head.js';
+
+const SCAN_RETRY_CNT = 5;
+
+/**
+ * Convert the given MozWifiNetwork object array to testAssociate chain.
+ *
+ * @param aNetworks
+ * An array of MozWifiNetwork which we want to convert.
+ *
+ * @return A promise chain which "then"s testAssociate accordingly.
+ */
+function convertToTestAssociateChain(aNetworks) {
+ let chain = Promise.resolve();
+
+ aNetworks.forEach(function (aNetwork) {
+ chain = chain.then(() => gTestSuite.testAssociate(aNetwork));
+ });
+
+ return chain;
+}
+
+gTestSuite.doTestWithoutStockAp(function() {
+ return gTestSuite.ensureWifiEnabled(true)
+ .then(() => gTestSuite.startHostapds(HOSTAPD_CONFIG_LIST))
+ .then(() => gTestSuite.verifyNumOfProcesses('hostapd', HOSTAPD_CONFIG_LIST.length))
+ .then(() => gTestSuite.testWifiScanWithRetry(SCAN_RETRY_CNT, HOSTAPD_CONFIG_LIST))
+ .then(networks => convertToTestAssociateChain(networks))
+ .then(gTestSuite.killAllHostapd)
+ .then(() => gTestSuite.verifyNumOfProcesses('hostapd', 0));
+});