mer-qa / blts-wlan-core Goto Github PK
View Code? Open in Web Editor NEWFunctional tests for WLAN
License: GNU General Public License v2.0
Functional tests for WLAN
License: GNU General Public License v2.0
Overview This package contains functional tests for WLAN core Requirements Running the tests in the package requires * linux >= 2.6.15 with nl80211-using WLAN driver * GNU libc >= 2.3 * libnl Building the package The package should build cleanly with GCC 4.x with the mentioned libraries. The preferred way is to use the Debian packaging tools for the build; these will run Autotools for configuration and makefile generation. The package builds (from the source tree root) with $ dpkg-buildpackage ( you may need some combination of '-rfakeroot', '-uc', '-us', etc, depending on your system configuration ) Alternatively, the packaging can be skipped by just running with Autotools: $ ./autogen.sh $ ./configure $ make Installation Login as root and install the package (dpkg -i [package name] if Debian package). Required hardware for testing over the air: * DUT, running the test asset * WLAN access point, for AP-using tests * A second DUT or other supported device for "ad-hoc" (IBSS) tests. Multiple access points with different static configurations can be used instead of changing the AP configuration directly. Access point SSID parameters in configuration file (default: /etc/blts/blts-wlan-core-tests.cnf). * open_ssid - SSID for an existing open AP * wep_ssid - SSID for an existing WEP-encrypted AP * wpa_ssid - SSID for an existing WPA-encrypted AP * adhoc_ssid - SSID for an existing open adhoc network The access point used must support DHCP discovery, either by itself or via a suitable network arrangement. SSIDs, keys and passphrases used must be entered in the test configuration file. Requirements for individual test cases: * Test "Core-WLAN-Enumerate hardware": No special requirements. Configuration parameter expected_phys is space separated list of expected physical layer devices to check e.g. "phy0 phy1 phy2" * Test "Core-WLAN-Enumerate supported features" No special requirements. Configuration parameter wlan_device is used to define the device where commands and parameters are enumerated e.g "wlan0" * Tests "Core-WLAN-Scan for specific AP", "Core-WLAN-Associate with open AP", "Core-WLAN-Scan and associate on max power save", "Core-WLAN-Disconnect with deauthenticate", "Core-WLAN-Disconnect with disassociate" and "Core-WLAN-Disconnect with AP loss": Existing open AP is required, Configuration parameter wlan_device is used to define the wlan device to use and configuration parameter open_ssid is used to define the SSID of the existing open AP. * Test "Core-WLAN-Associate with WEP encryption": Access point must be set to WEP mode, Configuration parameters affected: wep_ssid is the access point SSID, wep_keys are WEP encryption keys and wep_tx_keyidx is the default key to transmit. * Test "Core-WLAN-Disconnect from adhoc network": Existing adhoc network where DUT can be joined or optionally wlan station that supports adhoc connections. Configuration parameter wlan_device is used to define the wlan device to use and configuration parameter adhoc_ssid is used to define the SSID of the existing open AP. * Test "Core-WLAN-Associate with WPA2-PSK AP": Access point must be set to WPA2 mode, with pre-shared key authentication. Configuration parameters affected: wpa_ssid is the access point SSID, wpa_passphrase is the passphrase used. Running the tests Run all tests: blts-wlan-core-tests Show cases: blts-wlan-core-tests -s Use config file: blts-wlan-core-tests -C <config file> NOTE: Example configuration file is installed to /etc/blts/ , and is used as default. Run single case like nro 1: blts-wlan-core-tests -e 1 Run a single case with its name (note quotes when there are spaces in the name): blts-wlan-core-tests -en "Test case name" Known issues * MeeGo Connman, wpa_supplicant and the test asset use similar methods of accessing the WLAN adapter. Consequently, many tests will fail due to conflicting commands from the test cases and other device users. To prevent this, shut down Connman and wpa_supplicant before testing with (as root): 1) killall connmand killall wpa_supplicant Reboot the device when finished to restore WLAN functionality. (Note: this applies to current Meego; future versions may differ.) OR 2) The example configuration file has global parameters 'stopped_processes' and 'restarted_processes' these can be used to stop/restart defined processes. NOTE: These parameters can be empty if 'killall' commands are used. Test cases * Core-WLAN-Enumerate hardware Check that expected PHYs are found, then dump all PHYs, interfaces, and available configuration data * Core-WLAN-Enumerate supported features Dump commands and parameters that are supported by device/driver * Core-WLAN-Scan for specific AP Trigger a new scan with a given ssid and verify that AP is actually found * Core-WLAN-Associate with open AP Scan for open AP with a given ssid, after that do authentication and association requests, finally disconnect * Core-WLAN-Associate with WEP encryption Scan for AP with a given ssid, after that set WEP encryption keys and do connection request, send DHCP discover and finally disconnect * Core-WLAN-Scan and associate on max power save Set max power save on and scan for open AP with a given ssid, after that connect and finally disconnect. NOTE: overrides command line parameter -S (power save) * Core-WLAN-Associate with WPA2-PSK AP Scan for AP with a given SSID, and associate. Perform WPA2 key exchange using pre-shared key. Verify connection using DHCP discover and finally disconnect. * Core-WLAN-Disconnect with deauthenticate Scan for open AP with a given ssid, after that do connection request, send DHCP discover and finally disconnect using deauthenticate command while waiting until disconnect event is received. * Core-WLAN-Disconnect with disassociate Scan for open AP with a given ssid, after that do connection request, send DHCP discover and finally disconnect using disassociate command while waiting until disconnect event is received. * Core-WLAN-Disconnect with AP loss Scan for open AP with a given ssid, after that do connection request, send DHCP discover and start waiting until disconnect event is received. NOTE: Manual test where AP must be turned off in about 60 seconds before test case can be continued. * Core-WLAN-Disconnect from adhoc network Scan for open adhoc network with a given ssid, after that join a IBSS and verify connection by sending test data and using scan request, after that leave IBSS and verify that device is properly disconnected from adhoc network. NOTE: The requirement for this test case is existing adhoc network where DUT can be joined or optionally wlan station that supports adhoc connections. NOTE2: if there is no existing adhoc network in the test environment "Core-WLAN-Establish new adhoc network" can be also used as a counterpart for this test case. * Core-WLAN-Establish new adhoc network Estabish new IBSS with no encryption, after that start receiving test data packets and compare payload with expected data. This test case fails if adhoc network with same SSID already exists. NOTE: This test case requires either "Core-WLAN-Join established adhoc network" or optionally "Core-WLAN-Disconnect from adhoc network" as a counterpart and must be run first. * Core-WLAN-Join established adhoc network Scan for open adhoc network with a given ssid, after that join a IBSS and verify connection by sending test data that is verified in the other DUT. NOTE: This test case requires "Core-WLAN-Establish new adhoc network" as a counterpart and must be run after it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.