diff options
author | Lars Amsel <lars.amsel@ni.com> | 2020-06-22 21:38:36 +0200 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2020-06-23 12:39:55 -0500 |
commit | a3ff904432d831702d47534f37a437304f5c55c1 (patch) | |
tree | 5b6716ddb4e4e0a319a4e58afdba3a2265fb4c62 | |
parent | 2c8e79c92fe72eeb43cf1c13c961f689bfebdd15 (diff) | |
download | uhd-a3ff904432d831702d47534f37a437304f5c55c1.tar.gz uhd-a3ff904432d831702d47534f37a437304f5c55c1.tar.bz2 uhd-a3ff904432d831702d47534f37a437304f5c55c1.zip |
test: Add verify-flatbuffer test
This runs update_fbs.py --verify as a unit test, and fail accordingly.
The test passes if git executable is not found or the schema files are
not within a git repo, because both are not a dependency of UHD.
-rw-r--r-- | host/tests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | host/tests/verify_fbs_test.py | 33 |
2 files changed, 34 insertions, 0 deletions
diff --git a/host/tests/CMakeLists.txt b/host/tests/CMakeLists.txt index 44888c153..8c8a1cbc3 100644 --- a/host/tests/CMakeLists.txt +++ b/host/tests/CMakeLists.txt @@ -68,6 +68,7 @@ set(test_sources # only differ in the cpp/py file extension). If in doubt, prepend 'py' set(pytest_sources pyranges_test.py + verify_fbs_test.py ) #turn each test cpp file into an executable with an int main() function diff --git a/host/tests/verify_fbs_test.py b/host/tests/verify_fbs_test.py new file mode 100644 index 000000000..c3ee763e4 --- /dev/null +++ b/host/tests/verify_fbs_test.py @@ -0,0 +1,33 @@ +# +# Copyright 2020 Ettus Research, a National Instruments Brand +# +# SPDX-License-Identifier: GPL-3.0-or-later +# +""" +Unit test for uhd.types.*Range +""" + +import os +import sys +import unittest +import importlib +import pathlib + +class VerifyFBSTest(unittest.TestCase): + """ Test Python-wrapped ranges classes """ + def test_flatbuffer_files(self): + """ Check FBS file """ + utils_path = os.path.normpath(os.path.join( + pathlib.Path(__file__).parent.absolute(), + '..', 'utils', 'update_fbs.py')) + print(utils_path) + spec = importlib.util.spec_from_file_location("update_fbs", utils_path) + update_fbs = importlib.util.module_from_spec(spec) + spec.loader.exec_module(update_fbs) + try: + git_exe = update_fbs.find_executable("git") + except RuntimeError: + # No git, no test. We pass b/c git is not a UHD dependency. + return + sys.argv.append('--verify') + self.assertTrue(update_fbs.verify(git_exe)) |