1#!/bin/bash
2
3set -e
4
5# This script assumes that galera cluster is alredy installed and configured
6
7# This is location of this script. _HOME suffix preferred to _ROOT to avoid
8# confusion
9THIS_HOME=$(cd $(dirname $0); pwd -P)
10
11# Optional configuration file
12if test -n "$GALERA_TEST_CONFIG"
13then
14. "$GALERA_TEST_CONFIG"
15fi
16
17GALERA_TESTS_HOME=${GALERA_TESTS_HOME:-$THIS_HOME}
18GALERA_RESULTS_HOME=${GALERA_RESULTS_HOME:-$GALERA_TESTS_HOME/results}
19
20# Incoming cluster address (load balancer)
21export GALERA_CLUSTER_IP=${GALERA_CLUSTER_IP:-"127.0.0.1"}
22export GALERA_CLUSTER_PORT=${GALERA_CLUSTER_PORT:-3306}
23
24# List of tests to run
25GALERA_TESTS=${GALERA_TESTS:-"sqlgen dbt2 dots"}
26
27# This is needed for native load balancing and consistency checking
28export GALERA_NODES_IPS=${GALERA_NODE_IPS:?"GALERA_NODE_IPS not set"}
29export GALERA_NODES_PORTS=${GALERA_NODE_PORTS:?"GALERA_NODE_PORTS not set"}
30
31
32# Create a results directory for this run
33GALERA_DATE=$(date +%Y-%m-%d_%H:%M:%S)
34mkdir -p $GALERA_RESULTS_HOME/$GALERA_DATE
35
36declare TESTS_FAILED
37TESTS_FAILED=0
38for TEST in $GALERA_TESTS
39do
40    export GALERA_RESULT_DIR=$GALERA_RESULTS_HOME/$GALERA_DATE/$TEST
41    mkdir -p $GALERA_RESULT_DIR
42    echo -n "Running $TEST... "
43    $GALERA_TESTS_HOME/test_$TEST/run.sh && echo "passed" \
44    || { TESTS_FAILED=$[ $TESTS_FAILED + 1 ]; echo "failed"; }
45done
46
47if [ $TESTS_FAILED != "0" ]
48then
49    echo "Tests failed: $TESTS_FAILED"
50    exit 1
51fi
52
53#
54