/[escript]/trunk/scons/scons_extensions.py
ViewVC logotype

Annotation of /trunk/scons/scons_extensions.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2548 - (hide annotations)
Mon Jul 20 06:20:06 2009 UTC (9 years, 11 months ago) by jfenwick
File MIME type: text/x-python
File size: 3032 byte(s)
Updating copyright notices
1 ksteube 1810
2     ########################################################
3     #
4 jfenwick 2548 # Copyright (c) 2003-2009 by University of Queensland
5 ksteube 1810 # 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) 2003-2008 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 jfenwick 2344 __url__="https://launchpad.net/escript-finley"
21 ksteube 1810
22 jfenwick 2388 import sys, os, time, glob, fnmatch, types, py_compile, re
23 elspeth 645
24 phornby 1233 from SCons.Script.SConscript import SConsEnvironment
25    
26 jgs 268 # Code to build .pyc from .py
27     def build_py(target, source, env):
28 phornby 1233 py_compile.compile(str(source[0]), str(target[0]))
29     return 0
30 jgs 297
31     # Code to run unit_test executables
32     def runUnitTest(target, source, env):
33 ksteube 1312 time_start = time.time()
34     app = str(source[0].abspath)
35 gross 2502 pn, sn= os.path.split(app)
36 gross 2363 if not os.name== "nt":
37 jfenwick 2506 app = "cd "+pn+"; "+os.path.join(env['bininstall'],"escript")+" -bv "+os.path.join('.',sn)
38 gross 2416 else:
39     if env['usempi']:
40 gross 2502 app = "cd %s | mpiexec -np %s -genvlist PYTHONPATH,OMP_NUM_THREADS,"\
41 gross 2423 "FINLEY_TEST_DATA,PYVISI_TEST_DATA_ROOT,PYVISI_WORKDIR,PATH %s"\
42 gross 2502 %(pn,env['ENV']['ESCRIPT_NUM_NODES'], sn)
43     else:
44     app = "cd "+ pn +" | "+ sn
45 ksteube 1312 print "Executing test: " + app
46     if not env.Execute(app):
47 jgs 297 open(str(target[0]),'w').write("PASSED\n")
48 ksteube 1312 else:
49     return 1
50     print "Test execution time: ", round(time.time() - time_start, 1), " seconds wall time for " + str(source[0].abspath)
51     return None
52 cochrane 370
53 robwdcock 682 def runPyUnitTest(target, source, env):
54 ksteube 1312 time_start = time.time()
55     app = str(source[0].abspath)
56 gross 2502 pn, sn= os.path.split(app)
57 gross 2363 if os.name== "nt":
58 gross 2416 if env['usempi']:
59 gross 2502 app = "cd %s | mpiexec -np %s -genvlist PYTHONPATH,OMP_NUM_THREADS,"\
60 gross 2423 "FINLEY_TEST_DATA,PYVISI_TEST_DATA_ROOT,PYVISI_WORKDIR,PATH %s\pythonMPIredirect.exe %s"\
61 gross 2502 %(pn,env['ENV']['ESCRIPT_NUM_NODES'],env['libinstall'],sn)
62 gross 2416 else:
63 gross 2502 app = "cd "+ pn +" | "+sys.executable + " " + sn
64 ksteube 1312 else:
65 gross 2502 app = "cd "+pn+"; "+os.path.join(env['bininstall'],"escript")+" -ov "+sn
66     print "Executing test: ",app
67 gross 1374 if env.Execute(app) == 0:
68 ksteube 1312 open(str(target[0]),'w').write("PASSED\n")
69     else:
70     return 1
71     print "Test execution time: ", round(time.time() - time_start, 1), " seconds wall time for " + str(source[0].abspath)
72     return None
73 phornby 1233
74 jfenwick 2387 def eps2pdf(target, source, env):
75     if env.Execute("epstopdf "+str(source[0].abspath)+" -o "+str(target[0].abspath))!=0:
76     return 1
77 jfenwick 2388 return None
78    
79     def effectiveName(inname):
80     m=re.compile("^r1i[0-9]{1,2}n[0-9]{1,2}$") # savanna names take the form r1i?n?
81     if m.match(inname):
82     return "service0"
83     return inname

  ViewVC Help
Powered by ViewVC 1.1.26