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="jgs@esscc.uq.edu.au gross@esscc.uq.edu.au elspeth@esscc.uq.edu.au matt@esscc.uq.edu.au" |
8 |
|
9 |
# the python tests to run |
10 |
BRUCE_PYTESTS="ImportTest.py BruceTest.py test_utilOnBruce.py" |
11 |
ESCRIPT_PYTESTS="ImportTest.py BinaryOps.py UnaryOps.py SliceGetting.py SliceSetting.py MiscTests.py ArchiveTests.py newEscriptTests.py test_xml.py insituTests.py s2.py" |
12 |
FINLEY_PYTESTS="ImportTest.py finleyTest.py SimpleSolve.py RecTest.py test_linearPDEsOnFinley.py test_generators.py test_visualization_interface.py test_utilOnFinley.py" |
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 |
# define compiler executable and library locations |
27 |
export PATH=/opt/intel/cmplrs/80.058/intel_cc_80/bin:$PATH |
28 |
export LD_LIBRARY_PATH=/opt/intel/cmplrs/80.058/intel_cc_80/lib |
29 |
|
30 |
# define python location |
31 |
export PATH=/raid2/tools/python-2.3.4/bin:$PATH |
32 |
|
33 |
# set library and python paths |
34 |
export LD_LIBRARY_PATH=$PWD/lib:/raid2/tools/boost/lib:$LD_LIBRARY_PATH |
35 |
export PYTHONPATH=$PWD |
36 |
|
37 |
# set openmp settings |
38 |
export OMP_SCHEDULE="dynamic" |
39 |
export OMP_NUM_THREADS=4 |
40 |
export OMP_DYNAMIC=TRUE |
41 |
export OMP_NESTED=FALSE |
42 |
|
43 |
echo "===> svn update" |
44 |
svn update |
45 |
if [ $? != 0 ] |
46 |
then |
47 |
echo "svn update failed" |
48 |
echo "svn update failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
49 |
exit 2 |
50 |
fi |
51 |
|
52 |
echo "===> scons building esys" |
53 |
scons |
54 |
if [ $? != 0 ] |
55 |
then |
56 |
echo "scons build failed" |
57 |
echo "scons build failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
58 |
exit 3 |
59 |
fi |
60 |
|
61 |
echo "===> building unit_tests" |
62 |
scons build_tests |
63 |
if [ $? != 0 ] |
64 |
then |
65 |
echo "unit_test build failed" |
66 |
echo "unit_test build failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
67 |
exit 3 |
68 |
fi |
69 |
|
70 |
FAIL=0 |
71 |
|
72 |
echo "===> running unit_tests" |
73 |
scons run_tests |
74 |
if [ $? != 0 ] |
75 |
then |
76 |
echo "unit_testing failed" |
77 |
echo "unit_test failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
78 |
FAIL=1 |
79 |
fi |
80 |
|
81 |
cd escript/test/python |
82 |
for pytest in $ESCRIPT_PYTESTS |
83 |
do |
84 |
echo "===>running escript python test: $pytest" |
85 |
python $pytest |
86 |
if [ $? != 0 ] |
87 |
then |
88 |
echo "python testing failed for $pytest in module $module" |
89 |
echo "escript py_test: $pytest failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
90 |
FAIL=1 |
91 |
fi |
92 |
done |
93 |
cd ../../.. |
94 |
|
95 |
cd finley/test/python |
96 |
for pytest in $FINLEY_PYTESTS |
97 |
do |
98 |
echo "running finley python test: $pytest" |
99 |
python $pytest |
100 |
if [ $? != 0 ] |
101 |
then |
102 |
echo "python testing failed for $pytest in module $module" |
103 |
echo "finley py_test: $pytest failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
104 |
FAIL=1 |
105 |
fi |
106 |
done |
107 |
cd ../../.. |
108 |
|
109 |
cd bruce/test/python |
110 |
for pytest in $BRUCE_PYTESTS |
111 |
do |
112 |
echo "running bruce python test: $pytest" |
113 |
python $pytest |
114 |
if [ $? != 0 ] |
115 |
then |
116 |
echo "python testing failed for $pytest in module $module" |
117 |
echo "bruce py_test: $pytest failed" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
118 |
FAIL=1 |
119 |
fi |
120 |
done |
121 |
cd ../../.. |
122 |
|
123 |
if [ $FAIL == 0 ] |
124 |
then |
125 |
echo success |
126 |
echo "success" | mail -s "esys autotest-scons results" $MAIL_RECIPIENTS |
127 |
fi |
128 |
exit 0 |