1 |
#!/bin/bash |
2 |
|
3 |
# $Id: autotest-scons 162 2005-11-11 00:09:59Z svn $ |
4 |
# An explicit testing script for esys using the scons build system |
5 |
|
6 |
# list of users to email test results to |
7 |
MAIL_RECIPIENTS="gross@esscc.uq.edu.au elspeth@esscc.uq.edu.au matt@esscc.uq.edu.au robert.woodcock@csiro.au Peter.Hornby@csiro.au" |
8 |
|
9 |
# the python tests to run |
10 |
BRUCE_PYTESTS="ImportTest.passed BruceTest.passed test_utilOnBruce.py" |
11 |
ESCRIPT_PYTESTS="ImportTest.passed BinaryOps.passed UnaryOps.passed SliceGetting.passed SliceSetting.passed MiscTests.passed ArchiveTests.passed newEscriptTests.passed test_xml.passed insituTests.passed s2.passed" |
12 |
FINLEY_PYTESTS="ImportTest.passed finleyTest.passed SimpleSolve.passed RecTest.passed test_linearPDEsOnFinley.passed test_generators.passed test_visualization_interface.passed test_utilOnFinley.passed" |
13 |
|
14 |
echo "===> cd $1" |
15 |
cd $1 |
16 |
if [ $? != 0 ] |
17 |
then |
18 |
echo "couldnt cd $1" |
19 |
echo "couldnt cd $1" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
20 |
exit 1 |
21 |
fi |
22 |
|
23 |
PWD=`pwd` |
24 |
echo "===> working in: $PWD" |
25 |
|
26 |
# Setup the environment |
27 |
. ${MODULESHOME}/init/sh |
28 |
module load intel_cc.9.0.026 |
29 |
export MODULEPATH=${MODULEPATH}:/data/raid2/toolspp4/modulefiles/gcc-3.3.6 |
30 |
module load boost/1.33.0/python-2.4.1 |
31 |
module load python/2.4.1 |
32 |
module load numarray/1.3.3 |
33 |
|
34 |
# set openmp settings |
35 |
export OMP_SCHEDULE="dynamic" |
36 |
export OMP_NUM_THREADS=4 |
37 |
export OMP_DYNAMIC=TRUE |
38 |
export OMP_NESTED=FALSE |
39 |
|
40 |
echo "===> svn update" |
41 |
svn update |
42 |
if [ $? != 0 ] |
43 |
then |
44 |
echo "svn update failed" |
45 |
echo "svn update failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
46 |
exit 2 |
47 |
fi |
48 |
|
49 |
echo "===> scons building esys" |
50 |
scons |
51 |
if [ $? != 0 ] |
52 |
then |
53 |
echo "scons build failed" |
54 |
echo "scons build failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
55 |
exit 3 |
56 |
fi |
57 |
|
58 |
echo "===> building unit_tests" |
59 |
scons build_tests |
60 |
if [ $? != 0 ] |
61 |
then |
62 |
echo "unit_test build failed" |
63 |
echo "unit_test build failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
64 |
exit 3 |
65 |
fi |
66 |
|
67 |
FAIL=0 |
68 |
|
69 |
echo "===> running unit_tests" |
70 |
scons run_tests |
71 |
if [ $? != 0 ] |
72 |
then |
73 |
echo "unit_testing failed" |
74 |
echo "unit_test failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
75 |
FAIL=1 |
76 |
fi |
77 |
|
78 |
for pytest in $ESCRIPT_PYTESTS |
79 |
do |
80 |
echo "===>running escript python test: $pytest" |
81 |
scons build/posix/escript/test/python/$pytest |
82 |
if [ $? != 0 ] |
83 |
then |
84 |
echo "python testing failed for $pytest in module $module" |
85 |
echo "escript py_test: $pytest failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
86 |
FAIL=1 |
87 |
fi |
88 |
done |
89 |
|
90 |
for pytest in $FINLEY_PYTESTS |
91 |
do |
92 |
echo "running finley python test: $pytest" |
93 |
scons build/posix/finley/test/python/$pytest |
94 |
if [ $? != 0 ] |
95 |
then |
96 |
echo "python testing failed for $pytest in module $module" |
97 |
echo "finley py_test: $pytest failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
98 |
FAIL=1 |
99 |
fi |
100 |
done |
101 |
|
102 |
for pytest in $BRUCE_PYTESTS |
103 |
do |
104 |
echo "running bruce python test: $pytest" |
105 |
scons build/posix/bruce/test/python/$pytest |
106 |
if [ $? != 0 ] |
107 |
then |
108 |
echo "python testing failed for $pytest in module $module" |
109 |
echo "bruce py_test: $pytest failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
110 |
FAIL=1 |
111 |
fi |
112 |
done |
113 |
|
114 |
if [ $FAIL == 0 ] |
115 |
then |
116 |
echo success |
117 |
echo "success" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
118 |
fi |
119 |
exit 0 |