tests: Step-by-step guide for testing in VM
This describes example steps on how to get the VM testing setup with parallel VMs configured with Ubuntu Server 16.04.1. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
0d46095ec8
commit
371920b941
1 changed files with 95 additions and 0 deletions
95
tests/hwsim/vm/example-vm-setup.txt
Normal file
95
tests/hwsim/vm/example-vm-setup.txt
Normal file
|
@ -0,0 +1,95 @@
|
|||
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
|
Loading…
Reference in a new issue