]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/scripts/crontab.sh
removed php-shell scripts
[helm.git] / helm / software / matita / scripts / crontab.sh
index 65578a87c3989c708dd939e8285bff9b5e38a70a..99b4a13a6b77abd171c9495eeac3dfdde1af9fbe 100644 (file)
@@ -1,4 +1,6 @@
 #!/bin/bash
+
+#configuration
 TODAY=`date +%Y%m%d`
 YESTERDAY=`date -d yesterday +%Y%m%d`
 TMPDIRNAME=$HOME/__${TODAY}_crontab
@@ -7,18 +9,29 @@ SVNROOT="svn+ssh://mowgli.cs.unibo.it/local/svn/helm/trunk/"
 SHELLTIME2CENTSPHP=scripts/shell_time2cents.php
 SHELLADDERPHP=scripts/shell_adder.php
 COMMONPHP=scripts/public_html/common.php
-
-
+MYSQL="mysql -u helm -h mowgli.cs.unibo.it matita"
+SQLQMARK="select distinct mark from bench where mark like '"
+SQLQORD="' order by mark;"
+SQLQTIME="select SUM(timeuser) from bench where mark = \""
+SQLQGRMARK="\" group by mark;"
+SQLQFAIL="select count(distinct test) from bench where mark = \""
+SQLQFAIL1="select distinct test from bench where mark = \""
+SQLQFAIL2="\" and result = 'fail';"
+URL="http://mowgli.cs.unibo.it/~tassi/bench.php"
+
+#initialization
 OLD=$PWD
 mkdir -p $TMPDIRNAME
 rm -rf $TMPDIRNAMEOLD
 cd $TMPDIRNAME
 rm -rf helm
 svn co ${SVNROOT}helm/software/matita/scripts/ > LOG.svn 2>&1
+
+#run tests
 scripts/profile_svn.sh 2> LOG
 
-MARK=`echo "select distinct mark from bench where mark like '$TODAY%' order by mark" | mysql -u helm matita | tail -n 1`
-LASTMARK=`echo "select distinct mark from bench where mark like '$YESTERDAY%' order by mark" | mysql -u helm matita | tail -n 1`
+MARK=`echo $SQLQMARK$TODAY%$SQLQORD | $MYSQL | tail -n 1`
+LASTMARK=`echo $SQLQMARK$YESTERDAY%$SQLQORD | $MYSQL | tail -n 1`
 
 if [ -z "$MARK" ]; then
   echo "No benchmark records for $TODAY"
@@ -30,45 +43,45 @@ if [ -z "$LASTMARK" ]; then
   exit 1
 fi
 
-CUR_TIME=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLADDERPHP -- $COMMONPHP "select SEC_TO_TIME(SUM(TIME_TO_SEC(time))) from bench where mark = \"$MARK\" group by mark;"`
-OLD_TIME=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLADDERPHP -- $COMMONPHP  "select SEC_TO_TIME(SUM(TIME_TO_SEC(time))) from bench where mark = \"$LASTMARK\" group by mark;"`
-
-CUR_CENTS=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLTIME2CENTSPHP -- $COMMONPHP $CUR_TIME`
-OLD_CENTS=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLTIME2CENTSPHP -- $COMMONPHP $OLD_TIME`
+#check for slowdown
+CUR_TIME=`echo $SQLQTIME$MARK$SQLQGRMARK | $MYSQL`
+OLD_TIME=`echo $SQLQTIME$LASTMARK$SQLQGRMARK | $MYSQL`
 
 ((DELTA=$CUR_CENTS-$OLD_CENTS))
 if [ $DELTA -lt 0 ]; then
   PERC=0
 else
-  ((PERC=100 * $DELTA))
-  ((PERC=$PERC / $OLD_CENTS))
+  PREC=`scripts/functions.lua proportion $DELTA x $OLD_CENTS 100`
 fi
 if [ $PERC -ge 5 ]; then
   cat <<EOT
-  REPORT FOR `date`
-  http://mowgli.cs.unibo.it/~tassi/bench.php
-
+  
   PERFORMANCE LOSS DETECTED (MARK $MARK vs MARK $LASTMARK)
-  is $CUR_TIME sec 
-  was $OLD_TIME sec
-
+  
+  Is `scripts/functions.lua t2s $CUR_TIME` 
+  
+  Was `scripts/functions.lua t2s $OLD_TIME`
+  
+  For details: $URL
 EOT
 fi
 
-CUR_FAIL=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLADDERPHP -- $COMMONPHP "select count(distinct test) from bench where mark = \"$MARK\" and result = 'fail';"`
-OLD_FAIL=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLADDERPHP -- $COMMONPHP "select count(distinct test) from bench where mark = \"$LASTMARK\" and result = 'fail';"`
+#check for more broken tests
+CUR_FAIL=`echo $SQLQFAIL$MARK$SQLQFAIL2 | $MYSQL`
+OLD_FAIL=`echo $SQLQFAIL$LASTMARK$SQLQFAIL2 | $MYSQL`
 
 if [ $CUR_FAIL -gt $OLD_FAIL ]; then
   cat <<EOT
-  REPORT FOR `date`
-  http://mowgli.cs.unibo.it/~tassi/bench.php
 
   MORE BROKEN TESTS DETECTED (MARK $MARK vs MARK $LASTMARK)
-  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 = \"$LASTMARK\" and result = 'fail';" | mysql -u helm -h mowgli.cs.unibo.it matita`
   
+  Now broken:
+`echo $SQLQFAIL1$MARK$SQLQFAIL2 | $MYSQL`
+
+  Were broken:
+`echo $SQLQFAIL1$LASTMARK$SQLQFAIL2 | $MYSQL`
+  
+  For details: $URL
 EOT
 
 fi