Commit ee23b1c3 authored by Leif Walsh's avatar Leif Walsh Committed by Yoni Fogel

refs #5368 try harder to ignore ranlib issues

git-svn-id: file:///svn/toku/tokudb@49357 c7de825b-a66e-492c-adef-691d508d4ae1
parent 6309c8c0
...@@ -8,6 +8,6 @@ set(CTEST_PROJECT_NAME "tokudb") ...@@ -8,6 +8,6 @@ set(CTEST_PROJECT_NAME "tokudb")
set(CTEST_NIGHTLY_START_TIME "23:59:00 EDT") set(CTEST_NIGHTLY_START_TIME "23:59:00 EDT")
set(CTEST_DROP_METHOD "http") set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "192.168.1.114") set(CTEST_DROP_SITE "localhost:8080")
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=tokudb") set(CTEST_DROP_LOCATION "/CDash/submit.php?project=tokudb")
set(CTEST_DROP_SITE_CDASH TRUE) set(CTEST_DROP_SITE_CDASH TRUE)
...@@ -222,6 +222,5 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION ...@@ -222,6 +222,5 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
# don't complain about clang missing warnings from xz code # don't complain about clang missing warnings from xz code
"clang: warning: unknown warning option" "clang: warning: unknown warning option"
# don't complain about ranlib on empty archive # don't complain about ranlib on empty archive
"ranlib: file: .* has no symbols" "ranlib:"
"ranlib: warning for library: .* the table of contents is empty"
) )
if(BUILD_TESTING) if(BUILD_TESTING)
if (CMAKE_SYSTEM_NAME STREQUAL Darwin) if (NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
# Valgrind on OSX 10.8 generally works but outputs some warning junk # Valgrind on OSX 10.8 generally works but outputs some warning junk
# that is hard to parse out, so we'll just let it run alone # that is hard to parse out, so we'll just let it run alone
set(MEMORYCHECK_COMMAND "${TokuDB_SOURCE_DIR}/scripts/tokuvalgrind") set(MEMORYCHECK_COMMAND "${TokuDB_SOURCE_DIR}/scripts/tokuvalgrind")
endif () endif ()
set(MEMORYCHECK_COMMAND_OPTIONS "--gen-suppressions=no --quiet --num-callers=20 --leak-check=full --show-reachable=yes --trace-children=yes --trace-children-skip=sh,*/sh,basename,*/basename,dirname,*/dirname,rm,*/rm,cp,*/cp,mv,*/mv,cat,*/cat,diff,*/diff,grep,*/grep,date,*/date,test,*/tokudb_dump* --trace-children-skip-by-arg=--only_create,--test,--no-shutdown,novalgrind" CACHE INTERNAL "options for valgrind") set(MEMORYCHECK_COMMAND_OPTIONS "--gen-suppressions=no --quiet --num-callers=20 --leak-check=full --show-reachable=yes --trace-children=yes --trace-children-skip=sh,*/sh,basename,*/basename,dirname,*/dirname,rm,*/rm,cp,*/cp,mv,*/mv,cat,*/cat,diff,*/diff,grep,*/grep,date,*/date,test,*/tokudb_dump* --trace-children-skip-by-arg=--only_create,--test,--no-shutdown,novalgrind" CACHE INTERNAL "options for valgrind")
set(MEMORYCHECK_SUPPRESSIONS_FILE "${CMAKE_CURRENT_BINARY_DIR}/valgrind.suppressions" CACHE INTERNAL "suppressions file for valgrind") set(MEMORYCHECK_SUPPRESSIONS_FILE "${CMAKE_CURRENT_BINARY_DIR}/valgrind.suppressions" CACHE INTERNAL "suppressions file for valgrind")
set(UPDATE_COMMAND "svn")
endif() endif()
...@@ -3,13 +3,10 @@ ...@@ -3,13 +3,10 @@
function usage() { function usage() {
echo "run.fractal.tree.tests.bash - run the nightly fractal tree test suite" echo "run.fractal.tree.tests.bash - run the nightly fractal tree test suite"
echo "[--ftcc=$ftcc] [--ftcxx=$ftcxx] [--BDBVERSION=$BDBVERSION] [--ctest_model=$ctest_model]" echo "[--ftcc=$ftcc] [--ftcxx=$ftcxx] [--BDBVERSION=$BDBVERSION] [--ctest_model=$ctest_model]"
echo "[--commit=$commit] [--generator=$generator] [--toku_svnroot=$toku_svnroot]" echo "[--commit=$commit]"
return 1 return 1
} }
[ -f /etc/profile.d/gcc47.sh ] && . /etc/profile.d/gcc47.sh
[ -f /etc/profile.d/binutils222.sh ] && . /etc/profile.d/binutils222.sh
set -e set -e
pushd $(dirname $0) &>/dev/null pushd $(dirname $0) &>/dev/null
...@@ -37,8 +34,6 @@ ftcc=gcc47 ...@@ -37,8 +34,6 @@ ftcc=gcc47
ftcxx=g++47 ftcxx=g++47
BDBVERSION=5.3 BDBVERSION=5.3
ctest_model=Nightly ctest_model=Nightly
generator="Unix Makefiles"
toku_svnroot=$FULLTOKUDBDIR/../..
commit=1 commit=1
while [ $# -gt 0 ] ; do while [ $# -gt 0 ] ; do
arg=$1; shift arg=$1; shift
...@@ -54,11 +49,7 @@ if [[ ! ( ( $ctest_model = Nightly ) || ( $ctest_model = Experimental ) || ( $ct ...@@ -54,11 +49,7 @@ if [[ ! ( ( $ctest_model = Nightly ) || ( $ctest_model = Experimental ) || ( $ct
usage usage
fi fi
BDBDIR=/usr/local/BerkeleyDB.$BDBVERSION export CMAKE_PREFIX_PATH=/usr/local/BerkeleyDB.$BDBVERSION:$CMAKE_PREFIX_PATH
if [ -d $BDBDIR ] ; then
CMAKE_PREFIX_PATH=$BDBDIR:$CMAKE_PREFIX_PATH
export CMAKE_PREFIX_PATH
fi
# delete some characters that cygwin and osx have trouble with # delete some characters that cygwin and osx have trouble with
function sanitize() { function sanitize() {
...@@ -72,15 +63,13 @@ system=$(uname -s | tr '[:upper:]' '[:lower:]' | sanitize) ...@@ -72,15 +63,13 @@ system=$(uname -s | tr '[:upper:]' '[:lower:]' | sanitize)
release=$(uname -r | sanitize) release=$(uname -r | sanitize)
arch=$(uname -m | sanitize) arch=$(uname -m | sanitize)
date=$(date +%Y%m%d) date=$(date +%Y%m%d)
ncpus=$([ -f /proc/cpuinfo ] && (grep bogomips /proc/cpuinfo | wc -l) || sysctl -n hw.ncpu) ncpus=$(sysctl hw.ncpu | awk '{print $2}')
njobs=$(if [ $ncpus -gt 8 ] ; then echo "$ncpus / 3" | bc ; else echo "$ncpus" ; fi) njobs=3 #$(echo "$ncpus / 3" | bc)
GCCVERSION=$($ftcc --version|head -1|cut -f3 -d" ") export ftar=`which ar`
export GCCVERSION export ftld=`which ld`
CC=$ftcc
export CC export GCCVERSION=$($ftcxx --version|head -1|cut -f3 -d" ")
CXX=$ftcxx
export CXX
function retry() { function retry() {
local cmd local cmd
...@@ -122,25 +111,23 @@ if [[ $commit -eq 1 ]]; then ...@@ -122,25 +111,23 @@ if [[ $commit -eq 1 ]]; then
set -e set -e
popd popd
tracefilepfx=$builddir/$productname+$ftcc-$GCCVERSION+bdb-$BDBVERSION+$nodename+$system+$release+$arch tracefilepfx=$builddir/$productname+$ftcxx-$GCCVERSION+bdb-$BDBVERSION+$nodename+$system+$release+$arch
else else
tracefilepfx=$FULLTOKUDBDIR/test-trace tracefilepfx=$FULLTOKUDBDIR/test-trace
fi fi
function getsysinfo() { function getsysinfo() {
tracefile=$1; shift tracefile=$1; shift
set +e
uname -a >$tracefile 2>&1 uname -a >$tracefile 2>&1
ulimit -a >>$tracefile 2>&1 ulimit -a >>$tracefile 2>&1
cmake --version >>$tracefile 2>&1 cmake --version >>$tracefile 2>&1
$ftcc -v >>$tracefile 2>&1 $ftcc -v >>$tracefile 2>&1
$ftcxx -v >>$tracefile 2>&1 $ftcxx -v >>$tracefile 2>&1
valgrind --version >>$tracefile 2>&1 valgrind --version >>$tracefile 2>&1
cat /etc/issue >>$tracefile 2>&1 if [ -f /etc/issue ]; then cat /etc/issue >>$tracefile 2>&1 ; fi
cat /proc/version >>$tracefile 2>&1 if [ -f /proc/version ]; then cat /proc/version >>$tracefile 2>&1 ; fi
cat /proc/cpuinfo >>$tracefile 2>&1 if [ -f /proc/cpuinfo ]; then cat /proc/cpuinfo >>$tracefile 2>&1 ; fi
env >>$tracefile 2>&1 env >>$tracefile 2>&1
set -e
} }
function get_latest_svn_revision() { function get_latest_svn_revision() {
...@@ -160,31 +147,32 @@ else ...@@ -160,31 +147,32 @@ else
longtests=OFF longtests=OFF
fi fi
################################################################################ ################################################################################
## run normal and valgrind on optimized build ## run valgrind on gcc optimized build
resultsdir=$tracefilepfx-Release resultsdir=$tracefilepfx-Release
mkdir $resultsdir mkdir $resultsdir
tracefile=$tracefilepfx-Release/trace tracefile=$tracefilepfx-Release/trace
getsysinfo $tracefile getsysinfo $tracefile
mkdir -p $FULLTOKUDBDIR/opt >/dev/null 2>&1 mkdir -p $FULLTOKUDBDIR/gccopt >/dev/null 2>&1
cd $FULLTOKUDBDIR/opt cd $FULLTOKUDBDIR/gccopt
cmake \ sed -ie 's/192.168.1.114/localhost:8080/' ../CTestConfig.cmake
CC=$ftcc CXX=$ftcxx cmake \
-D CMAKE_BUILD_TYPE=Release \ -D CMAKE_BUILD_TYPE=Release \
-D USE_VALGRIND=ON \ -D USE_VALGRIND=OFF \
-D BUILD_TESTING=ON \
-D USE_BDB=ON \ -D USE_BDB=ON \
-D RUN_LONG_TESTS=$longtests \ -D RUN_LONG_TESTS=$longtests \
-D USE_CTAGS=OFF \ -D USE_CTAGS=OFF \
-D USE_GTAGS=OFF \ -D USE_GTAGS=OFF \
-D USE_ETAGS=OFF \ -D USE_ETAGS=OFF \
-D USE_CSCOPE=OFF \ -D USE_CSCOPE=OFF \
-D TOKU_SVNROOT="$toku_svnroot" \
-G "$generator" \
.. 2>&1 | tee -a $tracefile .. 2>&1 | tee -a $tracefile
cmake --system-information $resultsdir/sysinfo cmake --system-information $resultsdir/sysinfo
make clean make clean
# update to yesterday exactly just before ctest does nightly update # update to yesterday exactly just before ctest does nightly update
svn up -q -r "{$yesterday}" .. svn up -q -r "{$yesterday}" ..
sed -ie 's/192.168.1.114/localhost:8080/' ../CTestConfig.cmake
set +e set +e
ctest -j$njobs \ ctest -j$njobs \
-D ${ctest_model}Start \ -D ${ctest_model}Start \
...@@ -192,12 +180,12 @@ ctest -j$njobs \ ...@@ -192,12 +180,12 @@ ctest -j$njobs \
-D ${ctest_model}Configure \ -D ${ctest_model}Configure \
-D ${ctest_model}Build \ -D ${ctest_model}Build \
-D ${ctest_model}Test \ -D ${ctest_model}Test \
-E '/drd' \ -E '/drd|/helgrind' \
2>&1 | tee -a $tracefile
ctest -j$njobs \
-D ${ctest_model}MemCheck \
-E '^ydb/.*\.bdb$|test1426.tdb|/drd' \
2>&1 | tee -a $tracefile 2>&1 | tee -a $tracefile
#ctest -j$njobs \
# -D ${ctest_model}MemCheck \
# -E '^ydb/.*\.bdb$|test1426.tdb|drd_' \
# 2>&1 | tee -a $tracefile
set -e set -e
cp $tracefile notes.txt cp $tracefile notes.txt
...@@ -236,7 +224,7 @@ BEGIN { ...@@ -236,7 +224,7 @@ BEGIN {
} }
} }
END { END {
print "ERRORS=" errs; #print "ERRORS=" errs;
if (fail>0) { if (fail>0) {
print "FAIL=" fail print "FAIL=" fail
} }
...@@ -269,28 +257,28 @@ BEGIN { ...@@ -269,28 +257,28 @@ BEGIN {
svn commit -F "$cf" $resultsdir svn commit -F "$cf" $resultsdir
rm $cf rm $cf
fi fi
exit 0
################################################################################ ################################################################################
## run drd tests on debug build ## run valgrind on gcc debug build
resultsdir=$tracefilepfx-Debug resultsdir=$tracefilepfx-Debug
mkdir $resultsdir mkdir $resultsdir
tracefile=$tracefilepfx-Debug/trace tracefile=$tracefilepfx-Debug/trace
getsysinfo $tracefile getsysinfo $tracefile
mkdir -p $FULLTOKUDBDIR/dbg >/dev/null 2>&1 mkdir -p $FULLTOKUDBDIR/gccdbg >/dev/null 2>&1
cd $FULLTOKUDBDIR/dbg cd $FULLTOKUDBDIR/gccdbg
cmake \ CC=gcc47 CXX=g++47 cmake \
-D CMAKE_BUILD_TYPE=Debug \ -D CMAKE_BUILD_TYPE=Debug \
-D USE_VALGRIND=ON \ -D USE_VALGRIND=ON \
-D USE_BDB=OFF \ -D BUILD_TESTING=ON \
-D USE_BDB=ON \
-D RUN_LONG_TESTS=$longtests \ -D RUN_LONG_TESTS=$longtests \
-D USE_CTAGS=OFF \ -D USE_CTAGS=OFF \
-D USE_GTAGS=OFF \ -D USE_GTAGS=OFF \
-D USE_ETAGS=OFF \ -D USE_ETAGS=OFF \
-D USE_CSCOPE=OFF \ -D USE_CSCOPE=OFF \
-D TOKU_SVNROOT="$toku_svnroot" \
-G "$generator" \
.. 2>&1 | tee -a $tracefile .. 2>&1 | tee -a $tracefile
cmake --system-information $resultsdir/sysinfo cmake --system-information $resultsdir/sysinfo
make clean make clean
...@@ -303,7 +291,7 @@ ctest -j$njobs \ ...@@ -303,7 +291,7 @@ ctest -j$njobs \
-D ${ctest_model}Configure \ -D ${ctest_model}Configure \
-D ${ctest_model}Build \ -D ${ctest_model}Build \
-D ${ctest_model}Test \ -D ${ctest_model}Test \
-R '/drd' \ -R 'drd_' \
2>&1 | tee -a $tracefile 2>&1 | tee -a $tracefile
set -e set -e
...@@ -361,27 +349,26 @@ BEGIN { ...@@ -361,27 +349,26 @@ BEGIN {
fi fi
################################################################################ ################################################################################
## run gcov on debug build ## run gcov on gcc debug build
resultsdir=$tracefilepfx-Coverage resultsdir=$tracefilepfx-Coverage
mkdir $resultsdir mkdir $resultsdir
tracefile=$tracefilepfx-Coverage/trace tracefile=$tracefilepfx-Coverage/trace
getsysinfo $tracefile getsysinfo $tracefile
mkdir -p $FULLTOKUDBDIR/cov >/dev/null 2>&1 mkdir -p $FULLTOKUDBDIR/Coverage >/dev/null 2>&1
cd $FULLTOKUDBDIR/cov cd $FULLTOKUDBDIR/Coverage
cmake \ CC=gcc47 CXX=g++47 cmake \
-D CMAKE_BUILD_TYPE=Debug \ -D CMAKE_BUILD_TYPE=Debug \
-D BUILD_TESTING=ON \ -D BUILD_TESTING=ON \
-D USE_GCOV=ON \ -D USE_GCOV=ON \
-D USE_BDB=OFF \ -D USE_BDB=OFF \
-D RUN_LONG_TESTS=$longtests \ -D RUN_LONG_TESTS=$longtests \
-D USE_CILK=OFF \
-D USE_CTAGS=OFF \ -D USE_CTAGS=OFF \
-D USE_GTAGS=OFF \ -D USE_GTAGS=OFF \
-D USE_ETAGS=OFF \ -D USE_ETAGS=OFF \
-D USE_CSCOPE=OFF \ -D USE_CSCOPE=OFF \
-D TOKU_SVNROOT="$toku_svnroot" \
-G "$generator" \
.. 2>&1 | tee -a $tracefile .. 2>&1 | tee -a $tracefile
cmake --system-information $resultsdir/sysinfo cmake --system-information $resultsdir/sysinfo
make clean make clean
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment