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