1 |
|
2 |
######################################################## |
3 |
# |
4 |
# Copyright (c) 2003-2008 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) 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 |
__url__="https://launchpad.net/escript-finley" |
21 |
|
22 |
import sys, os, time, glob, fnmatch, types, py_compile, re |
23 |
|
24 |
from SCons.Script.SConscript import SConsEnvironment |
25 |
|
26 |
# Code to build .pyc from .py |
27 |
def build_py(target, source, env): |
28 |
py_compile.compile(str(source[0]), str(target[0])) |
29 |
return 0 |
30 |
|
31 |
# Code to run unit_test executables |
32 |
def runUnitTest(target, source, env): |
33 |
time_start = time.time() |
34 |
app = str(source[0].abspath) |
35 |
if not os.name== "nt": |
36 |
app = os.path.join(env['bininstall'],"escript")+" -bv "+app |
37 |
print "Executing test: " + app |
38 |
if not env.Execute(app): |
39 |
open(str(target[0]),'w').write("PASSED\n") |
40 |
else: |
41 |
return 1 |
42 |
print "Test execution time: ", round(time.time() - time_start, 1), " seconds wall time for " + str(source[0].abspath) |
43 |
return None |
44 |
|
45 |
def runPyUnitTest(target, source, env): |
46 |
time_start = time.time() |
47 |
app = str(source[0].abspath) |
48 |
if os.name== "nt": |
49 |
app = sys.executable + " " + app |
50 |
else: |
51 |
app = os.path.join(env['bininstall'],"escript")+" -ov "+app |
52 |
print "Executing test: " + app |
53 |
if env.Execute(app) == 0: |
54 |
open(str(target[0]),'w').write("PASSED\n") |
55 |
else: |
56 |
return 1 |
57 |
print "Test execution time: ", round(time.time() - time_start, 1), " seconds wall time for " + str(source[0].abspath) |
58 |
return None |
59 |
|
60 |
def eps2pdf(target, source, env): |
61 |
if env.Execute("epstopdf "+str(source[0].abspath)+" -o "+str(target[0].abspath))!=0: |
62 |
return 1 |
63 |
return None |
64 |
|
65 |
def effectiveName(inname): |
66 |
m=re.compile("^r1i[0-9]{1,2}n[0-9]{1,2}$") # savanna names take the form r1i?n? |
67 |
if m.match(inname): |
68 |
return "service0" |
69 |
return inname |