aboutsummaryrefslogtreecommitdiffstats
path: root/host/tests
diff options
context:
space:
mode:
authorLars Amsel <lars.amsel@ni.com>2020-06-22 21:38:36 +0200
committerAaron Rossetto <aaron.rossetto@ni.com>2020-06-23 12:39:55 -0500
commita3ff904432d831702d47534f37a437304f5c55c1 (patch)
tree5b6716ddb4e4e0a319a4e58afdba3a2265fb4c62 /host/tests
parent2c8e79c92fe72eeb43cf1c13c961f689bfebdd15 (diff)
downloaduhd-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.
Diffstat (limited to 'host/tests')
-rw-r--r--host/tests/CMakeLists.txt1
-rw-r--r--host/tests/verify_fbs_test.py33
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))