tests: Allow run-tests.py to be run from the vm directory

Some of the paths in run-tests.py are hardcoded and could not handle
tests/hwsim/vm as the working directory. Modify the design enough to
allow ../run-tests.py -L to be used from the vm directory.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2014-11-19 00:41:45 +02:00
parent 5e3c0b02a7
commit cb8cb33e55

View file

@ -17,7 +17,10 @@ import subprocess
import logging import logging
logger = logging.getLogger() logger = logging.getLogger()
sys.path.append('../../wpaspy') if os.path.exists('../../wpaspy'):
sys.path.append('../../wpaspy')
else:
sys.path.append('../../../wpaspy')
from wpasupplicant import WpaSupplicant from wpasupplicant import WpaSupplicant
from hostapd import HostapdGlobal from hostapd import HostapdGlobal
@ -146,7 +149,11 @@ def rename_log(logdir, basename, testname, dev):
def main(): def main():
tests = [] tests = []
test_modules = [] test_modules = []
for t in os.listdir("."): if os.path.exists('run-tests.py'):
files = os.listdir(".")
else:
files = os.listdir("..")
for t in files:
m = re.match(r'(test_.*)\.py$', t) m = re.match(r'(test_.*)\.py$', t)
if m: if m:
logger.debug("Import test cases from " + t) logger.debug("Import test cases from " + t)
@ -207,27 +214,6 @@ def main():
print 'Invalid arguments - only one of (test, test modules, modules file) can be given.' print 'Invalid arguments - only one of (test, test modules, modules file) can be given.'
sys.exit(2) sys.exit(2)
if not args.logdir:
if os.path.exists('logs/current'):
args.logdir = 'logs/current'
else:
args.logdir = 'logs'
# Write debug level log to a file and configurable verbosity to stdout
logger.setLevel(logging.DEBUG)
stdout_handler = logging.StreamHandler()
stdout_handler.setLevel(args.loglevel)
logger.addHandler(stdout_handler)
file_name = os.path.join(args.logdir, 'run-tests.log')
log_handler = logging.FileHandler(file_name)
log_handler.setLevel(logging.DEBUG)
fmt = "%(asctime)s %(levelname)s %(message)s"
log_formatter = logging.Formatter(fmt)
log_handler.setFormatter(log_formatter)
logger.addHandler(log_handler)
if args.database: if args.database:
import sqlite3 import sqlite3
conn = sqlite3.connect(args.database) conn = sqlite3.connect(args.database)
@ -281,6 +267,26 @@ def main():
conn.close() conn.close()
sys.exit(0) sys.exit(0)
if not args.logdir:
if os.path.exists('logs/current'):
args.logdir = 'logs/current'
else:
args.logdir = 'logs'
# Write debug level log to a file and configurable verbosity to stdout
logger.setLevel(logging.DEBUG)
stdout_handler = logging.StreamHandler()
stdout_handler.setLevel(args.loglevel)
logger.addHandler(stdout_handler)
file_name = os.path.join(args.logdir, 'run-tests.log')
log_handler = logging.FileHandler(file_name)
log_handler.setLevel(logging.DEBUG)
fmt = "%(asctime)s %(levelname)s %(message)s"
log_formatter = logging.Formatter(fmt)
log_handler.setFormatter(log_formatter)
logger.addHandler(log_handler)
dev0 = WpaSupplicant('wlan0', '/tmp/wpas-wlan0') dev0 = WpaSupplicant('wlan0', '/tmp/wpas-wlan0')
dev1 = WpaSupplicant('wlan1', '/tmp/wpas-wlan1') dev1 = WpaSupplicant('wlan1', '/tmp/wpas-wlan1')