1.1 --- a/tests/common.sh Sat Jan 13 17:25:04 2018 +0100
1.2 +++ b/tests/common.sh Sat Jan 13 17:26:42 2018 +0100
1.3 @@ -38,6 +38,106 @@
1.4 PYTHONPATH="$BASE_DIR"
1.5 export PYTHONPATH
1.6
1.7 +
1.8 +
1.9 +# Helper functions.
1.10 +
1.11 +failed() {
1.12 + # [ <filename> ]
1.13 + echo -n "Failed"
1.14 + if [ "$1" ]; then
1.15 + echo ": $1"
1.16 + else
1.17 + echo
1.18 + fi
1.19 +}
1.20 +
1.21 +success() {
1.22 + echo "Success"
1.23 +}
1.24 +
1.25 +is_absent() {
1.26 + # <string> [ <filename> ]
1.27 + if [ "$2" ]; then
1.28 + ! grep -q "$1" "$2"
1.29 + else
1.30 + ! grep -q "$1"
1.31 + fi
1.32 +}
1.33 +
1.34 +is_present() {
1.35 + # <string> [ <filename> ]
1.36 + if [ "$2" ]; then
1.37 + grep -q "$1" "$2"
1.38 + else
1.39 + grep -q "$1"
1.40 + fi
1.41 +}
1.42 +
1.43 +list_script() {
1.44 + # <filename> <arg>...
1.45 + FILENAME=$1
1.46 + shift 1
1.47 + "$LIST_SCRIPT" $LIST_ARGS $* > "$FILENAME"
1.48 +}
1.49 +
1.50 +outgoing_script() {
1.51 + # [ <filename> ]
1.52 + if [ "$1" ]; then
1.53 + "$OUTGOING_SCRIPT" < "$1" $ARGS 2>> $ERROR
1.54 + else
1.55 + "$OUTGOING_SCRIPT" $ARGS 2>> $ERROR
1.56 + fi
1.57 +}
1.58 +
1.59 +person_script() {
1.60 + # <filename> <output filename> [ <raw output filename> ]
1.61 + OUTFILE="$3"
1.62 + "$PERSON_SCRIPT" $ARGS < "$1" 2>> $ERROR \
1.63 + | tee $OUTFILE \
1.64 + | "$SHOWMAIL" \
1.65 + > "$2"
1.66 +}
1.67 +
1.68 +showmail() {
1.69 + # <filename>
1.70 + "$SHOWMAIL" < "$1"
1.71 +}
1.72 +
1.73 +test_freebusy() {
1.74 + # <start> <end> <filename>
1.75 + is_present "^$1${TAB}$2" "$3" && success || failed "$3"
1.76 +}
1.77 +
1.78 +test_freebusy_missing() {
1.79 + # <start> <end> <filename>
1.80 + is_absent "^$1${TAB}$2" "$3" && success || failed "$3"
1.81 +}
1.82 +
1.83 +text_client() {
1.84 + # <user> <command filename> [ <event filename> ]
1.85 + LOG=`basename "$2" .tmp`_log.tmp
1.86 + if [ "$3" ]; then
1.87 + "$TEXT_CLIENT" $ARGS -u "$1" -f "$3" --echo < "$2" > "$LOG"
1.88 + else
1.89 + "$TEXT_CLIENT" $ARGS -u "$1" --echo < "$2" > "$LOG"
1.90 + fi
1.91 +}
1.92 +
1.93 +text_client_specific() {
1.94 + # <user> <command filename> <uid> [ <recurrence-id> ]
1.95 + LOG=`basename "$2" .tmp`_log.tmp
1.96 + if [ "$4" ]; then
1.97 + "$TEXT_CLIENT" $ARGS -u "$1" --uid "$3" --recurrence-id "$4" --echo < "$2" > "$LOG"
1.98 + else
1.99 + "$TEXT_CLIENT" $ARGS -u "$1" --uid "$3" --echo < "$2" > "$LOG"
1.100 + fi
1.101 +}
1.102 +
1.103 +
1.104 +
1.105 +# Test environment initialisation.
1.106 +
1.107 if [ "$STORE_TYPE" = "file" ]; then
1.108 rm -rf "$STORE"
1.109 rm -rf "$JOURNAL"