]> git.sur5r.net Git - bacula/bacula/blob - regress/run_bacula_regression
Add Marco's run regression wrapper script
[bacula/bacula] / regress / run_bacula_regression
1 #!/bin/ksh
2 #
3 # Small wrapper script for doing Bacula regression
4 #   You will undoubtedly need to edit this to make it 
5 #   work on your configuration
6 #
7
8 #
9 # Set this if you need to post via a proxy
10 #
11 #http_proxy="http://proxy.planets.elm.net:3128"
12 #export http_proxy
13
14 #
15 # Set this to the regression area where a git clone is put.
16 #
17 BACULA_REGRESS_HOME="/bacula_regress"
18 export BACULA_REGRESS_HOME
19
20 #
21 # Lets use the SUN compiler
22 #
23 CC="/usr/bin/cc"
24 CXX="/usr/bin/CC"
25 CFLAGS="-fast"
26 CXXFLAGS="-fast"
27
28 export CC CXX CFLAGS CXXFLAGS
29
30 #
31 # Regression script to run
32 #
33 REGRESSION_SCRIPT="./nightly-disk"
34
35 run_regression()
36 {
37    screen -S bacula_regression -d -m ${REGRESSION_SCRIPT}
38    while [ 1 ]
39    do
40       count=`screen -list 2>/dev/null | grep -c bacula_regression`
41       if [ ${count} -lt 1 ]; then
42          break
43       fi
44
45       sleep 60
46    done
47 }
48
49 run_sqlite3_regression()
50 {
51    #
52    # Run regression using sqlite3
53    #
54    if [ -f /root/configs/config.sqlite3 ]; then
55       ln -sf /root/configs/config.sqlite3 config
56       if [ $? = 0 ]; then
57          run_regression
58       fi
59    fi
60 }
61
62 run_postgresql_regression()
63 {
64    #
65    # Run regression using postgresql
66    #
67    if [ -f /root/configs/config.postgresql ]; then
68       ln -sf /root/configs/config.postgresql config
69       if [ $? = 0 ]; then
70          run_regression
71       fi
72    fi
73 }
74
75 run_mysql_regression()
76 {
77    #
78    # Run regression using mysql
79    #
80    if [ -f /root/configs/config.mysql ]; then
81       ln -sf /root/configs/config.mysql config
82       if [ $? = 0 ]; then
83          run_regression
84       fi
85    fi
86 }
87
88 usage()
89 {
90    echo "Usage: $0 <action>"
91    echo "Where action is :"
92    echo "   all - run sqlite3, postgresql and mysql regressions."
93    echo "   sqlite3 - run sqlite3 regressions."
94    echo "   postgresql - run postgresql regressions."
95    echo "   mysql - run mysql regressions."
96 }
97
98 main()
99 {
100    if [ $# -lt 1 ]; then
101       usage
102       exit 1
103    fi
104
105    . /etc/profile
106
107    cd ${BACULA_REGRESS_HOME}/regress || exit 1
108
109    case $1 in
110       all)
111          run_sqlite3_regression
112          run_postgresql_regression
113          run_mysql_regression
114          ;;
115       sqlite3)
116          run_sqlite3_regression
117          ;;
118       postgresql)
119          run_postgresql_regression
120          ;;
121       mysql)
122          run_mysql_regression
123          ;;
124       *)
125          usage
126          exit 1
127          ;;
128    esac
129
130    exit 0
131 }
132
133 main $*