From a3ff904432d831702d47534f37a437304f5c55c1 Mon Sep 17 00:00:00 2001 From: Lars Amsel Date: Mon, 22 Jun 2020 21:38:36 +0200 Subject: 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. --- host/tests/CMakeLists.txt | 1 + host/tests/verify_fbs_test.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 host/tests/verify_fbs_test.py 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)) -- cgit v1.2.3