1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- Step-by-step guide for setting up hostapd/wpa_supplicant test framework (VM)
- ----------------------------------------------------------------------------
- This document can be used as a quick guide for getting started with
- hostapd/wpa_supplicant test framework with mac80211_hwsim. While the
- example here uses Ubuntu 16.04.1 server to have a list of exact steps,
- there are no requirements for using that specific distribution in the
- testing setup.
- The steps here describe how to run a guest VM for testing on a Linux
- host system.
- Install Ubuntu Server 16.04.1 as the host system for VMs
- - download installation image, e.g.,
- http://releases.ubuntu.com/16.04.1/ubuntu-16.04.1-server-amd64.iso
- - install the host system with default settings
- - boot to the installed system
- - update the installed packages:
- sudo apt update
- sudo apt upgrade
- Install the prerequisite packages that may not have been installed by default
- # kvm for running the VM guests
- sudo apt install qemu-kvm
- # build tools
- sudo apt install build-essential git libpcap-dev libsqlite3-dev binutils-dev \
- bc pkg-config libssl-dev libiberty-dev libdbus-1-dev \
- libnl-3-dev libnl-genl-3-dev libnl-route-3-dev
- # tools used be the test scripts
- sudo apt install python-minimal python-crypto python-pyrad python-netifaces \
- python-dbus python-gobject python-openssl bridge-utils ebtables tshark
- Enable kvm use for the user
- sudo adduser $USER kvm
- Download a snapshot of the hostap.git repository and build the programs
- cd
- git clone git://w1.fi/hostap.git
- cd hostap/tests/hwsim
- ./build.sh
- cd vm
- cat > vm-config <<EOF
- KERNELDIR=~/wireless-testing
- MEMORY=512
- KVMARGS="-cpu host"
- EOF
- Build a Linux kernel for testing
- cd
- git clone git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-testing.git
- cd wireless-testing
- cp ~/hostap/tests/hwsim/vm/kernel-config .config
- make oldconfig
- make -j8
- Setup is now ready for testing. You can run a quick test to confirm that
- things work as expected:
- cd ~/hostap/tests/hwsim/vm
- ./vm-run ap_open
- This should print out following style results:
- Starting test run in a virtual machine
- ./run-all.sh: passing the following args to run-tests.py: ap_open
- START ap_open 1/1
- PASS ap_open 0.924019 2017-01-28 20:20:12.137717
- passed all 1 test case(s)
- ALL-PASSED
- Test run completed
- Logfiles are at /tmp/hwsim-test-logs/1485634801
- (If that "PASS ap_open" line does not show up, something unexpected has
- happened and the setup is not in working condition.)
- To run all available test cases in 7 parallel VMs, you can run
- following:
- cd ~/hostap/tests/hwsim/vm
- ./parallel-vm.py 7
|