#!/usr/bin/env bash set -e export DJANGO_SETTINGS_MODULE=zproject.test_settings create_template_database() { psql -v ON_ERROR_STOP=1 -h localhost postgres zulip_test << EOF DROP DATABASE IF EXISTS zulip_test_template; CREATE DATABASE zulip_test_template TEMPLATE zulip_test; EOF } if [ "$1" != "--force" ]; then "$(dirname "$0")/../../scripts/setup/terminate-psql-sessions" zulip zulip_test zulip_test_base zulip_test_template psql -v ON_ERROR_STOP=1 -h localhost postgres zulip_test << EOF DROP DATABASE IF EXISTS zulip_test; CREATE DATABASE zulip_test TEMPLATE zulip_test_template; EOF sh "$(dirname "$0")/../../scripts/setup/flush-memcached" exit 0 fi mkdir -p zerver/tests/fixtures "$(dirname "$0")/../../scripts/setup/terminate-psql-sessions" zulip zulip_test zulip_test_base zulip_test_template psql -v ON_ERROR_STOP=1 -h localhost postgres zulip_test < zerver/tests/fixtures/messages.json # create pristine template database, for fast fixture restoration after tests are run. create_template_database