зеркало из https://github.com/mozilla/gecko-dev.git
66 строки
2.1 KiB
JavaScript
66 строки
2.1 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 STATIC_IP_CONFIG = {
|
|
enabled: true,
|
|
ipaddr: "192.168.111.222",
|
|
proxy: "",
|
|
maskLength: 24,
|
|
gateway: "192.168.111.1",
|
|
dns1: "8.8.8.8",
|
|
dns2: "8.8.4.4",
|
|
};
|
|
|
|
const TESTING_HOSTAPD = [{ ssid: 'ap0' }];
|
|
|
|
function testAssociateWithStaticIp(aNetwork, aStaticIpConfig) {
|
|
return gTestSuite.setStaticIpMode(aNetwork, aStaticIpConfig)
|
|
.then(() => gTestSuite.testAssociate(aNetwork))
|
|
// Check ip address and prefix.
|
|
.then(() => gTestSuite.exeAndParseNetcfg())
|
|
.then((aResult) => {
|
|
is(aResult["wlan0"].ip, aStaticIpConfig.ipaddr, "Check ip address");
|
|
is(aResult["wlan0"].prefix, aStaticIpConfig.maskLength, "Check prefix");
|
|
})
|
|
// Check routing.
|
|
.then(() => gTestSuite.exeAndParseIpRoute())
|
|
.then((aResult) => {
|
|
is(aResult["wlan0"].src, aStaticIpConfig.ipaddr, "Check ip address");
|
|
is(aResult["wlan0"].default, true, "Check default route");
|
|
is(aResult["wlan0"].gateway, aStaticIpConfig.gateway, "Check gateway");
|
|
});
|
|
}
|
|
|
|
function findDesireNetwork(aNetworks) {
|
|
let i = gTestSuite.getFirstIndexBySsid(TESTING_HOSTAPD[0].ssid, aNetworks);
|
|
|
|
if (-1 !== i) {
|
|
return aNetworks[i];
|
|
}
|
|
|
|
return aNetworks[0];
|
|
}
|
|
|
|
// Start test.
|
|
gTestSuite.doTestWithoutStockAp(function() {
|
|
return gTestSuite.ensureWifiEnabled(true)
|
|
|
|
// Start custom hostapd for testing.
|
|
.then(() => gTestSuite.startHostapds(TESTING_HOSTAPD))
|
|
.then(() => gTestSuite.verifyNumOfProcesses('hostapd',
|
|
TESTING_HOSTAPD.length))
|
|
|
|
// Perform a wifi scan, and then run the static ip test
|
|
.then(() => gTestSuite.requestWifiScan())
|
|
.then((aNetworks) => findDesireNetwork(aNetworks))
|
|
.then((aNetwork) => testAssociateWithStaticIp(aNetwork,
|
|
STATIC_IP_CONFIG))
|
|
|
|
// Kill running hostapd.
|
|
.then(gTestSuite.killAllHostapd)
|
|
.then(() => gTestSuite.verifyNumOfProcesses('hostapd', 0));
|
|
});
|