]> git.sur5r.net Git - bacula/bacula/blob - regress/run_bacula_regression
Don't enable SUN compiler by default and make the configdir configurable.
[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 # Directory where regress config templates are stored per db type.
22 #
23 CONFIG_DIR="/root/configs"
24
25 #
26 # Lets use the SUN compiler
27 #
28 #CC="/usr/bin/cc"
29 #CXX="/usr/bin/CC"
30 #CFLAGS="-fast"
31 #CXXFLAGS="-fast"
32 #
33 #export CC CXX CFLAGS CXXFLAGS
34
35 #
36 # Regression script to run
37 #
38 REGRESSION_SCRIPT="./nightly-disk"
39
40 run_regression()
41 {
42    screen -S bacula_regression -d -m ${REGRESSION_SCRIPT}
43    while [ 1 ]
44    do
45       count=`screen -list 2>/dev/null | grep -c bacula_regression`
46       if [ ${count} -lt 1 ]; then
47          break
48       fi
49
50       sleep 60
51    done
52 }
53
54 run_sqlite3_regression()
55 {
56    #
57    # Run regression using sqlite3
58    #
59    if [ -f ${CONFIG_DIR}/config.sqlite3 ]; then
60       ln -sf ${CONFIG_DIR}/config.sqlite3 config
61       if [ $? = 0 ]; then
62          run_regression
63       fi
64    fi
65 }
66
67 run_postgresql_regression()
68 {
69    #
70    # Run regression using postgresql
71    #
72    if [ -f ${CONFIG_DIR}/config.postgresql ]; then
73       ln -sf ${CONFIG_DIR}/config.postgresql config
74       if [ $? = 0 ]; then
75          run_regression
76       fi
77    fi
78 }
79
80 run_mysql_regression()
81 {
82    #
83    # Run regression using mysql
84    #
85    if [ -f ${CONFIG_DIR}/config.mysql ]; then
86       ln -sf ${CONFIG_DIR}/config.mysql config
87       if [ $? = 0 ]; then
88          run_regression
89       fi
90    fi
91 }
92
93 usage()
94 {
95    echo "Usage: $0 <action>"
96    echo "Where action is :"
97    echo "   all - run sqlite3, postgresql and mysql regressions."
98    echo "   sqlite3 - run sqlite3 regressions."
99    echo "   postgresql - run postgresql regressions."
100    echo "   mysql - run mysql regressions."
101 }
102
103 main()
104 {
105    if [ $# -lt 1 ]; then
106       usage
107       exit 1
108    fi
109
110    . /etc/profile
111
112    cd ${BACULA_REGRESS_HOME}/regress || exit 1
113
114    case $1 in
115       all)
116          run_sqlite3_regression
117          run_postgresql_regression
118          run_mysql_regression
119          ;;
120       sqlite3)
121          run_sqlite3_regression
122          ;;
123       postgresql)
124          run_postgresql_regression
125          ;;
126       mysql)
127          run_mysql_regression
128          ;;
129       *)
130          usage
131          exit 1
132          ;;
133    esac
134
135    exit 0
136 }
137
138 main $*