Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
48e769650f04fcf449956b48469f84d26ee0c917
[simgrid.git] / tools / jenkins / DynamicAnalysis.sh
1 #!/bin/sh
2
3 set -e
4
5 die() {
6     echo "$@"
7     exit 1
8 }
9
10 do_cleanup() {
11   for d in "$WORKSPACE/build" "$WORKSPACE/memcheck"
12   do
13     if [ -d "$d" ]
14     then
15       rm -rf "$d" || die "Could not remote $d"
16     fi
17   done
18   find $WORKSPACE -name "memcheck_test_*.memcheck" -exec rm {} \;
19 }
20
21 ### Check the node installation
22
23 for pkg in xsltproc valgrind 
24 do
25    if dpkg -l |grep -q $pkg 
26    then 
27       echo "$pkg is installed. Good."
28    else 
29       die "please install $pkg before proceeding" 
30    fi
31 done
32
33 if [ -e /usr/local/gcovr-3.1/scripts/gcovr ] 
34 then
35   echo "gcovr is installed, good."
36 else
37   die "Please install /usr/local/gcovr-3.1/scripts/gcovr"
38 fi
39
40 ### Cleanup previous runs
41
42 ! [ -z "$WORKSPACE" ] || die "No WORKSPACE"
43 [ -d "$WORKSPACE" ] || die "WORKSPACE ($WORKSPACE) does not exist"
44
45 do_cleanup
46
47 for d in "$WORKSPACE/build" "$WORKSPACE/memcheck"
48 do
49   mkdir "$d" || die "Could not create $d"
50 done
51
52 cd $WORKSPACE/build
53
54 ### Proceed with the tests
55 ctest -D ExperimentalStart || true
56
57 cmake -Denable_documentation=OFF -Denable_lua=OFF -Denable_tracing=ON \
58       -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON \
59       -Denable_latency_bound_tracking=OFF -Denable_jedule=OFF -Denable_mallocators=OFF \
60       -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF -Denable_model-checking=OFF \
61       -Denable_memcheck_xml=ON $WORKSPACE
62
63 ctest -D ExperimentalBuild -V
64 ctest -D ExperimentalMemCheck || true
65
66 cd $WORKSPACE/build
67 if [ -f Testing/TAG ] ; then
68    find . -iname "*.memcheck" -exec mv {} $WORKSPACE/memcheck \;
69    mv Testing/`head -n 1 < Testing/TAG`/DynamicAnalysis.xml  $WORKSPACE
70 fi
71
72 make clean
73 ctest -D ExperimentalStart || true
74
75 cmake -Denable_documentation=OFF -Denable_lua=ON -Denable_java=ON -Denable_tracing=ON \
76       -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON \
77       -Denable_latency_bound_tracking=ON -Denable_jedule=ON -Denable_mallocators=ON \
78       -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_model-checking=ON \
79       -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_smpi_ISP_testsuite=ON -Denable_coverage=ON $WORKSPACE
80
81 ctest -D ExperimentalBuild -V
82 ctest -D ExperimentalTest || true
83 ctest -D ExperimentalCoverage || true
84
85 if [ -f Testing/TAG ] ; then
86    /usr/local/gcovr-3.1/scripts/gcovr -r .. --xml-pretty -e teshsuite.* -u -o $WORKSPACE/xml_coverage.xml
87    xsltproc $WORKSPACE/tools/jenkins/ctest2junit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > CTestResults_memcheck.xml
88    mv CTestResults_memcheck.xml $WORKSPACE
89 fi