mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-11-19 18:38:36 +00:00
74 lines
2.6 KiB
JavaScript
74 lines
2.6 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
MARIONETTE_TIMEOUT = 60000;
|
|
MARIONETTE_HEAD_JS = 'head.js';
|
|
|
|
const TESTING_HOSTAPD = [{ ssid: 'ap0' }];
|
|
|
|
function connectToFirstNetwork() {
|
|
let firstNetwork;
|
|
return gTestSuite.requestWifiScan()
|
|
.then(function (networks) {
|
|
firstNetwork = networks[0];
|
|
return gTestSuite.testAssociate(firstNetwork);
|
|
})
|
|
.then(() => firstNetwork);
|
|
}
|
|
|
|
gTestSuite.doTestTethering(function() {
|
|
let firstNetwork;
|
|
|
|
return gTestSuite.ensureWifiEnabled(true)
|
|
// Start custom hostapd for testing.
|
|
.then(() => gTestSuite.startHostapds(TESTING_HOSTAPD))
|
|
.then(() => gTestSuite.verifyNumOfProcesses('hostapd', TESTING_HOSTAPD.length))
|
|
|
|
// Connect to the testing AP and wait for data becoming disconnected.
|
|
.then(function () {
|
|
return Promise.all([
|
|
// 1) Set up the event listener first:
|
|
// RIL data should become disconnected after connecting to wifi.
|
|
gTestSuite.waitForRilDataConnected(false),
|
|
|
|
// 2) Connect to the first scanned network.
|
|
connectToFirstNetwork()
|
|
.then(aFirstNetwork => firstNetwork = aFirstNetwork)
|
|
]);
|
|
})
|
|
.then(function() {
|
|
return Promise.all([
|
|
// 1) Set up the event listeners first:
|
|
// Wifi should be turned off and RIL data should be connected.
|
|
gTestSuite.waitForWifiManagerEventOnce('disabled'),
|
|
gTestSuite.waitForRilDataConnected(true),
|
|
|
|
// 2) Start wifi tethering.
|
|
gTestSuite.requestTetheringEnabled(true)
|
|
]);
|
|
})
|
|
.then(function() {
|
|
return Promise.all([
|
|
// 1) Set up the event listeners first:
|
|
// Wifi should be enabled, RIL data should become disconnected and
|
|
// we should connect to an wifi AP.
|
|
gTestSuite.waitForWifiManagerEventOnce('enabled'),
|
|
|
|
// Due to Bug 1168285, after re-enablin wifi, the remembered network
|
|
// will not be connected automatically. Leave "auto connect test"
|
|
// covered by test_wifi_auto_connect.js.
|
|
//gTestSuite.waitForRilDataConnected(false),
|
|
//gTestSuite.waitForConnected(firstNetwork),
|
|
|
|
// 2) Stop wifi tethering.
|
|
gTestSuite.requestTetheringEnabled(false)
|
|
]);
|
|
})
|
|
// Remove wlan0 from default route by disabling wifi. Otherwise,
|
|
// it will cause the subsequent test cases loading page error.
|
|
.then(() => gTestSuite.requestWifiEnabled(false))
|
|
|
|
// Kill running hostapd.
|
|
.then(gTestSuite.killAllHostapd)
|
|
.then(() => gTestSuite.verifyNumOfProcesses('hostapd', 0));
|
|
}); |