X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/49637c6fbea1f5e16060fcceb844a637f50869ed..a2cf3a7cbbc69e69e7c18c7168c7bb2396122cd1:/tools/jenkins/Coverage.sh diff --git a/tools/jenkins/Coverage.sh b/tools/jenkins/Coverage.sh index d40f9d090c..5055db7ae7 100755 --- a/tools/jenkins/Coverage.sh +++ b/tools/jenkins/Coverage.sh @@ -15,12 +15,11 @@ do_cleanup() { rm -rf "$d" || die "Could not remote $d" fi done - find $WORKSPACE -name "memcheck_test_*.memcheck" -exec rm {} \; } ### Check the node installation -for pkg in xsltproc gcovr +for pkg in xsltproc gcovr ant cover2cover.py do if command -v $pkg then @@ -42,6 +41,9 @@ do mkdir "$d" || die "Could not create $d" done +NUMPROC="$(nproc)" || NUMPROC=1 + + cd $WORKSPACE/build ctest -D ExperimentalStart || true @@ -52,11 +54,25 @@ cmake -Denable_documentation=OFF -Denable_lua=ON -Denable_java=ON \ -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_model-checking=ON \ -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_smpi_ISP_testsuite=ON -Denable_coverage=ON $WORKSPACE -ctest -D ExperimentalBuild -V -ctest -D ExperimentalTest -E liveness || true +make -j$NUMPROC +JACOCO_PATH="/usr/local/share/jacoco" +export JAVA_TOOL_OPTIONS="-javaagent:${JACOCO_PATH}/lib/jacocoagent.jar" + +ctest -D ExperimentalTest -j$NUMPROC || true ctest -D ExperimentalCoverage || true +unset JAVA_TOOL_OPTIONS +i=0 if [ -f Testing/TAG ] ; then + for example in app/bittorrent app/centralizedmutex app/masterworker app/pingpong app/tokenring async/yield async/waitall async/dsend cloud/migration cloud/masterworker dht/chord dht/kademlia energy/consumption energy/pstate energy/vm io/file io/storage process/kill process/migration process/startkilltime process/suspend task/priority trace/pingpong + do + #convert jacoco reports in xml ones + ant -f $WORKSPACE/tools/jenkins/jacoco.xml -Dsrcdir=$WORKSPACE/examples/java/${example} -Dbuilddir=$WORKSPACE/build/examples/java/${example} -Djacocodir=${JACOCO_PATH}/lib + #convert jacoco xml reports in cobertura xml reports + cover2cover.py $WORKSPACE/build/examples/java/${example}/report.xml $WORKSPACE/examples/java/ > $WORKSPACE/java_coverage_${i}.xml + i=$(($i + 1)) + done + #convert all gcov reports to xml cobertura reports gcovr -r .. --xml-pretty -e teshsuite.* -u -o $WORKSPACE/xml_coverage.xml xsltproc $WORKSPACE/tools/jenkins/ctest2junit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > CTestResults_memcheck.xml mv CTestResults_memcheck.xml $WORKSPACE