xref: /petsc/src/binding/petsc4py/test/test_sys.py (revision bef158480efac06de457f7a665168877ab3c2fd7)
1import unittest
2from petsc4py import PETSc
3
4# --------------------------------------------------------------------
5
6class TestVersion(unittest.TestCase):
7
8    def testGetVersion(self):
9        version = PETSc.Sys.getVersion()
10        self.assertTrue(version > (0, 0, 0))
11        v, date = PETSc.Sys.getVersion(date=True)
12        self.assertTrue(version == v)
13        self.assertTrue(isinstance(date, str))
14        v, author = PETSc.Sys.getVersion(author=True)
15        self.assertTrue(version == v)
16        self.assertTrue(isinstance(author, (list,tuple)))
17
18    def testGetVersionInfo(self):
19        version = PETSc.Sys.getVersion()
20        info = PETSc.Sys.getVersionInfo()
21        self.assertEqual(version,
22                         (info['major'],
23                          info['minor'],
24                          info['subminor'],))
25        self.assertTrue(isinstance(info['release'], bool))
26        v, date = PETSc.Sys.getVersion(date=True)
27        self.assertEqual(date, info['date'])
28
29    def testGetSetDefaultComm(self):
30        c = PETSc.Sys.getDefaultComm()
31        self.assertEqual(c, PETSc.COMM_WORLD)
32        PETSc.Sys.setDefaultComm(PETSc.COMM_SELF)
33        c = PETSc.Sys.getDefaultComm()
34        self.assertEqual(c, PETSc.COMM_SELF)
35        PETSc.Sys.setDefaultComm(PETSc.COMM_WORLD)
36        c = PETSc.Sys.getDefaultComm()
37        self.assertEqual(c, PETSc.COMM_WORLD)
38        f = lambda : PETSc.Sys.setDefaultComm(PETSc.COMM_NULL)
39        self.assertRaises(ValueError, f)
40
41# --------------------------------------------------------------------
42
43if __name__ == '__main__':
44    unittest.main()
45
46# --------------------------------------------------------------------
47