/[escript]/trunk/escript/test/python/test_modulefns.py
ViewVC logotype

Contents of /trunk/escript/test/python/test_modulefns.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2607 - (show annotations)
Tue Aug 18 01:02:56 2009 UTC (10 years, 1 month ago) by jfenwick
File MIME type: text/x-python
File size: 2165 byte(s)
Added getMPIWorldSum function to the esys.escript module.
This function takes an integer from each member of the MPIWorld.
This will hopefully address mantis issue 359

Added unit tests for most of the c++ free functions in the module.



1
2 ########################################################
3 #
4 # Copyright (c) 2009 by University of Queensland
5 # Earth Systems Science Computational Center (ESSCC)
6 # http://www.uq.edu.au/esscc
7 #
8 # Primary Business: Queensland, Australia
9 # Licensed under the Open Software License version 3.0
10 # http://www.opensource.org/licenses/osl-3.0.php
11 #
12 ########################################################
13
14 __copyright__="""Copyright (c) 2009 by University of Queensland
15 Earth Systems Science Computational Center (ESSCC)
16 http://www.uq.edu.au/esscc
17 Primary Business: Queensland, Australia"""
18 __license__="""Licensed under the Open Software License version 3.0
19 http://www.opensource.org/licenses/osl-3.0.php"""
20 __url__="https://launchpad.net/escript-finley"
21
22 import unittest
23 import esys.escript
24 import sys
25
26 #Just because we are unit testing these functions does not mean we encourage their use.
27 #In many cases these tests are merely testing if the call works, not if it does what
28 #you might expect
29
30 class ModuleFnsTestCase(unittest.TestCase):
31
32 def setUp(self):
33 pass
34
35 def testGlobalMax(self):
36 r=esys.escript.getMPIRankWorld()
37 self.assertEqual(esys.escript.getMPISizeWorld()-1,esys.escript.getMPIWorldMax(r))
38
39
40 def testGlobalSum(self):
41 r=esys.escript.getMPIRankWorld()
42 s=esys.escript.getMPISizeWorld()
43 total=s/2.0*(1+s)-s
44 self.assertEqual(total,esys.escript.getMPIWorldSum(r))
45
46 def testgetMachinePrecision(self):
47 if esys.escript.getMachinePrecision()>1: #Arbitrary value
48 self.fail("Machine precision is not sensible")
49
50 def testMPIBarrier(self):
51 esys.escript.MPIBarrierWorld()
52
53 def testgetMaxFloat(self):
54 self.assertTrue(esys.escript.getMaxFloat()>1) #Arbitrary value
55
56 def testprintParallelThreadCounts(self):
57 esys.escript.printParallelThreadCounts()
58
59 def testgetNumberOfThreads(self):
60 self.assertTrue(esys.escript.getNumberOfThreads()>=1)
61
62
63 def testgetSvnVersion(self):
64 esys.escript.getVersion()
65
66 if __name__ == "__main__":
67 suite = unittest.TestSuite()
68 suite.addTest(unittest.makeSuite(ModuleFnsTestCase))
69 s=unittest.TextTestRunner(verbosity=2).run(suite)
70 if not s.wasSuccessful(): sys.exit(1)

  ViewVC Help
Powered by ViewVC 1.1.26