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

1import unittest 

2import os 

3 

4from zserio.cppbind import import_cpp_class 

5from zserio.exception import PythonRuntimeException 

6 

7class MissingCppClass: 

8 pass 

9 

10class CppBindTest(unittest.TestCase): 

11 

12 def test_invalid_env(self): 

13 os.environ["ZSERIO_PYTHON_IMPLEMENTATION"] = "invalid" 

14 with self.assertRaises(PythonRuntimeException): 

15 import_cpp_class("MissingCppClass") 

16 

17 def test_missing_cpp_default(self): 

18 os.environ.pop("ZSERIO_PYTHON_IMPLEMENTATION") 

19 self.assertIsNone(import_cpp_class("MissingCppClass")) 

20 

21 def test_missing_cpp_python(self): 

22 os.environ["ZSERIO_PYTHON_IMPLEMENTATION"] = "python" 

23 self.assertIsNone(import_cpp_class("MissingCppClass")) 

24 

25 def test_missing_cpp_cpp(self): 

26 os.environ["ZSERIO_PYTHON_IMPLEMENTATION"] = "cpp" 

27 with self.assertRaises(PythonRuntimeException): 

28 import_cpp_class("MissingCppClass")