]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/scripts/crontab.sh
version 0.7.1
[helm.git] / helm / matita / scripts / crontab.sh
index ccbe4c8f1fdbc3980b45e9d0c4f001b3dda190b7..e3f8243e519295423a5c2c0e6efaa7d5cb48ef4b 100644 (file)
@@ -1,4 +1,6 @@
+#!/bin/bash
 MARK=`date +%Y%m%d`
+LASTMARK=`date -d yesterday +%Y%m%d`
 TMPDIRNAME=.__${MARK}_crontab
 CVSROOT=":ext:$USER@marcello.cs.unibo.it:/home/faculty/PROJECTS/cvs/helm"
 
@@ -7,23 +9,53 @@ rm -rf $TMPDIRNAME
 mkdir $TMPDIRNAME
 cd $TMPDIRNAME
 cvs -d $CVSROOT co helm/matita/scripts 1>/dev/null 2>/dev/null
-bash helm/matita/scripts/profile_cvs.sh > LOG
+helm/matita/scripts/profile_cvs.sh 2> LOG
+
+CUR_TIME=`echo "select mark, SUM(TIME_TO_SEC(time)) from bench where mark = \"$MARK\" group by mark;" | mysql -u helm -h mowgli.cs.unibo.it matita | tail -n 1 | awk '{print $2}'`
+OLD_TIME=`echo "select mark, SUM(TIME_TO_SEC(time)) from bench where mark = \"$LASTMARK\" group by mark;" | mysql -u helm -h mowgli.cs.unibo.it matita | tail -n 1 | awk '{print $2}'`
+
+if [ -z "$CUR_TIME" -o -z "$OLD_TIME" ]; then
+  echo "No benchamks records for $MARK"
+  exit 1
+fi
+
+((DELTA=$CUR_TIME - $OLD_TIME))
+if [ $DELTA -lt 0 ]; then
+  PERC=0
+else
+  ((PERC=100 * $DELTA))
+  ((PERC=$PERC / $OLD_TIME))
+fi
+if [ $PERC -ge 5 ]; then
+  cat <<EOT
+  REPORT FOR `date`
+  http://mowgli.cs.unibo.it/tassi/bench.php
+
+  PREFORMANCE LOSS DETECTED
+  is $CUR_TIME sec 
+  was $OLD_TIME sec
 
-cat <<EOT
-WEB INTERFACE
-http://mowgli.cs.unibo.it/tassi/index.php
-
-DAILY BENCHMARK REPORT
-`echo "select mark, SEC_TO_TIME(SUM(TIME_TO_SEC(time))) from becnh where mark = \"$MARK\" group by mark;" | mysql -u helm -h mowgli.cs.unibo.it matita`
-
-
-DAILY BENCHMARK REPORT (DETAILED)
-`echo "select * from becnh where mark = \"$MARK\";" | mysql -u helm -h mowgli.cs.unibo.it matita`
+EOT
+fi
+
+CUR_FAIL=`echo "select count(distinct test) from bench where mark = \"$MARK\" and result = 'fail';" | mysql -u helm -h mowgli.cs.unibo.it matita | tail -n 1`
+OLD_FAIL=`echo "select count(distinct test) from bench where mark = \"$LASTMARK\" and result = 'fail';" | mysql -u helm -h mowgli.cs.unibo.it matita | tail -n 1`
+
+if [ $CUR_FAIL -gt $OLD_FAIL ]; then
+  cat <<EOT
+  REPORT FOR `date`
+  http://mowgli.cs.unibo.it/tassi/bench.php
+
+  MORE BROKEN TESTS DETECTED
+  now broken:
+  `echo "select distinct test from bench where mark = \"$MARK\" and result = 'fail';" | mysql -u helm -h mowgli.cs.unibo.it matita`
+  were broken:
+  `echo "select distinct test from bench where mark = \"$OLDMARK\" and result = 'fail';" | mysql -u helm -h mowgli.cs.unibo.it matita`
+  
+EOT
 
-COMPILATION OUTPUT
-`cat LOG`
+fi
 
-EOT
 cd $OLD
 rm -rf $TMPDIRNAME