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__="http://www.uq.edu.au/esscc/escript-finley" |
21 |
|
22 |
import sys, os, time, glob, fnmatch, types, py_compile |
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 env['usempi']: app = env['mpi_run'] + ' ' + app |
36 |
print "Executing test: " + app |
37 |
if not env.Execute(app): |
38 |
open(str(target[0]),'w').write("PASSED\n") |
39 |
else: |
40 |
return 1 |
41 |
print "Test execution time: ", round(time.time() - time_start, 1), " seconds wall time for " + str(source[0].abspath) |
42 |
return None |
43 |
|
44 |
def runPyUnitTest(target, source, env): |
45 |
time_start = time.time() |
46 |
app = str(source[0].abspath) |
47 |
if env['usempi']: |
48 |
app = env['mpi_run'] +' lib/pythonMPI ' + app |
49 |
else: |
50 |
app = sys.executable + " " + app |
51 |
print "Executing test: " + app |
52 |
if env.Execute(app) == 0: |
53 |
open(str(target[0]),'w').write("PASSED\n") |
54 |
else: |
55 |
return 1 |
56 |
print "Test execution time: ", round(time.time() - time_start, 1), " seconds wall time for " + str(source[0].abspath) |
57 |
return None |
58 |
|