]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
add script for regression tester
authorheister <heister@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 17 Sep 2012 16:05:50 +0000 (16:05 +0000)
committerheister <heister@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 17 Sep 2012 16:05:50 +0000 (16:05 +0000)
git-svn-id: https://svn.dealii.org/trunk@26435 0785d39b-7218-0410-832d-ea1e28bc413d

tests/benchmarks/qsub.regression [new file with mode: 0644]

diff --git a/tests/benchmarks/qsub.regression b/tests/benchmarks/qsub.regression
new file mode 100644 (file)
index 0000000..7267a3a
--- /dev/null
@@ -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`"
+

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.