tests: Use a single set of scripts for running both P2P and AP tests

This removes the unnecessary separation of P2P (no hostapd) and AP
tests. The same scripts can be used to prepare for these tests and to
execute the tests.

Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2013-03-31 16:22:28 +03:00
parent 0b20f514de
commit 63a020ead8
5 changed files with 3 additions and 113 deletions

View file

@ -2,10 +2,8 @@
errors=0
umask 0002
./start-p2p.sh
./run-p2p-tests.py || errors=1
./start-ap.sh
./run-ap-tests.py || errors=1
./start.sh
./run-tests.py || errors=1
./stop-wifi.sh
if [ $errors -gt 0 ]; then
exit 1

View file

@ -1,92 +0,0 @@
#!/usr/bin/python
#
# P2P tests
# Copyright (c) 2013, Jouni Malinen <j@w1.fi>
#
# This software may be distributed under the terms of the BSD license.
# See README for more details.
import os
import re
import sys
import time
import logging
from wpasupplicant import WpaSupplicant
def main():
idx = 1
if len(sys.argv) > 1 and sys.argv[1] == '-d':
logging.basicConfig(level=logging.DEBUG)
idx = idx + 1
elif len(sys.argv) > 1 and sys.argv[1] == '-q':
logging.basicConfig(level=logging.WARNING)
idx = idx + 1
else:
logging.basicConfig(level=logging.INFO)
if len(sys.argv) > idx:
test_filter = sys.argv[idx]
else:
test_filter = None
dev0 = WpaSupplicant('wlan0')
dev1 = WpaSupplicant('wlan1')
dev2 = WpaSupplicant('wlan2')
dev = [ dev0, dev1, dev2 ]
for d in dev:
if not d.ping():
print d.ifname + ": No response from wpa_supplicant"
return
d.reset()
print "DEV: " + d.ifname + ": " + d.p2p_dev_addr()
tests = []
for t in os.listdir("."):
m = re.match(r'(test_p2p_.*)\.py$', t)
if m:
print "Import test cases from " + t
mod = __import__(m.group(1))
for s in dir(mod):
if s.startswith("test_"):
func = mod.__dict__.get(s)
tests.append(func)
passed = []
failed = []
for t in tests:
if test_filter:
if test_filter != t.__name__:
continue
for d in dev:
d.reset()
print "START " + t.__name__
if t.__doc__:
print "Test: " + t.__doc__
for d in dev:
d.request("NOTE TEST-START " + t.__name__)
try:
t(dev)
passed.append(t.__name__)
print "PASS " + t.__name__
except Exception, e:
print e
failed.append(t.__name__)
print "FAIL " + t.__name__
for d in dev:
d.request("NOTE TEST-STOP " + t.__name__)
if not test_filter:
for d in dev:
d.reset()
print "passed tests: " + str(passed)
print "failed tests: " + str(failed)
if len(failed):
sys.exit(1)
if __name__ == "__main__":
main()

View file

@ -58,7 +58,7 @@ def main():
tests = []
for t in os.listdir("."):
m = re.match(r'(test_ap_.*)\.py$', t)
m = re.match(r'(test_.*)\.py$', t)
if m:
print "Import test cases from " + t
mod = __import__(m.group(1))

View file

@ -1,16 +0,0 @@
#!/bin/sh
DIR="$( cd "$( dirname "$0" )" && pwd )"
WPAS=$DIR/../../wpa_supplicant/wpa_supplicant
WLANTEST=$DIR/../../wlantest/wlantest
$DIR/stop-wifi.sh
sudo modprobe mac80211_hwsim radios=3
mkdir -p $DIR/logs
DATE=`date +%s`
sudo ifconfig hwsim0 up
sudo $WLANTEST -i hwsim0 -c -d > $DIR/logs/$DATE-hwsim0 &
sudo $WPAS -Dnl80211 -iwlan0 -c $DIR/p2p0.conf -ddKt > $DIR/logs/$DATE-log0 &
sudo $WPAS -Dnl80211 -iwlan1 -c $DIR/p2p1.conf -ddKt > $DIR/logs/$DATE-log1 &
sudo $WPAS -Dnl80211 -iwlan2 -c $DIR/p2p2.conf -ddKt > $DIR/logs/$DATE-log2 &
sleep 1