diff options
Diffstat (limited to 'mpm/python/tests/base_tests.py')
-rwxr-xr-x | mpm/python/tests/base_tests.py | 43 |
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 |