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