Coverage for test/integration/test_useage.py: 70%

23 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-03-12 17:09 +0000

1import subprocess 

2import sys 

3import unittest 

4from pathlib import Path 

5 

6 

7class TestUsage(unittest.TestCase): 

8 """Tests for general use of library""" 

9 

10 def test_import_mainlib(self): 

11 """Test importing bim2sim in python script""" 

12 try: 

13 import bim2sim 

14 except ImportError as err: 

15 self.fail("Unable to import bim2sim\nreason: %s"%(err)) 

16 except Exception as err: 

17 self.skipTest("bim2sim available but errors occured on " 

18 "import\ndetails: %s"%(err)) 

19 

20 def test_call_console(self): 

21 """Test calling bim2sim --version from console""" 

22 try: 

23 import bim2sim 

24 except ImportError: 

25 self.fail("Unable to localize bim2sim") 

26 path = Path(bim2sim.__file__).parent 

27 cmd = '"%s" %s --version' % (Path(sys.executable), 'bim2sim') 

28 ret = subprocess.run( 

29 cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, 

30 cwd=path.parent, shell=True) 

31 self.assertIn(bim2sim.__version__, ret.stdout.decode('utf-8'), 

32 'unexpected output') 

33 

34 # for some reason the error code is 1 but code runs as expected without errors ... 

35 # if ret.returncode != 0: 

36 # print(ret.stdout) 

37 # print(ret.stderr) 

38 # self.assertEqual(0, ret.returncode, "Calling '%s' by console failed" % cmd) 

39 

40 

41if __name__ == '__main__': 

42 unittest.main()