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
« 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
7class TestUsage(unittest.TestCase):
8 """Tests for general use of library"""
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))
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')
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)
41if __name__ == '__main__':
42 unittest.main()