/[escript]/branches/domexper/dudley/test/python/fixme_run_generators.py
ViewVC logotype

Contents of /branches/domexper/dudley/test/python/fixme_run_generators.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1455 - (show annotations)
Thu Feb 28 17:19:44 2008 UTC (11 years, 9 months ago) by phornby
Original Path: trunk/finley/test/python/run_generators.py
File MIME type: text/x-python
File size: 18616 byte(s)
Merge of branches/windows_from_1431_trunk.

Revamp of the exception system.
Fix unused vars and signed/unsigned comparisons.
defined a macro THROW(ARG) in the system_dep.h's to
deal with the expectations of declarations on different architectures.

Details in the logs of branches/windows_from_1431_trunk.

pre-merge snapshot of the trunk in tags/trunk_at_1452


1 #
2 # $Id$
3 #
4 #######################################################
5 #
6 # Copyright 2003-2007 by ACceSS MNRF
7 # Copyright 2007 by University of Queensland
8 #
9 # http://esscc.uq.edu.au
10 # Primary Business: Queensland, Australia
11 # Licensed under the Open Software License version 3.0
12 # http://www.opensource.org/licenses/osl-3.0.php
13 #
14 #######################################################
15 #
16
17 """
18 checks the mesh generators against the reference meshes in test_meshes and test the finley integration schemes.
19 """
20
21 __copyright__=""" Copyright (c) 2006 by ACcESS MNRF
22 http://www.access.edu.au
23 Primary Business: Queensland, Australia"""
24 __license__="""Licensed under the Open Software License version 3.0
25 http://www.opensource.org/licenses/osl-3.0.php"""
26
27 import sys
28 import os
29 import unittest
30 from esys.escript import *
31 from esys.finley import Rectangle,Brick,JoinFaces, ReadGmsh, ReadMesh
32
33 try:
34 FINLEY_TEST_DATA=os.environ['FINLEY_TEST_DATA']
35 except KeyError:
36 FINLEY_TEST_DATA='.'
37
38 try:
39 FINLEY_WORKDIR=os.environ['FINLEY_WORKDIR']
40 except KeyError:
41 FINLEY_WORKDIR='.'
42
43 FINLEY_TEST_MESH_PATH=FINLEY_TEST_DATA+"/data_meshes/"
44 #if os.name == "nt":
45 # FINLEY_TEST_MESH_PATH = FINLEY_TEST_MESH_PATH+"win32/"
46 FINLEY_WORKDIR_PATH=FINLEY_WORKDIR+"/"
47
48 TEST_FILE_EXT=".test"
49 class Test_Generators(unittest.TestCase):
50
51 def checker(self,dom,reference):
52 dom_file=FINLEY_WORKDIR_PATH+TEST_FILE_EXT
53 dom.write(dom_file)
54 # Uncomment this section to dump the files for regression testing
55 # if True:
56 # dom.write(FINLEY_TEST_MESH_PATH+reference)
57 dom_string=open(dom_file).read().splitlines()
58 ref_string=open(FINLEY_TEST_MESH_PATH+reference).read().splitlines()
59 self.failUnlessEqual(len(dom_string),len(ref_string),"number of lines in mesh files does not match reference")
60 for l in range(1,len(ref_string)):
61 line=dom_string[l].strip()
62 if os.name == "nt":
63 line=line.replace("e+00","e+0").replace("e-00","e-0")
64 self.failUnlessEqual(line,ref_string[l].strip(),"line %d (%s) in mesh files does not match reference (%s)"%(l,ref_string[l].strip(),line))
65
66 def test_hex_2D_order1(self):
67 file="hex_2D_order1.msh"
68 my_dom=Rectangle(1,1,1)
69 self.checker(my_dom,file)
70
71 def test_hex_2D_order1_onFace(self):
72 file="hex_2D_order1_onFace.msh"
73 my_dom=Rectangle(1,1,1,useElementsOnFace=1)
74 self.checker(my_dom,file)
75
76 def test_hex_2D_order2(self):
77 file="hex_2D_order2.msh"
78 my_dom=Rectangle(1,1,2)
79 self.checker(my_dom,file)
80
81 def test_hex_2D_order2_onFace(self):
82 file="hex_2D_order2_onFace.msh"
83 my_dom=Rectangle(1,1,2,useElementsOnFace=1)
84 self.checker(my_dom,file)
85
86 def test_hex_3D_order1(self):
87 file="hex_3D_order1.msh"
88 my_dom=Brick(1,1,1,1)
89 self.checker(my_dom,file)
90
91 def test_hex_3D_order1_onFace(self):
92 file="hex_3D_order1_onFace.msh"
93 my_dom=Brick(1,1,1,1,useElementsOnFace=1)
94 self.checker(my_dom,file)
95
96 def test_hex_3D_order2(self):
97 file="hex_3D_order2.msh"
98 my_dom=Brick(1,1,1,2)
99 self.checker(my_dom,file)
100
101 def test_hex_3D_order2_onFace(self):
102 file="hex_3D_order2_onFace.msh"
103 my_dom=Brick(1,1,1,2,useElementsOnFace=1)
104 self.checker(my_dom,file)
105
106 def test_hex_contact_2D_order1(self):
107 file="hex_contact_2D_order1.msh"
108 ms1=Rectangle(1,1,1,l1=0.5,useElementsOnFace=False)
109 ms2=Rectangle(1,1,1,l1=0.5,useElementsOnFace=False)
110 ms2.setX(ms2.getX()+[0,0.5])
111 my_dom=JoinFaces([ms1,ms2],optimize=False)
112 self.checker(my_dom,file)
113
114 def test_hex_contact_2D_order1_onFace(self):
115 file="hex_contact_2D_order1_onFace.msh"
116 ms1=Rectangle(1,1,1,l1=0.5,useElementsOnFace=True)
117 ms2=Rectangle(1,1,1,l1=0.5,useElementsOnFace=True)
118 ms2.setX(ms2.getX()+[0,0.5])
119 my_dom=JoinFaces([ms1,ms2],optimize=False)
120 self.checker(my_dom,file)
121
122 def test_hex_contact_2D_order2(self):
123 file="hex_contact_2D_order2.msh"
124 ms1=Rectangle(1,1,2,l1=0.5,useElementsOnFace=False)
125 ms2=Rectangle(1,1,2,l1=0.5,useElementsOnFace=False)
126 ms2.setX(ms2.getX()+[0,0.5])
127 my_dom=JoinFaces([ms1,ms2],optimize=False)
128 self.checker(my_dom,file)
129
130 def test_hex_contact_2D_order2_onFace(self):
131 file="hex_contact_2D_order2_onFace.msh"
132 ms1=Rectangle(1,1,2,l1=0.5,useElementsOnFace=True)
133 ms2=Rectangle(1,1,2,l1=0.5,useElementsOnFace=True)
134 ms2.setX(ms2.getX()+[0,0.5])
135 my_dom=JoinFaces([ms1,ms2],optimize=False)
136 self.checker(my_dom,file)
137
138 def test_hex_contact_3D_order1(self):
139 file="hex_contact_3D_order1.msh"
140 ms1=Brick(1,1,1,1,l2=0.5,useElementsOnFace=False)
141 ms2=Brick(1,1,1,1,l2=0.5,useElementsOnFace=False)
142 ms2.setX(ms2.getX()+[0,0,0.5])
143 my_dom=JoinFaces([ms1,ms2],optimize=False)
144 self.checker(my_dom,file)
145
146 def test_hex_contact_3D_order1_onFace(self):
147 file="hex_contact_3D_order1_onFace.msh"
148 ms1=Brick(1,1,1,1,l2=0.5,useElementsOnFace=True)
149 ms2=Brick(1,1,1,1,l2=0.5,useElementsOnFace=True)
150 ms2.setX(ms2.getX()+[0,0,0.5])
151 my_dom=JoinFaces([ms1,ms2],optimize=False)
152 self.checker(my_dom,file)
153
154 def test_hex_contact_3D_order2(self):
155 file="hex_contact_3D_order2.msh"
156 ms1=Brick(1,1,1,2,l2=0.5,useElementsOnFace=False)
157 ms2=Brick(1,1,1,2,l2=0.5,useElementsOnFace=False)
158 ms2.setX(ms2.getX()+[0,0,0.5])
159 my_dom=JoinFaces([ms1,ms2],optimize=False)
160 self.checker(my_dom,file)
161
162 def test_hex_contact_3D_order2_onFace(self):
163 file="hex_contact_3D_order2_onFace.msh"
164 ms1=Brick(1,1,1,2,l2=0.5,useElementsOnFace=True)
165 ms2=Brick(1,1,1,2,l2=0.5,useElementsOnFace=True)
166 ms2.setX(ms2.getX()+[0,0,0.5])
167 my_dom=JoinFaces([ms1,ms2],optimize=False)
168 self.checker(my_dom,file)
169
170 class Test_GMSHReader(unittest.TestCase):
171 def compare(self, test_file, reference_file):
172 dom_string=open(test_file).read().splitlines()
173 ref_string=open(reference_file).read().splitlines()
174 self.failUnlessEqual(len(dom_string),len(ref_string),"number of lines in mesh files does not match reference")
175 for l in range(1,len(ref_string)):
176 line=dom_string[l].strip()
177 if os.name == "nt":
178 line=line.replace("e+00","e+0").replace("e-00","e-0")
179 self.failUnlessEqual(line,ref_string[l].strip(),"line %d (%s) in mesh files does not match reference (%s)"%(l,ref_string[l].strip(),line))
180
181 def test_Tri3(self):
182 file="tri3_gmsh.msh"
183 ref ="tri3.fly"
184 test = FINLEY_WORKDIR+os.sep+"tri3_test.fly"
185 dom = ReadGmsh(FINLEY_TEST_MESH_PATH+os.sep+file,2,optimize=False)
186 dom.write(test)
187 self.compare(test, FINLEY_TEST_MESH_PATH+os.sep+ref)
188
189 def test_Tri6(self):
190 file="tri6_gmsh.msh"
191 ref="tri6.fly"
192 test = FINLEY_WORKDIR+os.sep+"tri8_test.fly"
193 dom = ReadGmsh(FINLEY_TEST_MESH_PATH+os.sep+file,2,optimize=False)
194 dom.write(test)
195 self.compare(test, FINLEY_TEST_MESH_PATH+os.sep+ref)
196
197 def test_Tet4(self):
198 file="tet4_gmsh.msh"
199 ref="tet4.fly"
200 test = FINLEY_WORKDIR+os.sep+"tet4_test.fly"
201 dom = ReadGmsh(FINLEY_TEST_MESH_PATH+os.sep+file,3,optimize=False)
202 dom.write(test)
203 self.compare(test, FINLEY_TEST_MESH_PATH+os.sep+ref)
204
205 def test_Tet10(self):
206 file="tet10_gmsh.msh"
207 ref="tet10.fly"
208 test = FINLEY_WORKDIR+os.sep+"tet10_test.fly"
209 dom = ReadGmsh(FINLEY_TEST_MESH_PATH+os.sep+file,3,optimize=False)
210 dom.write(test)
211 self.compare(test, FINLEY_TEST_MESH_PATH+os.sep+ref)
212
213 class Test_Reader(unittest.TestCase):
214 def test_ReadWriteTagNames(self):
215 file="hex_2D_order2.msh"
216 test = FINLEY_WORKDIR+os.sep+"test.fly"
217 dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+file,3,optimize=False)
218 insertTagNames(dom,A=1,B=2)
219 dom.write(test)
220 dom2 = ReadMesh(test,3,optimize=False)
221 t=getTagNames(dom)
222 self.failUnless(len(t)==6)
223 self.failUnless("A" in t)
224 self.failUnless("B" in t)
225 self.failUnless(dom2.getTag("A") == 1)
226 self.failUnless(dom2.getTag("B") == 2)
227 self.failUnless(dom2.isValidTagName("A"))
228 self.failUnless(dom2.isValidTagName("B"))
229
230 class Test_Integration(unittest.TestCase):
231 TOL=EPSILON*100.
232 def __test_2DQ(self,dom,order):
233 x=Function(dom).getX()
234 x_bound=FunctionOnBoundary(dom).getX()
235 for i in xrange(order+1):
236 for j in xrange(order+1):
237 res=integrate(x[0]**i*x[1]**j)
238 ref=1./((i+1)*(j+1))
239 error=abs(res-ref)/abs(ref)
240 self.failUnless(error<=self.TOL,"integration for order (%s,%s) failed. True value = %s, calculated = %s"%(i,j,ref,res))
241
242 res=integrate(x_bound[0]**i*x_bound[1]**j)
243 ref=0
244 if i == 0:
245 ref += 2./(j+1)
246 else:
247 ref += 1./(j+1)
248 if j == 0:
249 ref += 2./(i+1)
250 else:
251 ref += 1./(i+1)
252 error=abs(res-ref)/abs(ref)
253 self.failUnless(error<=self.TOL,"surface integration for order (%s,%s) failed. True value = %s, calculated = %s"%(i,j,ref,res))
254
255 def __test_2DT(self,dom,order,raise_tol=1.):
256 x=Function(dom).getX()
257 x_bound=FunctionOnBoundary(dom).getX()
258 for i in xrange(order+1):
259 for j in xrange(order+1):
260 if i+j<=order:
261 res=integrate(x[0]**i*x[1]**j)
262 ref=1./((i+1)*(j+1))
263 error=abs(res-ref)/abs(ref)
264 # print order,error
265 self.failUnless(error<=self.TOL*raise_tol,"integration for order (%s,%s) failed. True value = %s, calculated = %s"%(i,j,ref,res))
266
267 res=integrate(x_bound[0]**i*x_bound[1]**j)
268 ref=0
269 if i == 0:
270 ref += 2./(j+1)
271 else:
272 ref += 1./(j+1)
273 if j == 0:
274 ref += 2./(i+1)
275 else:
276 ref += 1./(i+1)
277 error=abs(res-ref)/abs(ref)
278 self.failUnless(error<=self.TOL*raise_tol,"surface integration for order (%s,%s) failed. True value = %s, calculated = %s"%(i,j,ref,res))
279
280
281 def __test_3DQ(self,dom,order):
282 x=Function(dom).getX()
283 x_bound=FunctionOnBoundary(dom).getX()
284 for i in xrange(order+1):
285 for j in xrange(order+1):
286 for k in xrange(order+1):
287 res=integrate(x[0]**i*x[1]**j*x[2]**k)
288 ref=1./((i+1)*(j+1)*(k+1))
289 error=abs(res-ref)/abs(ref)
290 self.failUnless(error<=self.TOL,"integration for order (%s,%s,%s) failed. True value = %s, calculated = %s"%(i,j,k,ref,res))
291
292 res=integrate(x_bound[0]**i*x_bound[1]**j*x_bound[2]**k)
293 ref=0
294 if i == 0:
295 ref += 2./((j+1)*(k+1))
296 else:
297 ref += 1./((j+1)*(k+1))
298 if j == 0:
299 ref += 2./((i+1)*(k+1))
300 else:
301 ref += 1./((i+1)*(k+1))
302 if k == 0:
303 ref += 2./((i+1)*(j+1))
304 else:
305 ref += 1./((i+1)*(j+1))
306 error=abs(res-ref)/abs(ref)
307 self.failUnless(error<=self.TOL,"surface integration for order (%s,%s,%s) failed. True value = %s, calculated = %s"%(i,j,k,ref,res))
308
309 def __test_3DT(self,dom,order,raise_tol=1.):
310 x=Function(dom).getX()
311 x_bound=FunctionOnBoundary(dom).getX()
312 for i in xrange(order+1):
313 for j in xrange(order+1):
314 for k in xrange(order+1):
315 if i+j+k<=order:
316 res=integrate(x[0]**i*x[1]**j*x[2]**k)
317 ref=1./((i+1)*(j+1)*(k+1))
318 error=abs(res-ref)/abs(ref)
319 self.failUnless(error<=self.TOL*raise_tol,"integration for order (%s,%s,%s) failed. True value = %s, calculated = %s"%(i,j,k,ref,res))
320
321 res=integrate(x_bound[0]**i*x_bound[1]**j*x_bound[2]**k)
322 ref=0
323 if i == 0:
324 ref += 2./((j+1)*(k+1))
325 else:
326 ref += 1./((j+1)*(k+1))
327 if j == 0:
328 ref += 2./((i+1)*(k+1))
329 else:
330 ref += 1./((i+1)*(k+1))
331 if k == 0:
332 ref += 2./((i+1)*(j+1))
333 else:
334 ref += 1./((i+1)*(j+1))
335 error=abs(res-ref)/abs(ref)
336 self.failUnless(error<=self.TOL*raise_tol,"surface integration for order (%s,%s,%s) failed. True value = %s, calculated = %s"%(i,j,k,ref,res))
337
338 def test_hex2D_order1(self):
339 my_dom=Rectangle(1,1,integrationOrder=1)
340 self.__test_2DQ(my_dom,1)
341 def test_hex2D_order2(self):
342 my_dom=Rectangle(1,1,integrationOrder=2)
343 self.__test_2DQ(my_dom,2)
344 def test_hex2D_order3(self):
345 my_dom=Rectangle(1,1,integrationOrder=3)
346 self.__test_2DQ(my_dom,3)
347 def test_hex2D_order4(self):
348 my_dom=Rectangle(1,1,integrationOrder=4)
349 self.__test_2DQ(my_dom,4)
350 def test_hex2D_order5(self):
351 my_dom=Rectangle(1,1,integrationOrder=5)
352 self.__test_2DQ(my_dom,5)
353 def test_hex2D_order6(self):
354 my_dom=Rectangle(1,1,integrationOrder=6)
355 self.__test_2DQ(my_dom,6)
356 def test_hex2D_order7(self):
357 my_dom=Rectangle(1,1,integrationOrder=7)
358 self.__test_2DQ(my_dom,7)
359 def test_hex2D_order8(self):
360 my_dom=Rectangle(1,1,integrationOrder=8)
361 self.__test_2DQ(my_dom,8)
362 def test_hex2D_order9(self):
363 my_dom=Rectangle(1,1,integrationOrder=9)
364 self.__test_2DQ(my_dom,9)
365 def test_hex2D_order10(self):
366 my_dom=Rectangle(1,1,integrationOrder=10)
367 self.__test_2DQ(my_dom,10)
368
369 def test_Tet2D_order1(self):
370 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=1)
371 self.__test_2DT(my_dom,1)
372 def test_Tet2D_order2(self):
373 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=2)
374 self.__test_2DT(my_dom,2)
375 def test_Tet2D_order3(self):
376 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=3)
377 self.__test_2DT(my_dom,3)
378 def test_Tet2D_order4(self):
379 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=4)
380 self.__test_2DT(my_dom,4)
381 def test_Tet2D_order5(self):
382 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=5)
383 self.__test_2DT(my_dom,5)
384 def test_Tet2D_order6(self):
385 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=6)
386 self.__test_2DT(my_dom,6)
387 def test_Tet2D_order7(self):
388 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=7)
389 self.__test_2DT(my_dom,7)
390 def test_Tet2D_order8(self):
391 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=8)
392 self.__test_2DT(my_dom,8,1./sqrt(EPSILON))
393 def test_Tet2D_order9(self):
394 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=9)
395 self.__test_2DT(my_dom,9,1./sqrt(EPSILON))
396 def test_Tet2D_order10(self):
397 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tri3.fly",optimize=False,integrationOrder=10)
398 self.__test_2DT(my_dom,10)
399
400 def test_hex3D_order1(self):
401 my_dom=Brick(1,1,1,integrationOrder=1)
402 self.__test_3DQ(my_dom,1)
403 def test_hex3D_order2(self):
404 my_dom=Brick(1,1,1,integrationOrder=2)
405 self.__test_3DQ(my_dom,2)
406 def test_hex3D_order3(self):
407 my_dom=Brick(1,1,1,integrationOrder=3)
408 self.__test_3DQ(my_dom,3)
409 def test_hex3D_order4(self):
410 my_dom=Brick(1,1,1,integrationOrder=4)
411 self.__test_3DQ(my_dom,4)
412 def test_hex3D_order5(self):
413 my_dom=Brick(1,1,1,integrationOrder=5)
414 self.__test_3DQ(my_dom,5)
415 def test_hex3D_order6(self):
416 my_dom=Brick(1,1,1,integrationOrder=6)
417 self.__test_3DQ(my_dom,6)
418 def test_hex3D_order7(self):
419 my_dom=Brick(1,1,1,integrationOrder=7)
420 self.__test_3DQ(my_dom,7)
421 def test_hex3D_order8(self):
422 my_dom=Brick(1,1,1,integrationOrder=8)
423 self.__test_3DQ(my_dom,8)
424 def test_hex3D_order9(self):
425 my_dom=Brick(1,1,1,integrationOrder=9)
426 self.__test_3DQ(my_dom,9)
427 def test_hex3D_order10(self):
428 my_dom=Brick(1,1,1,integrationOrder=10)
429 self.__test_3DQ(my_dom,10)
430
431 def test_Tet3D_order1(self):
432 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=1)
433 self.__test_3DT(my_dom,1)
434 def test_Tet3D_order2(self):
435 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=2)
436 self.__test_3DT(my_dom,2)
437 def test_Tet3D_order3(self):
438 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=3)
439 self.__test_3DT(my_dom,3)
440 def test_Tet3D_order4(self):
441 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=4)
442 self.__test_3DT(my_dom,4)
443 def test_Tet3D_order5(self):
444 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=5)
445 self.__test_3DT(my_dom,5)
446 def test_Tet3D_order6(self):
447 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=6)
448 self.__test_3DT(my_dom,6,1./sqrt(EPSILON))
449 def test_Tet3D_order7(self):
450 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=7)
451 self.__test_3DT(my_dom,7,1./sqrt(EPSILON))
452 def test_Tet3D_order8(self):
453 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=8)
454 self.__test_3DT(my_dom,8,1./sqrt(EPSILON))
455 def test_Tet3D_order9(self):
456 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=9)
457 self.__test_3DT(my_dom,9,1./sqrt(EPSILON))
458 def test_Tet3D_order10(self):
459 my_dom = ReadMesh(FINLEY_TEST_MESH_PATH+os.sep+"tet4.fly",optimize=False,integrationOrder=10)
460 self.__test_3DT(my_dom,10)
461
462 if __name__ == '__main__':
463 suite = unittest.TestSuite()
464 suite.addTest(unittest.makeSuite(Test_Generators))
465 suite.addTest(unittest.makeSuite(Test_GMSHReader))
466 suite.addTest(unittest.makeSuite(Test_Reader))
467 suite.addTest(unittest.makeSuite(Test_Integration))
468 s=unittest.TextTestRunner(verbosity=2).run(suite)
469 if not s.wasSuccessful(): sys.exit(1)
470

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26