summaryrefslogtreecommitdiff
path: root/tests/testlib.sh
blob: fe96c6d00b2c7013575515004972c8009f8eb6d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#! /bin/sh

. ../env.sh

mkdir -p log pid conf

../zstop.sh

v=
v=-v
v=-q

#set -o pipefail

cleardb() {
  echo "// Clearing database $1"
  psql -q -d $1 -c "
      set client_min_messages=warning;
      drop schema if exists londiste cascade;
      drop schema if exists pgq_node cascade;
      drop schema if exists pgq cascade;
  "
  psql -q -t -d $1 -c "
    select 'drop table ' || relname || ' cascade;' from pg_class c, pg_namespace n
    where relnamespace = n.oid and n.nspname = 'public' and c.relkind='r';
  " | psql -q -d $1
  psql -q -t -d $1 -c "
    select 'drop sequence ' || relname || ';' from pg_class c, pg_namespace n
    where relnamespace = n.oid and n.nspname = 'public' and c.relkind='S';
  " | psql -q -d $1
}

clearlogs() {
  code_off
  echo "// clean logs"
  rm -f log/*.log log/*.log.[0-9]
}

code=0

code_on() {
  test $code = 1 || echo "----------"
  code=1
}

code_off() {
  test $code = 0 || echo "----------"
  code=0
}

title() {
  code_off
  echo ""
  echo "=" "$@" "="
  echo ""
}

title2() {
  code_off
  echo ""
  echo "==" "$@" "=="
  echo ""
}

title3() {
  code_off
  echo ""
  echo "==" "$@" "=="
  echo ""
}

run() {
  code_on
  echo "$ $*"
  "$@" 2>&1
}

run_sql() {
  code_on
  echo "$ psql -d \"$1\" -c \"$2\""
  psql -d "$1" -c "$2" 2>&1
}

run_qadmin() {
  code_on
  echo "$ qadmin -d \"$1\" -c \"$2\""
  qadmin -d "$1" -c "$2" 2>&1
}

msg() {
  code_off
  echo ""
  echo "$@"
  echo ""
}

cat_file() {
  code_off
  mkdir -p `dirname $1`
  echo ".File: $1"
  case "$1" in
    *Makefile) echo "[source,makefile]" ;;
    #*.[ch]) echo "[source,c]" ;;
    #*.ac) echo "[source,autoconf]" ;;
    #*.sh) echo "[source,shell]" ;;
    #*.sql) echo "[source,sql]" ;;
    *.*) printf "[source,%s]\n" `echo $1 | sed 's/.*\.//'` ;;
  esac
  echo "-----------------------------------"
  sed 's/^      //' > $1
  cat $1
  echo "-----------------------------------"
}