mirror of
https://github.com/saymrwulf/uhd.git
synced 2026-05-16 21:10:10 +00:00
Usually, devtest is run via make (or ninja), and will use the correct Python interpreter. When running directly on the command line, it is important to pick the right Python interpreter so it will work with the Python API. Here, we change the default interpreter from Python 2 to 3, because that's the more common version, and will be the only option for upcoming UHD 4.0 anyway.
57 lines
1.7 KiB
Python
57 lines
1.7 KiB
Python
#!/usr/bin/env python3
|
|
#
|
|
# Copyright 2018 Ettus Research, a National Instruments Company
|
|
#
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
#
|
|
""" Test Python API """
|
|
|
|
from __future__ import print_function
|
|
import os
|
|
from uhd_test_base import shell_application
|
|
from uhd_test_base import uhd_test_case
|
|
try:
|
|
import uhd
|
|
except ImportError:
|
|
uhd = None
|
|
|
|
|
|
class uhd_python_api_test(uhd_test_case):
|
|
""" Run multi_usrp_test """
|
|
def test_api(self):
|
|
"""
|
|
Run test and report results.
|
|
"""
|
|
if uhd is None:
|
|
print("Skipping test, Python API not installed.")
|
|
self.report_result("python_api_tester", 'status', 'Skipped')
|
|
return
|
|
devtest_src_dir = os.getenv('_UHD_DEVTEST_SRC_DIR', '')
|
|
multi_usrp_test_path = \
|
|
os.path.join(devtest_src_dir, 'multi_usrp_test.py')
|
|
args = [
|
|
self.create_addr_args_str(),
|
|
]
|
|
app = shell_application(multi_usrp_test_path)
|
|
app.run(args)
|
|
run_results = {
|
|
'return_code': app.returncode,
|
|
'passed': False
|
|
}
|
|
run_results['passed'] = all([
|
|
app.returncode == 0,
|
|
])
|
|
self.log.info('STDERR Output:')
|
|
self.log.info(str(app.stderr))
|
|
for key in sorted(run_results):
|
|
self.log.info('%s = %s', str(key), str(run_results[key]))
|
|
self.report_result(
|
|
"python_api_tester",
|
|
key, run_results[key]
|
|
)
|
|
if 'passed' in run_results:
|
|
self.report_result(
|
|
"python_api_tester",
|
|
'status',
|
|
'Passed' if run_results['passed'] else 'Failed',
|
|
)
|