aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/tests/base_tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'mpm/python/tests/base_tests.py')
-rwxr-xr-xmpm/python/tests/base_tests.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/mpm/python/tests/base_tests.py b/mpm/python/tests/base_tests.py
new file mode 100755
index 000000000..ec4b8328a
--- /dev/null
+++ b/mpm/python/tests/base_tests.py
@@ -0,0 +1,43 @@
+#
+# Copyright 2019 Ettus Research, a National Instruments Brand
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+"""
+Base Test Case classes
+"""
+
+import platform
+import unittest
+
+class TestBase(unittest.TestCase):
+ """
+ Base Test Case class which contains commonly required functionality
+ """
+ def skipUnlessOnLinux():
+ """
+ Test function decorator which skips tests unless the current
+ execution environment is a linux OS.
+ """
+ if 'linux' in platform.system().lower():
+ return lambda func: func
+ return unittest.skip("This test is only valid when run on a Linux system.")
+
+ def skipUnlessOnUsrp():
+ """
+ Test function decorator which skips tests unless the current
+ execution environment is a USRP.
+
+ Assumes that 'arm' in the machine name constitutes an ARM
+ processor, aka a USRP.
+ """
+ if 'arm' in platform.machine().lower():
+ return lambda func: func
+ return unittest.skip("This test is only valid when run on the USRP.")
+
+ def set_device_name(self, device_name):
+ """
+ Stores a device name attribute for tests whose success condition
+ depends on the current device.
+ """
+ self.device_name = device_name