annotate schema/run_tests.sh @ 196:b67208d82543

Make test output more comprehensive Running all tests in one transaction ensures the final output tells about any failing test, not just in the last transaction (i.e. test script). The price is that no traces of the tests are left in the database because we have to rollback in order to have no left-over test roles in the cluster.
author Tom Gottfried <tom@intevation.de>
date Fri, 20 Jul 2018 18:31:45 +0200
parents a9d9c2b1d08c
children 88d21c29cf04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
172
a422471db08a Automate running DB-tests with an extra database
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
1 #!/bin/sh -e
a422471db08a Automate running DB-tests with an extra database
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
2
a422471db08a Automate running DB-tests with an extra database
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
3 dropdb --if-exists gemma_test
a422471db08a Automate running DB-tests with an extra database
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
4 createdb gemma_test
183
f3a09fc9c1eb Prepare for having more than one database test script
Tom Gottfried <tom@intevation.de>
parents: 172
diff changeset
5 psql -qv ON_ERROR_STOP= -c 'CREATE EXTENSION pgtap' -d gemma_test
172
a422471db08a Automate running DB-tests with an extra database
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
6
185
a9d9c2b1d08c Add database function to create role and user profile
Tom Gottfried <tom@intevation.de>
parents: 183
diff changeset
7 psql -qv ON_ERROR_STOP= -d gemma_test \
a9d9c2b1d08c Add database function to create role and user profile
Tom Gottfried <tom@intevation.de>
parents: 183
diff changeset
8 -f gemma.sql \
a9d9c2b1d08c Add database function to create role and user profile
Tom Gottfried <tom@intevation.de>
parents: 183
diff changeset
9 -f auth.sql \
a9d9c2b1d08c Add database function to create role and user profile
Tom Gottfried <tom@intevation.de>
parents: 183
diff changeset
10 -f manage_users.sql
172
a422471db08a Automate running DB-tests with an extra database
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
11
196
b67208d82543 Make test output more comprehensive
Tom Gottfried <tom@intevation.de>
parents: 185
diff changeset
12 # Add test data, run tests and ROLLBACK to prevent test roles to stay
b67208d82543 Make test output more comprehensive
Tom Gottfried <tom@intevation.de>
parents: 185
diff changeset
13 # in cluster, which would prevent tests from being repeatable
b67208d82543 Make test output more comprehensive
Tom Gottfried <tom@intevation.de>
parents: 185
diff changeset
14 psql -qXv ON_ERROR_STOP= -v AUTOCOMMIT=off -d gemma_test \
b67208d82543 Make test output more comprehensive
Tom Gottfried <tom@intevation.de>
parents: 185
diff changeset
15 -f tap_tests_data.sql \
b67208d82543 Make test output more comprehensive
Tom Gottfried <tom@intevation.de>
parents: 185
diff changeset
16 -c 'SELECT plan(22)' \
b67208d82543 Make test output more comprehensive
Tom Gottfried <tom@intevation.de>
parents: 185
diff changeset
17 -f auth_tests.sql \
b67208d82543 Make test output more comprehensive
Tom Gottfried <tom@intevation.de>
parents: 185
diff changeset
18 -f manage_users_tests.sql \
b67208d82543 Make test output more comprehensive
Tom Gottfried <tom@intevation.de>
parents: 185
diff changeset
19 -c 'SELECT * FROM finish()' \
b67208d82543 Make test output more comprehensive
Tom Gottfried <tom@intevation.de>
parents: 185
diff changeset
20 -c 'ROLLBACK'