]> matita.cs.unibo.it Git - helm.git/blob - helm/matita/scripts/crontab.sh
5ad50de5ee47ea77bb1a997c1fb067a5752ba4e8
[helm.git] / helm / matita / scripts / crontab.sh
1 #!/bin/bash
2 TODAY=`date +%Y%m%d`
3 YESTERDAY=`date -d yesterday +%Y%m%d`
4 TMPDIRNAME=$HOME/__${TODAY}_crontab
5 TMPDIRNAMEOLD=$HOME/__${YESTERDAY}_crontab
6 SVNROOT="svn+ssh://mowgli.cs.unibo.it/local/svn/helm/trunk/"
7 SHELLTIME2CENTSPHP=scripts/shell_time2cents.php
8 SHELLADDERPHP=scripts/shell_adder.php
9 COMMONPHP=scripts/public_html/common.php
10
11
12 OLD=$PWD
13 mkdir -p $TMPDIRNAME
14 rm -rf $TMPDIRNAMEOLD
15 cd $TMPDIRNAME
16 rm -rf helm
17 svn co ${SVNROOT}helm/matita/scripts/ > LOG.svn 2>&1
18 scripts/profile_svn.sh 2> LOG
19
20 MARK=`echo "select distinct mark from bench where mark like '$TODAY%' order by mark" | mysql -u helm matita | tail -n 1`
21 LASTMARK=`echo "select distinct mark from bench where mark like '$YESTERDAY%' order by mark" | mysql -u helm matita | tail -n 1`
22
23 if [ -z "$MARK" ]; then
24   echo "No benchmark records for $TODAY"
25   exit 1
26 fi
27
28 if [ -z "$LASTMARK" ]; then
29   echo "No benchmark records for $YESTERDAY"
30   exit 1
31 fi
32
33 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;"`
34 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;"`
35
36 CUR_CENTS=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLTIME2CENTSPHP -- $COMMONPHP $CUR_TIME`
37 OLD_CENTS=`/usr/bin/php4 -c /etc/php4/apache/php.ini -f $SHELLTIME2CENTSPHP -- $COMMONPHP $OLD_TIME`
38
39 ((DELTA=$CUR_CENTS-$OLD_CENTS))
40 if [ $DELTA -lt 0 ]; then
41   PERC=0
42 else
43   ((PERC=100 * $DELTA))
44   ((PERC=$PERC / $OLD_CENTS))
45 fi
46 if [ $PERC -ge 5 ]; then
47   cat <<EOT
48   REPORT FOR `date`
49   http://mowgli.cs.unibo.it/~tassi/bench.php
50
51   PERFORMANCE LOSS DETECTED (MARK $MARK vs MARK $LASTMARK)
52   is $CUR_TIME sec 
53   was $OLD_TIME sec
54
55 EOT
56 fi
57
58 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';"`
59 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';"`
60
61 if [ $CUR_FAIL -gt $OLD_FAIL ]; then
62   cat <<EOT
63   REPORT FOR `date`
64   http://mowgli.cs.unibo.it/~tassi/bench.php
65
66   MORE BROKEN TESTS DETECTED (MARK $MARK vs MARK $LASTMARK)
67   now broken:
68   `echo "select distinct test from bench where mark = \"$MARK\" and result = 'fail';" | mysql -u helm -h mowgli.cs.unibo.it matita`
69   were broken:
70   `echo "select distinct test from bench where mark = \"$LASTMARK\" and result = 'fail';" | mysql -u helm -h mowgli.cs.unibo.it matita`
71   
72 EOT
73
74 fi
75
76 cd $OLD
77 #rm -rf $TMPDIRNAME
78