diff --git a/scripts/run.fractal.tree.tests.bash b/scripts/run.fractal.tree.tests.bash index b42a3d4dc2e84c08ad2522670f7e046e090c52e6..8a81bbec488456005fb654456bf831bf9ce8c86d 100755 --- a/scripts/run.fractal.tree.tests.bash +++ b/scripts/run.fractal.tree.tests.bash @@ -33,7 +33,7 @@ export TOKUDB_NAME=$tokudb_name productname=$tokudb_name -ftcc=icc +ftcc=g++47 BDBVERSION=5.3 ctest_model=Nightly commit=1 @@ -68,23 +68,8 @@ date=$(date +%Y%m%d) ncpus=$(grep bogomips /proc/cpuinfo | wc -l) njobs=$(echo "$ncpus / 3" | bc) -# setup intel compiler env -if [ $ftcc = icc ] ; then - d=/opt/intel/bin - if [ -d $d ] ; then - export PATH=$d:$PATH - . $d/compilervars.sh intel64 - fi - d=/opt/intel/cilkutil/bin - if [ -d $d ] ; then - export PATH=$d:$PATH - fi - export ftar=`which xiar` - export ftld=`which xild` -else - export ftar=`which ar` - export ftld=`which ld` -fi +export ftar=`which ar` +export ftld=`which ld` export GCCVERSION=$($ftcc --version|head -1|cut -f3 -d" ") @@ -156,91 +141,6 @@ function my_mktemp() { yesterday="$(date -u -d yesterday +%F) 03:59:00 +0000" -################################################################################ -## run tests on icc release build -resultsdir=$tracefilepfx-Release -mkdir $resultsdir -tracefile=$tracefilepfx-Release/trace - -getsysinfo $tracefile - -mkdir -p $FULLTOKUDBDIR/Release >/dev/null 2>&1 -cd $FULLTOKUDBDIR/Release -cmake \ - -D CMAKE_BUILD_TYPE=Release \ - -D INTEL_CC=ON \ - -D BUILD_TESTING=ON \ - -D USE_BDB=ON \ - -D RUN_LONG_TESTS=ON \ - -D USE_CILK=OFF \ - -D USE_CTAGS=OFF \ - -D USE_GTAGS=OFF \ - -D USE_ETAGS=OFF \ - -D USE_CSCOPE=OFF \ - .. 2>&1 | tee -a $tracefile -cmake --system-information $resultsdir/sysinfo -make clean -# update to yesterday exactly just before ctest does nightly update -svn up -q -r "{$yesterday}" .. -set +e -ctest -j$njobs \ - -D ${ctest_model}Start \ - -D ${ctest_model}Update \ - -D ${ctest_model}Configure \ - -D ${ctest_model}Build \ - -D ${ctest_model}Test \ - 2>&1 | tee -a $tracefile -set -e - -cp $tracefile notes.txt -set +e -ctest -D ${ctest_model}Submit -A notes.txt \ - 2>&1 | tee -a $tracefile -set -e -rm notes.txt - -tag=$(head -n1 Testing/TAG) -cp -r Testing/$tag $resultsdir -if [[ $commit -eq 1 ]]; then - cf=$(my_mktemp ftresult) - cat "$resultsdir/trace" | awk ' -/[0-9]+% tests passed, [0-9]+ tests failed out of [0-9]+/ { - fail=$4; - total=$9; - pass=total-fail; - ORS=" "; - if (fail>0) { - print "FAIL=" fail - } - print "PASS=" pass -}' >"$cf" - get_latest_svn_revision $FULLTOKUDBDIR >>"$cf" - echo -n " " >>"$cf" - cat "$resultsdir/trace" | awk ' -BEGIN { - FS=": "; -} -/Build name/ { - print $2; - exit -}' >>"$cf" - (echo; echo) >>"$cf" - cat "$resultsdir/trace" | awk ' -BEGIN { - printit=0 -} -/[0-9]*\% tests passed, [0-9]* tests failed out of [0-9]*/ { printit=1 } -/^ Site:/ { printit=0 } -{ - if (printit) { - print $0 - } -}' >>"$cf" - svn add $resultsdir - svn commit -F "$cf" $resultsdir - rm $cf -fi - if [[ $commit -eq 1 ]]; then # hack to make long tests run nightly but not when run in experimental mode longtests=ON @@ -248,112 +148,19 @@ else longtests=OFF fi ################################################################################ -## run gcov on gcc debug build -resultsdir=$tracefilepfx-Coverage +## run valgrind on gcc optimized build +resultsdir=$tracefilepfx-Release mkdir $resultsdir -tracefile=$tracefilepfx-Coverage/trace +tracefile=$tracefilepfx-Release/trace getsysinfo $tracefile -mkdir -p $FULLTOKUDBDIR/Coverage >/dev/null 2>&1 -cd $FULLTOKUDBDIR/Coverage +mkdir -p $FULLTOKUDBDIR/gccopt >/dev/null 2>&1 +cd $FULLTOKUDBDIR/gccopt CC=gcc47 CXX=g++47 cmake \ - -D CMAKE_BUILD_TYPE=Debug \ - -D BUILD_TESTING=ON \ - -D USE_GCOV=ON \ - -D USE_BDB=OFF \ - -D RUN_LONG_TESTS=$longtests \ - -D USE_CILK=OFF \ - -D USE_CTAGS=OFF \ - -D USE_GTAGS=OFF \ - -D USE_ETAGS=OFF \ - -D USE_CSCOPE=OFF \ - .. 2>&1 | tee -a $tracefile -cmake --system-information $resultsdir/sysinfo -make clean -# update to yesterday exactly just before ctest does nightly update -svn up -q -r "{$yesterday}" .. -set +e -ctest -j$njobs \ - -D ${ctest_model}Start \ - -D ${ctest_model}Update \ - -D ${ctest_model}Configure \ - -D ${ctest_model}Build \ - -D ${ctest_model}Test \ - -D ${ctest_model}Coverage \ - 2>&1 | tee -a $tracefile -set -e - -cp $tracefile notes.txt -set +e -ctest -D ${ctest_model}Submit -A notes.txt \ - 2>&1 | tee -a $tracefile -set -e -rm notes.txt - -tag=$(head -n1 Testing/TAG) -cp -r Testing/$tag $resultsdir -if [[ $commit -eq 1 ]]; then - cf=$(my_mktemp ftresult) - cat "$resultsdir/trace" | awk ' -BEGIN { - ORS=" "; -} -/Percentage Coverage:/ { - covpct=$3; -} -/[0-9]+% tests passed, [0-9]+ tests failed out of [0-9]+/ { - fail=$4; - total=$9; - pass=total-fail; -} -END { - print "COVERAGE=" covpct - if (fail>0) { - print "FAIL=" fail - } - print "PASS=" pass -}' >"$cf" - get_latest_svn_revision $FULLTOKUDBDIR >>"$cf" - echo -n " " >>"$cf" - cat "$resultsdir/trace" | awk ' -BEGIN { - FS=": "; -} -/Build name/ { - print $2; - exit -}' >>"$cf" - (echo; echo) >>"$cf" - cat "$resultsdir/trace" | awk ' -BEGIN { - printit=0 -} -/[0-9]*\% tests passed, [0-9]* tests failed out of [0-9]*/ { printit=1 } -/^ Site:/ { printit=0 } -{ - if (printit) { - print $0 - } -}' >>"$cf" - svn add $resultsdir - svn commit -F "$cf" $resultsdir - rm $cf -fi - -################################################################################ -## run valgrind on icc debug build -resultsdir=$tracefilepfx-Debug -mkdir $resultsdir -tracefile=$tracefilepfx-Debug/trace - -getsysinfo $tracefile - -mkdir -p $FULLTOKUDBDIR/Debug >/dev/null 2>&1 -cd $FULLTOKUDBDIR/Debug -cmake \ - -D CMAKE_BUILD_TYPE=Debug \ - -D INTEL_CC=ON \ + -D CMAKE_BUILD_TYPE=Release \ + -D INTEL_CC=OFF \ + -D USE_VALGRIND=ON \ -D BUILD_TESTING=ON \ -D USE_BDB=OFF \ -D RUN_LONG_TESTS=$longtests \ @@ -449,20 +256,19 @@ BEGIN { fi ################################################################################ -## run valgrind on gcc optimized build -resultsdir=$tracefilepfx-gccopt +## run gcov on gcc debug build +resultsdir=$tracefilepfx-Coverage mkdir $resultsdir -tracefile=$tracefilepfx-gccopt/trace +tracefile=$tracefilepfx-Coverage/trace getsysinfo $tracefile -mkdir -p $FULLTOKUDBDIR/gccopt >/dev/null 2>&1 -cd $FULLTOKUDBDIR/gccopt +mkdir -p $FULLTOKUDBDIR/Coverage >/dev/null 2>&1 +cd $FULLTOKUDBDIR/Coverage CC=gcc47 CXX=g++47 cmake \ - -D CMAKE_BUILD_TYPE=Release \ - -D INTEL_CC=OFF \ - -D USE_VALGRIND=ON \ + -D CMAKE_BUILD_TYPE=Debug \ -D BUILD_TESTING=ON \ + -D USE_GCOV=ON \ -D USE_BDB=OFF \ -D RUN_LONG_TESTS=$longtests \ -D USE_CILK=OFF \ @@ -482,7 +288,7 @@ ctest -j$njobs \ -D ${ctest_model}Configure \ -D ${ctest_model}Build \ -D ${ctest_model}Test \ - -D ${ctest_model}MemCheck \ + -D ${ctest_model}Coverage \ 2>&1 | tee -a $tracefile set -e @@ -499,30 +305,18 @@ if [[ $commit -eq 1 ]]; then cf=$(my_mktemp ftresult) cat "$resultsdir/trace" | awk ' BEGIN { - errs=0; - look=0; ORS=" "; } +/Percentage Coverage:/ { + covpct=$3; +} /[0-9]+% tests passed, [0-9]+ tests failed out of [0-9]+/ { fail=$4; total=$9; pass=total-fail; } -/^Memory checking results:/ { - look=1; - FS=" - "; -} -/Errors while running CTest/ { - look=0; - FS=" "; -} -{ - if (look) { - errs+=$2; - } -} END { - print "ERRORS=" errs; + print "COVERAGE=" covpct if (fail>0) { print "FAIL=" fail } @@ -544,7 +338,6 @@ BEGIN { printit=0 } /[0-9]*\% tests passed, [0-9]* tests failed out of [0-9]*/ { printit=1 } -/Memory check project/ { printit=0 } /^ Site:/ { printit=0 } { if (printit) {