Commit b6fab2b5 authored by miller86's avatar miller86

updating regression scripts to do make-clean/distclean BEFORE doing svn...

updating regression scripts to do make-clean/distclean BEFORE doing svn update; restricting emails from LLNL testing to LLNL developers

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@8035 18c085ea-50e0-402c-830e-de6fd14e8384
parent 93d7f808
......@@ -129,6 +129,12 @@
#
# Mark C. Miller, Thu Jul 30 08:23:14 PDT 2009
# Made it count fact that script was changed as +1 in numChangedFiles.
#
# Mark C. Miller, Mon Aug 3 12:51:27 PDT 2009
# Changed order of operations so that make clean and make distclean
# occur BEFORE svn update. That way, any dirs that might have been created
# during a previous day's make are, in theory, removed and cannot collide
# with what 'svn update' needs to do.
# ----------------------------------------------------------------------------
dateTag=`date +%y%b%d`
svnHost=svn.nersc.gov
......@@ -317,6 +323,49 @@ checkAndHandleError "`nezero $pingWorks`" fatal "dropped packets to $svnHost"
# check if this script itself has been changed
checkAndHandleError $scriptWasChanged warning "regressiontest_davinci was changed"
# configure visit
cd src
rm -f config.log config.status config.cache config_log.txt make_log.txt
#find . -name .svn -prune -false -o -name '*.so' -o -name '*.o' -o -name '*.d' -exec rm {} \;
echo -e "LD_LIBRARY_PATH = $LD_LIBRARY_PATH" 1> config_log.txt 2>&1
echo -e "Forcing LD_LIBRARY_PATH to /usr/local/lib" 1>> config_log.txt 2>&1
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
./configure CXXFLAGS=-g MAKE=gmake --enable-parallel --enable-viewer-mesa-stub=no --enable-buildall 1>> config_log.txt 2>&1
checkAndHandleError $? fatal "Pre-Update configure failed" config_log.txt
cd ..
# test 'make clean' acts as expected
cd data
gmake clean 1> ../make_clean.out 2>&1
cd ../src
gmake clean 1>> ../make_clean.out 2>&1
rm -f uncleaned_files_log.txt
find . -name .svn -prune -false -o -name '*.so' -o -name '*.o' -o -name '*_moc.[Ch]' -o -name 'moc_*.[Ch]' 1> uncleaned_files_log.txt
uncleanedFilesCount=`wc -l uncleaned_files_log.txt | tr -s ' ' | sed -e 's/^ //' | cut -d' ' -f1`
checkAndHandleError $uncleanedFilesCount warning "Prior to svn update, make clean left files; removing manually" uncleaned_files_log.txt
if test -n "$uncleanedFilesCount" -a $uncleanedFilesCount -ne 0; then
cat uncleaned_files_log.txt | tr -s ' ' | cut -d' ' -f2 | xargs -n 1 rm -f
fi
# test 'make distclean' acts as expected
cd ../data
gmake distclean 1> ../make_distclean.out 2>&1
cd ../src
make distclean 1>> ../make_distclean.out 2>&1
rm -f undistcleaned_files_log.txt
find . -name .svn -prune -false -o -name '*.d' -o -name '.depend' -o -name '.pardepend' 1> undistcleaned_files_log.txt
# The 2nd find, below, finds only those Makefiles for which there is also
# a coorsponding Makefile.in. 'make distclean' should have removed these
# It also includes some special grep filtering for special cases of some
# Makefiles that aren't easy for distclean to clean
find . -name .svn -prune -false -o \( -name 'Makefile' -exec test -e \{\}.in \; \) -print | grep -v ./avt/Preprocessor/Makefile\\\|./tools/windowmaker/Makefile\\\|./tools/prep/Makefile\\\|./sim/examples/Makefile\\\|./common/siloobj/Makefile\\\|./common/siloobj_vtk_db/Makefile\\\|./cqscore/Makefile 1>> undistcleaned_files_log.txt
undistcleanedFilesCount=`wc -l undistcleaned_files_log.txt | tr -s ' ' | sed -e 's/^ //' | cut -d' ' -f1`
checkAndHandleError $undistcleanedFilesCount warning "Prior to svn update, make distclean left files; removing manually" undistcleaned_files_log.txt
if test -n "$undistcleanedFilesCount" -a $undistcleanedFilesCount -ne 0; then
cat undistcleaned_files_log.txt | tr -s ' ' | cut -d' ' -f2 | xargs -n 1 rm -f
fi
# Update our current 'checkout' of visit trunk from NERSC
pushd $rootTestDir 1> /dev/null 2>&1
rm -f nersc_repo_update_$dateTag
......@@ -367,52 +416,9 @@ fi
conflictFiles=`grep '^C' nersc_repo_update_$dateTag | tr -s ' ' | cut -d' ' -f2`
checkAndHandleError "`eqzero $conflictFiles`" fatal "conflicting files" "$conflictFiles"
# build visit
cd src
rm -f config.log config.status config.cache config_log.txt make_log.txt
#find . -name .svn -prune -false -o -name '*.so' -o -name '*.o' -o -name '*.d' -exec rm {} \;
echo -e "LD_LIBRARY_PATH = $LD_LIBRARY_PATH" 1> config_log.txt 2>&1
echo -e "Forcing LD_LIBRARY_PATH to /usr/local/lib" 1>> config_log.txt 2>&1
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
./configure CXXFLAGS=-g MAKE=gmake --enable-parallel --enable-viewer-mesa-stub=no --enable-buildall 1>> config_log.txt 2>&1
checkAndHandleError $? fatal "FIRST configure failed" config_log.txt
cd ..
# test 'make clean' acts as expected
cd data
gmake clean 1> ../make_clean.out 2>&1
cd ../src
gmake clean 1>> ../make_clean.out 2>&1
rm -f uncleaned_files_log.txt
find . -name .svn -prune -false -o -name '*.so' -o -name '*.o' -o -name '*_moc.[Ch]' -o -name 'moc_*.[Ch]' 1> uncleaned_files_log.txt
uncleanedFilesCount=`wc -l uncleaned_files_log.txt | tr -s ' ' | sed -e 's/^ //' | cut -d' ' -f1`
checkAndHandleError $uncleanedFilesCount warning "make clean left files; removing manually" uncleaned_files_log.txt
if test -n "$uncleanedFilesCount" -a $uncleanedFilesCount -ne 0; then
cat uncleaned_files_log.txt | tr -s ' ' | cut -d' ' -f2 | xargs -n 1 rm -f
fi
# test 'make distclean' acts as expected
cd ../data
gmake distclean 1> ../make_distclean.out 2>&1
cd ../src
make distclean 1>> ../make_distclean.out 2>&1
rm -f undistcleaned_files_log.txt
find . -name .svn -prune -false -o -name '*.d' -o -name '.depend' -o -name '.pardepend' 1> undistcleaned_files_log.txt
# The 2nd find, below, finds only those Makefiles for which there is also
# a coorsponding Makefile.in. 'make distclean' should have removed these
# It also includes some special grep filtering for special cases of some
# Makefiles that aren't easy for distclean to clean
find . -name .svn -prune -false -o \( -name 'Makefile' -exec test -e \{\}.in \; \) -print | grep -v ./avt/Preprocessor/Makefile\\\|./tools/windowmaker/Makefile\\\|./tools/prep/Makefile\\\|./sim/examples/Makefile\\\|./common/siloobj/Makefile\\\|./common/siloobj_vtk_db/Makefile\\\|./cqscore/Makefile 1>> undistcleaned_files_log.txt
undistcleanedFilesCount=`wc -l undistcleaned_files_log.txt | tr -s ' ' | sed -e 's/^ //' | cut -d' ' -f1`
checkAndHandleError $undistcleanedFilesCount warning "make distclean left files; removing manually" undistcleaned_files_log.txt
if test -n "$undistcleanedFilesCount" -a $undistcleanedFilesCount -ne 0; then
cat undistcleaned_files_log.txt | tr -s ' ' | cut -d' ' -f2 | xargs -n 1 rm -f
fi
# ok, now really go ahead and configure and build VisIt
./configure CXXFLAGS=-g MAKE=gmake --enable-parallel --enable-viewer-mesa-stub=no --enable-buildall 1>> config_log.txt 2>&1
checkAndHandleError $? fatal "SECOND configure failed" config_log.txt
checkAndHandleError $? fatal "Post-Update configure failed" config_log.txt
gmake -j 6 1>> make_log.txt 2>&1
checkAndHandleError $? fatal "gmake -j 6 failed in src" make_log.txt
cd ..
......
......@@ -84,6 +84,14 @@
#
# Mark C. Miller Mon Jun 8 21:22:04 PDT 2009
# Added diff tolerances due to transition of baselines to Davinci.
#
# Mark C. Miller, Mon Aug 3 12:51:27 PDT 2009
# Changed order of operations so that make clean and make distclean
# occur BEFORE svn update. That way, any dirs that might have been created
# during a previous day's make are, in theory, removed and cannot collide
# with what 'svn update' needs to do. Also, I removed several non-LLNL
# developers from logrecipients and filtered emails so that only LLNL
# developers get them.
# ----------------------------------------------------------------------------
dateTag=`date +%y%b%d`
svnHost=svn.nersc.gov
......@@ -97,7 +105,7 @@ errorMsgCount=0;
touch $errorLogFile
# list of users who want email every night with the log file
logrecipients="miller86@llnl.gov childs3@llnl.gov jsmeredith@ornl.gov tfogal@sci.utah.edu"
logrecipients="miller86@llnl.gov"
eqzero() {
if test "$1" = "0"; then
......@@ -197,9 +205,10 @@ EOF
cat $errorLogFile >> mailmsg
# make sure we don't wind up including a user from logrecipients
# and modifiers twice
emailList="`echo $logrecipients` `echo $modifiersEmails`"
# Make sure we don't wind up including a user from logrecipients
# and modifiers twice.
# Ensure this email distribution is sent ONLY to LLNL developers.
emailList="`echo $logrecipients` `echo $modifiersEmails | grep 'llnl.gov'`"
emailList=`echo $emailList | tr ' ' '\n' | sort | uniq`
cat mailmsg | /usr/sbin/sendmail $emailList
......@@ -269,6 +278,50 @@ checkAndHandleError "`nezero $pingWorks`" fatal "dropped packets to $svnHost"
# check if this script itself has been changed
checkAndHandleError $scriptWasChanged warning "regressiontest_nersc was changed"
# configure visit
cd src
rm -f config.log config.status config.cache config_log.txt make_log.txt
#find . -name .svn -prune -false -o -name '*.so' -o -name '*.o' -o -name '*.d' -exec rm {} \;
echo -e "LD_LIBRARY_PATH = $LD_LIBRARY_PATH" 1> config_log.txt 2>&1
echo -e "Forcing LD_LIBRARY_PATH to /usr/local/lib" 1>> config_log.txt 2>&1
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
./configure CXXFLAGS=-g MAKE=gmake --enable-parallel --enable-buildall --with-google-perftools=no 1>> config_log.txt 2>&1
checkAndHandleError $? fatal "Pre-update configure failed" config_log.txt
# test 'make clean' acts as expected
rm -f ./make_clean.out
cd ../data
gmake clean 1> ../src/make_clean.out 2>&1
cd ../src
gmake clean 1>> ./make_clean.out 2>&1
rm -f uncleaned_files_log.txt
find . -name .svn -prune -false -o -name '*.so' -o -name '*.o' -o -name '*_moc.[Ch]' -o -name 'moc_*.[Ch]' 1> uncleaned_files_log.txt
uncleanedFilesCount=`wc -l uncleaned_files_log.txt | tr -s ' ' | sed -e 's/^ //' | cut -d' ' -f1`
checkAndHandleError $uncleanedFilesCount warning "prior to update, make clean left files; removing manually" uncleaned_files_log.txt
if test -n "$uncleanedFilesCount" -a $uncleanedFilesCount -ne 0; then
cat uncleaned_files_log.txt | tr -s ' ' | cut -d' ' -f2 | xargs -n 1 rm -f
fi
# test 'make distclean' acts as expected
rm -f ./make_distclean.out
cd ../data
gmake distclean 1> ../src/make_distclean.out 2>&1
cd ../src
gmake distclean 1>> ./make_distclean.out 2>&1
rm -f undistcleaned_files_log.txt
find . -name .svn -prune -false -o -name '*.d' -o -name '.depend' -o -name '.pardepend' 1> undistcleaned_files_log.txt
# The 2nd find, below, finds only those Makefiles for which there is also
# a coorsponding Makefile.in. 'make distclean' should have removed these
# It also includes some special grep filtering for special cases of some
# Makefiles that aren't easy for distclean to clean
find . -name .svn -prune -false -o \( -name 'Makefile' -exec test -e \{\}.in \; \) -print | grep -v ./avt/Preprocessor/Makefile\\\|./tools/windowmaker/Makefile\\\|./tools/prep/Makefile\\\|./sim/examples/Makefile\\\|./common/siloobj/Makefile\\\|./common/siloobj_vtk_db/Makefile\\\|./cqscore/Makefile 1>> undistcleaned_files_log.txt
undistcleanedFilesCount=`wc -l undistcleaned_files_log.txt | tr -s ' ' | sed -e 's/^ //' | cut -d' ' -f1`
checkAndHandleError $undistcleanedFilesCount warning "prior to update, make distclean left files; removing manually" undistcleaned_files_log.txt
if test -n "$undistcleanedFilesCount" -a $undistcleanedFilesCount -ne 0; then
cat undistcleaned_files_log.txt | tr -s ' ' | cut -d' ' -f2 | xargs -n 1 rm -f
fi
# Update our current 'checkout' of visit trunk from NERSC
pushd $rootTestDir 1> /dev/null 2>&1
rm -f nersc_repo_update_$dateTag
......@@ -325,53 +378,9 @@ fi
conflictFiles=`grep '^C' nersc_repo_update_$dateTag | tr -s ' ' | cut -d' ' -f2`
checkAndHandleError "`eqzero $conflictFiles`" fatal "conflicting files" "$conflictFiles"
# build visit
cd src
rm -f config.log config.status config.cache config_log.txt make_log.txt
#find . -name .svn -prune -false -o -name '*.so' -o -name '*.o' -o -name '*.d' -exec rm {} \;
echo -e "LD_LIBRARY_PATH = $LD_LIBRARY_PATH" 1> config_log.txt 2>&1
echo -e "Forcing LD_LIBRARY_PATH to /usr/local/lib" 1>> config_log.txt 2>&1
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
./configure CXXFLAGS=-g MAKE=gmake --enable-parallel --enable-buildall --with-google-perftools=no 1>> config_log.txt 2>&1
checkAndHandleError $? fatal "FIRST configure failed" config_log.txt
# test 'make clean' acts as expected
rm -f ./make_clean.out
cd ../data
gmake clean 1> ../src/make_clean.out 2>&1
cd ../src
gmake clean 1>> ./make_clean.out 2>&1
rm -f uncleaned_files_log.txt
find . -name .svn -prune -false -o -name '*.so' -o -name '*.o' -o -name '*_moc.[Ch]' -o -name 'moc_*.[Ch]' 1> uncleaned_files_log.txt
uncleanedFilesCount=`wc -l uncleaned_files_log.txt | tr -s ' ' | sed -e 's/^ //' | cut -d' ' -f1`
checkAndHandleError $uncleanedFilesCount warning "make clean left files; removing manually" uncleaned_files_log.txt
if test -n "$uncleanedFilesCount" -a $uncleanedFilesCount -ne 0; then
cat uncleaned_files_log.txt | tr -s ' ' | cut -d' ' -f2 | xargs -n 1 rm -f
fi
# test 'make distclean' acts as expected
rm -f ./make_distclean.out
cd ../data
gmake distclean 1> ../src/make_distclean.out 2>&1
cd ../src
gmake distclean 1>> ./make_distclean.out 2>&1
rm -f undistcleaned_files_log.txt
find . -name .svn -prune -false -o -name '*.d' -o -name '.depend' -o -name '.pardepend' 1> undistcleaned_files_log.txt
# The 2nd find, below, finds only those Makefiles for which there is also
# a coorsponding Makefile.in. 'make distclean' should have removed these
# It also includes some special grep filtering for special cases of some
# Makefiles that aren't easy for distclean to clean
find . -name .svn -prune -false -o \( -name 'Makefile' -exec test -e \{\}.in \; \) -print | grep -v ./avt/Preprocessor/Makefile\\\|./tools/windowmaker/Makefile\\\|./tools/prep/Makefile\\\|./sim/examples/Makefile\\\|./common/siloobj/Makefile\\\|./common/siloobj_vtk_db/Makefile\\\|./cqscore/Makefile 1>> undistcleaned_files_log.txt
undistcleanedFilesCount=`wc -l undistcleaned_files_log.txt | tr -s ' ' | sed -e 's/^ //' | cut -d' ' -f1`
checkAndHandleError $undistcleanedFilesCount warning "make distclean left files; removing manually" undistcleaned_files_log.txt
if test -n "$undistcleanedFilesCount" -a $undistcleanedFilesCount -ne 0; then
cat undistcleaned_files_log.txt | tr -s ' ' | cut -d' ' -f2 | xargs -n 1 rm -f
fi
# ok, now really go ahead and configure and build VisIt
./configure CXXFLAGS=-g MAKE=gmake --enable-parallel --enable-buildall --with-google-perftools=no 1>> config_log.txt 2>&1
checkAndHandleError $? fatal "SECOND configure failed" config_log.txt
checkAndHandleError $? fatal "Post-update configure failed" config_log.txt
gmake -j 4 1>> make_log.txt 2>&1
checkAndHandleError $? fatal "gmake -j 4 failed in src" make_log.txt
......
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