From 35f7dfe750b57747b48297ec7497e88b8b8031b6 Mon Sep 17 00:00:00 2001 From: heister Date: Mon, 17 Sep 2012 16:05:50 +0000 Subject: [PATCH] add script for regression tester git-svn-id: https://svn.dealii.org/trunk@26435 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/benchmarks/qsub.regression | 88 ++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 tests/benchmarks/qsub.regression diff --git a/tests/benchmarks/qsub.regression b/tests/benchmarks/qsub.regression new file mode 100644 index 0000000000..7267a3a50b --- /dev/null +++ b/tests/benchmarks/qsub.regression @@ -0,0 +1,88 @@ +#PBS -l nodes=1:mem64gb +#PBS -l walltime=4:00:00 +#PBS -q c0541 +#PBS -j oe +#PBS -N deal.II-regression-tests + +MAKECMD="make -j16" +export MAKECMD + +function bdie () { + echo "Error: $@" + exit 1 +} + +if test `hostname` != "c0541" ; then + echo "Wrong machine!" + echo "This is `hostname`..." + exit 1 +fi + + + +echo "STARTING REGRESSION TESTS ON `date`" + +cd /node/bangerth/regression-test-do/deal.II/ || bdie "$LINENO" + +PREVREVISION="`svn info . | grep Revision | sed s/Revision://`" +HEADREVISION="`svn info http://www.dealii.org/svn/dealii | grep Revision | sed s/Revision://`" + +if test "$PREVREVISION" = "$HEADREVISION" ; then + echo "$PREVREVISION already handled" +else + NEXTREVISION=`expr $PREVREVISION "+" 1` + echo "Updating from $PREVREVISION $NEXTREVISION" + + for dir in /node/bangerth/regression-test-do/deal.II \ + /node/bangerth/regression-test-do/branch_higher_derivatives/deal.II \ + /node/bangerth/regression-test-do/branch_merge_mg_into_dof_handler/deal.II \ + /node/bangerth/regression-test-do/branch_component_mask/deal.II ; do + cd $dir ; + svn up -r$NEXTREVISION || bdie "$LINENO" + svn up tests -r$NEXTREVISION || bdie "$LINENO" + + # see if anything changed between the previous revision + # and the current one. if not, then simply skip this branch + if test -z "`svn diff -r$PREVREVISION:$NEXTREVISION . tests`" ; then + echo "Skipping revision $NEXTREVISION on branch $dir" ; + continue ; + else + echo "Doing revision $NEXTREVISION on branch $dir because of these diffs:" ; + echo svn diff -r$PREVREVISION:$NEXTREVISION . tests ; + svn diff -r$PREVREVISION:$NEXTREVISION . tests ; + fi + + rm -f source/Makefile.dep + # $MAKECMD clean distclean || bdie "$LINENO" + + # use libstdc++ debug mode for our tests + # export CXXFLAGS=-D_GLIBCXX_DEBUG + ./reconfigure || bdie "$LINENO" + $MAKECMD debug || bdie "$LINENO" + cd tests || bdie "$LINENO" + $MAKECMD clean distclean + $MAKECMD report+mail || bdie "$LINENO" + touch sent-mail-for-revision-$NEXTREVISION + + if test $dir = /node/bangerth/regression-test-do/deal.II ; then + cd ../../projects/aspect + svn up + $MAKECMD clean + $MAKECMD + cd tests + $MAKECMD report+mail || bdie "$LINENO" + fi + done + + + cd + if test "$NEXTREVISION" = "$HEADREVISION" ; then + : ; + else + echo "Chaining next revision after $NEXTREVISION (current is $HEADREVISION)" + qsub qsub.regression + fi +fi + +echo "DONE WITH REGRESSION TESTS ON `date`" + -- 2.39.5