]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/CalibMacros/CPass0/validation.sh
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / CalibMacros / CPass0 / validation.sh
1 #!/bin/bash
2
3 validateout=`dirname $0`
4 validated="0";
5 error=1
6
7 if [ -z "$validateout" ]; then
8     validateout="."
9 fi
10
11 cd "$validateout"
12 validateworkdir=`pwd`
13
14 (
15 echo "*******************************************************"
16 echo "* AliRoot Validation Script V2.0                      *"
17 echo "* Time:    `date`"
18 echo "* Dir:     $validateout"
19 echo "* Workdir: $validateworkdir"
20 echo "* ----------------------------------------------------*"
21 ls -lA .
22 echo "* ----------------------------------------------------*"
23 ) >> stdout
24
25 if [ -f OCDB.generating.job ]; then
26     echo "* This was a special OCDB.root job for which I'll skip the rest of the validation" >> stdout
27
28     mv stdout stdout.ocdb.log 2>/dev/null
29     mv stderr stderr.ocdb.log 2>/dev/null
30     mv rec.log stdrec.ocdb.log 2>/dev/null
31
32     if [ -f OCDB.root ]; then
33         echo "* ODCB.root found" >> stdout.ocdb.log
34         exit 0
35     else
36         echo "* OCDB.root NOT found! Failing validation" >> stdout.ocdb.log
37         exit 1
38     fi
39 fi
40
41 cp stdout stdout.log
42 cp stderr stderr.log
43
44 ##################################################
45 if [ -f rec.log ] && [ -f calib.log ] && [ -f AliESDs.root ] && [ -f AliESDfriends_v1.root ]  
46 then 
47 sv=`grep -i  "Segmentation violation" *.log`
48 if [ "$sv" = "" ]
49     then
50     sf=`grep -i  "Segmentation fault" *.log`
51     if [ "$sf" = "" ]
52         then
53         be=`grep -i  "Bus error" *.log`
54         if [ "$be" = "" ]
55             then
56             ab=`grep -i "Break" *.log`
57             if [ "$ab" = "" ]
58                 then
59                 fp=`grep -i  "Floating point exception" *.log`
60                 if [ "$fp" = "" ]
61                     then
62                     kl=`grep -i  "Killed" *.log`
63                     if [ "$kl" = "" ]
64                         then
65                         bf=`grep -i "busy flag cleared" *.log`
66                         if [ "$bf" = "" ]
67                             then
68                                echo "* ----------------   Job Validated  ------------------*" >> stdout;
69                                error="0";
70                             else
71                                echo "* #             Check Macro failed !                  #" >> stdout;
72                         fi
73                     fi
74                 fi
75             fi
76         fi
77     fi
78 fi
79 else
80     echo "* ########## Job not validated - no rec.log or calib.log or AliESDs.root  && AliESDfriends.root ###" >> stdout;
81     echo "* ########## Removing all ROOT files from the local directory, leaving only the logs ###" >> stdout;
82     rm -rf *.root
83 fi
84 if [ "$error" = "1" ] 
85     then
86     echo "* ################   Job not validated ################" >> stdout;
87 fi
88 echo "* ----------------------------------------------------*" >> stdout;
89 echo "*******************************************************" >> stdout;
90
91 exit $error