aboutsummaryrefslogtreecommitdiffstats
path: root/host/tests/devtest/tx_bursts_test.py
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2015-10-07 15:06:42 -0700
committerMartin Braun <martin.braun@ettus.com>2015-10-07 15:06:42 -0700
commit90b88a27d27c52c337941a99773dfeb70e9c5917 (patch)
treecc620ca5b5ca5d13a05c45a67e2aa2329992c45a /host/tests/devtest/tx_bursts_test.py
parent9401bdbd214a7842c4ba913595cc79e27124589d (diff)
downloaduhd-90b88a27d27c52c337941a99773dfeb70e9c5917.tar.gz
uhd-90b88a27d27c52c337941a99773dfeb70e9c5917.tar.bz2
uhd-90b88a27d27c52c337941a99773dfeb70e9c5917.zip
tests: Added first batch of device tests
- Currently supported: B2xx, X3x0 - Runs some simple examples
Diffstat (limited to 'host/tests/devtest/tx_bursts_test.py')
-rwxr-xr-xhost/tests/devtest/tx_bursts_test.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/host/tests/devtest/tx_bursts_test.py b/host/tests/devtest/tx_bursts_test.py
new file mode 100755
index 000000000..863f35fe1
--- /dev/null
+++ b/host/tests/devtest/tx_bursts_test.py
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+#
+# Copyright 2015 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
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+""" Run the test for tx_burst """
+
+import re
+from uhd_test_base import uhd_example_test_case
+
+class uhd_tx_bursts_test(uhd_example_test_case):
+ """ Run test_messages. """
+ tests = {
+ 'default': {
+ 'nsamps': 10000,
+ 'rate': 5e6,
+ 'channels': '0',
+ },
+ }
+
+ def setup_example(self):
+ """
+ Set args.
+ """
+ self.test_params = uhd_tx_bursts_test.tests
+
+ def run_test(self, test_name, test_args):
+ """ Run the app and scrape for the failure messages. """
+ self.log.info('Running test {name}, Channel = {channel}, Sample Rate = {rate}'.format(
+ name=test_name, channel=test_args.get('channel'), rate=test_args.get('rate'),
+ ))
+ # Run example:
+ args = [
+ self.create_addr_args_str(),
+ '--nsamps', str(test_args['nsamps']),
+ '--channels', str(test_args['channels']),
+ '--rate', str(test_args.get('rate', 1e6)),
+ ]
+ if test_args.has_key('subdev'):
+ args.append('--subdev')
+ args.append(test_args['subdev'])
+ (app, run_results) = self.run_example('tx_bursts', args)
+ # Evaluate pass/fail:
+ run_results['passed'] = all([
+ app.returncode == 0,
+ not run_results['has_S'],
+ ])
+ run_results['async_burst_ack_found'] = re.search('success', app.stdout) is not None
+ self.report_example_results(test_name, run_results)
+ return run_results
+