 371920b941
			
		
	
	
		371920b941
		
	
	
	
	
		
			
			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>
		
			
				
	
	
		
			95 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 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
 |