Coverage for /home/jenkins/workspace/NDS/Zserio/NDS_ZSERIO-linux-build/compiler/extensions/python/runtime/tests/test_cppbind.py: 100%
21 statements
« prev ^ index » next coverage.py v6.5.0, created at 2023-12-13 15:12 +0000
« prev ^ index » next coverage.py v6.5.0, created at 2023-12-13 15:12 +0000
1import unittest
2import os
4from zserio.cppbind import import_cpp_class
5from zserio.exception import PythonRuntimeException
7class MissingCppClass:
8 pass
10class CppBindTest(unittest.TestCase):
12 def test_invalid_env(self):
13 os.environ["ZSERIO_PYTHON_IMPLEMENTATION"] = "invalid"
14 with self.assertRaises(PythonRuntimeException):
15 import_cpp_class("MissingCppClass")
17 def test_missing_cpp_default(self):
18 os.environ.pop("ZSERIO_PYTHON_IMPLEMENTATION")
19 self.assertIsNone(import_cpp_class("MissingCppClass"))
21 def test_missing_cpp_python(self):
22 os.environ["ZSERIO_PYTHON_IMPLEMENTATION"] = "python"
23 self.assertIsNone(import_cpp_class("MissingCppClass"))
25 def test_missing_cpp_cpp(self):
26 os.environ["ZSERIO_PYTHON_IMPLEMENTATION"] = "cpp"
27 with self.assertRaises(PythonRuntimeException):
28 import_cpp_class("MissingCppClass")