aboutsummaryrefslogtreecommitdiffstats
path: root/host/tests/devtest
diff options
context:
space:
mode:
Diffstat (limited to 'host/tests/devtest')
-rwxr-xr-xhost/tests/devtest/run_testsuite.py36
-rw-r--r--host/tests/devtest/usrp_probe.py10
2 files changed, 21 insertions, 25 deletions
diff --git a/host/tests/devtest/run_testsuite.py b/host/tests/devtest/run_testsuite.py
index 30601c8bd..2826f25e9 100755
--- a/host/tests/devtest/run_testsuite.py
+++ b/host/tests/devtest/run_testsuite.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2015 Ettus Research LLC
+# Copyright 2015-2016 Ettus Research LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -19,21 +19,14 @@
Device test runner.
"""
+from __future__ import print_function
import os
import sys
import subprocess
import argparse
import logging
-import time
-from threading import Thread
-try:
- from Queue import Queue, Empty
-except ImportError:
- from queue import Queue, Empty # Py3k
from usrp_probe import get_usrp_list
-ANI = ('.', 'o', 'O', '0', 'O', 'o')
-
def setup_parser():
""" Set up argparser """
parser = argparse.ArgumentParser(description="Test utility for UHD/USRP.")
@@ -46,8 +39,12 @@ def setup_parser():
return parser
def setup_env(args):
+ " Add build dir into lib + exe paths, depending on OS "
def setup_env_win(env, build_dir, build_type):
- env['PATH'] = "{build_dir}/lib/{build_type};{build_dir}/examples/{build_type};{build_dir}/utils/{build_type};{path}".format(
+ " Add build dir into paths (Windows)"
+ env['PATH'] = "{build_dir}/lib/{build_type};" + \
+ "{build_dir}/examples/{build_type};" + \
+ "{build_dir}/utils/{build_type};{path}".format(
build_dir=build_dir, build_type=build_type, path=env.get('PATH', '')
)
env['LIBPATH'] = "{build_dir}/lib/{build_type};{path}".format(
@@ -58,6 +55,7 @@ def setup_env(args):
)
return env
def setup_env_unix(env, build_dir):
+ " Add build dir into paths (Unices)"
env['PATH'] = "{build_dir}/examples:{build_dir}/utils:{path}".format(
build_dir=build_dir, path=env.get('PATH', '')
)
@@ -66,6 +64,7 @@ def setup_env(args):
)
return env
def setup_env_osx(env, build_dir):
+ " Add build dir into paths (OS X)"
env['PATH'] = "{build_dir}/examples:{build_dir}/utils:{path}".format(
build_dir=build_dir, path=env.get('PATH', '')
)
@@ -87,12 +86,11 @@ def setup_env(args):
return env
def main():
- """
- Go, go, go!
- """
+ " Go, go, go! "
args = setup_parser().parse_args()
+ env = setup_env(args)
devtest_pattern = "devtest_{p}.py".format(p=args.devtest_pattern)
- uhd_args_list = get_usrp_list("type=" + args.device_filter)
+ uhd_args_list = get_usrp_list("type=" + args.device_filter, env)
if len(uhd_args_list) == 0:
print("No devices found. Exiting.")
exit(1)
@@ -104,7 +102,6 @@ def main():
ser=uhd_info.get('serial')
))
print('--- This will take some time. Better grab a cup of tea.')
- env = setup_env(args)
args_str = uhd_info['args']
env['_UHD_TEST_ARGS_STR'] = args_str
logfile_name = "log{}.log".format(
@@ -117,7 +114,7 @@ def main():
env['_UHD_TEST_RESULTSFILE'] = os.path.join(args.log_dir, resultsfile_name)
env['_UHD_TEST_LOG_LEVEL'] = str(logging.INFO)
env['_UHD_TEST_PRINT_LEVEL'] = str(logging.WARNING)
- p = subprocess.Popen(
+ proc = subprocess.Popen(
[
"python", "-m", "unittest", "discover", "-v",
"-s", args.src_dir,
@@ -126,13 +123,12 @@ def main():
env=env,
stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
)
- print(p.communicate()[0])
- if p.returncode != 0:
+ print(proc.communicate()[0])
+ if proc.returncode != 0:
tests_passed = False
print('--- Done testing all attached devices.')
return tests_passed
if __name__ == "__main__":
- if not main():
- exit(1)
+ exit(not main())
diff --git a/host/tests/devtest/usrp_probe.py b/host/tests/devtest/usrp_probe.py
index c734f48a1..50d484518 100644
--- a/host/tests/devtest/usrp_probe.py
+++ b/host/tests/devtest/usrp_probe.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2015 Ettus Research LLC
+# Copyright 2015-2016 Ettus Research LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -20,13 +20,13 @@
import re
import subprocess
-def get_usrp_list(device_filter=None):
+def get_usrp_list(device_filter=None, env=None):
""" Returns a list of dicts that contain USRP info """
try:
+ cmd = ['uhd_find_devices']
if device_filter is not None:
- output = subprocess.check_output(['../../utils/uhd_find_devices', '--args', device_filter])
- else:
- output = subprocess.check_output('../../utils/uhd_find_devices')
+ cmd += ['--args', device_filter]
+ output = subprocess.check_output(cmd, env=env)
except subprocess.CalledProcessError:
return []
split_re = "\n*-+\n-- .*\n-+\n"