@@ -6,38 +6,19 @@ POSTGRES_VERSION="${POSTGRES_VERSION:-18}"
66IMAGE=" ${IMAGE:- postgres-extensor-runtime-test} "
77CONTAINER_NAME=" ${CONTAINER_NAME:- postgres-extensor-runtime-test-$$ } "
88
9- cleanup () {
10- docker rm -f " ${CONTAINER_NAME} " > /dev/null 2>&1 || true
11- }
12-
13- trap cleanup EXIT
9+ trap ' docker rm -f "${CONTAINER_NAME}" >/dev/null 2>&1 || true' EXIT
1410
1511if [ " ${SKIP_BUILD:- false} " != " true" ]; then
1612 docker build -f .docker/Dockerfile -t " ${IMAGE} " --build-arg POSTGRES_VERSION=" ${POSTGRES_VERSION} " .
1713fi
1814
19- docker run -d --rm --name " ${CONTAINER_NAME} " \
20- -e POSTGRES_PASSWORD=postgres \
21- -e POSTGRES_DB=postgres \
22- " ${IMAGE} " > /dev/null
15+ docker run -d --rm --name " ${CONTAINER_NAME} " -e POSTGRES_PASSWORD=postgres " ${IMAGE} " > /dev/null
2316
24- for _ in $( seq 1 30) ; do
25- if docker exec " ${CONTAINER_NAME} " pg_isready -U postgres > /dev/null 2>&1 ; then
26- break
27- fi
17+ echo " Waiting for PostgreSQL to start..."
18+ until docker exec " ${CONTAINER_NAME} " pg_isready -U postgres > /dev/null 2>&1 ; do
2819 sleep 1
2920done
3021
31- if ! docker exec " ${CONTAINER_NAME} " pg_isready -U postgres > /dev/null 2>&1 ; then
32- echo " PostgreSQL did not become ready in time" >&2
33- exit 1
34- fi
35-
36- docker exec -i " ${CONTAINER_NAME} " psql -v ON_ERROR_STOP=1 -U postgres -d postgres << 'SQL '
37- CREATE EXTENSION IF NOT EXISTS vector;
38- CREATE EXTENSION IF NOT EXISTS pgmq;
39- CREATE EXTENSION IF NOT EXISTS postgis;
40-
41- SELECT extname FROM pg_extension WHERE extname IN ('vector','pgmq','postgis');
42- SELECT name FROM pg_available_extensions WHERE name IN ('pg_stat_statements');
43- SQL
22+ echo " Running SQL tests..."
23+ docker exec -i " ${CONTAINER_NAME} " psql -v ON_ERROR_STOP=1 -U postgres < .docker/runtime-test.sql
24+ echo " Tests passed successfully!"
0 commit comments