branch: elpa/pg
commit 8e34aa05e45a931ce81c48711916a958cba1700b
Author: Eric Marsden <eric.mars...@risk-engineering.org>
Commit: Eric Marsden <eric.mars...@risk-engineering.org>

    Add test recipes for StoolAP, BabelfishPG and Kinetica variants
---
 test/Makefile | 62 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 51 insertions(+), 11 deletions(-)

diff --git a/test/Makefile b/test/Makefile
index dab2301c1e..1349f63640 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -164,15 +164,15 @@ test-postgresql18beta1tls: test-pg.el
        ${DOCKER} volume import pgcerts ${WORKDIR}/certs.tar
        ${DOCKER} run --rm --name pgsql \
            --pull=newer \
-          -v pgcerts:/certs:U \
-          --publish 5418:5418 \
-          -e POSTGRES_DB=pgeltestdb \
-          -e POSTGRES_USER=pgeltestuser \
-          -e POSTGRES_PASSWORD=pgeltest \
-          -e PGPORT=5418 \
-          -e TZ=Asia/Tokyo \
+           -v pgcerts:/certs:U \
+           --publish 5418:5418 \
+           -e POSTGRES_DB=pgeltestdb \
+           -e POSTGRES_USER=pgeltestuser \
+           -e POSTGRES_PASSWORD=pgeltest \
+           -e PGPORT=5418 \
+           -e TZ=Asia/Tokyo \
            --user postgres \
-          localhost/postgres:18-beta1 \
+           -d docker.io/library/postgres:18beta1-alpine \
               -c ssl=on \
               -c ssl_cert_file=/certs/server.crt \
               -c ssl_key_file=/certs/server.key
@@ -599,6 +599,22 @@ test-documentdb: test-pg.el
        ${DOCKER} stop documentdb
 
 
+# https://babelfishpg.org/
+# https://hub.docker.com/r/jonathanpotts/babelfishpg
+#
+# This behaves exactly like PostgreSQL (which it is forked from).
+test-babelfish: test-pg.el
+       ${DOCKER} run --rm --name babelfish \
+          --publish 127.0.0.1:5410:5432 \
+          -e POSTGRES_USER=pgeltestuser \
+          -e POSTGRES_PASSWORD=pgeltest \
+          -e POSTGRES_DB=pgeltestdb \
+          -d docker.io/jonathanpotts/babelfishpg:latest
+       sleep 5
+       PGURI=postgresql://babelfish_user:12345678@127.0.0.1:5410/postgres 
$(MAKE) test
+       ${DOCKER} stop babelfish
+
+
 # Test pgbouncer proxying to our local PostgreSQL (in session pooling mode, so 
that functionality
 # such as LISTEN works).
 #
@@ -690,10 +706,9 @@ test-readyset: test-pg.el
 test-cratedb: test-pg.el
        ${DOCKER} run --rm --name cratedb \
           --pull=newer \
-         --net host \
+          --net host \
           -e CRATE_HEAP_SIZE=1g \
-          -d docker.io/crate \
-         -Cnetwork.host=127.0.0.1 -Cdiscovery.type=single-node -Cpsql.port=5789
+          -d docker.io/crate -Cnetwork.host=127.0.0.1 
-Cdiscovery.type=single-node -Cpsql.port=5789
        sleep 5
        PGURI=postgresql://crate@127.0.0.1:5789/postgres $(MAKE) test
        ${DOCKER} stop cratedb
@@ -1064,6 +1079,31 @@ test-arcadedb: test-pg.el
        ${DOCKER} stop arcadedb
 
 
+# https://stoolap.io/
+# https://github.com/stoolap/stoolap
+#
+# We don't currently bother recognizing this as a PostgreSQL variant, because 
its PostgreSQL
+# compatibility at the SQL level is very low. For instance, it doesn't 
recognize schema-qualified
+# names such as schema.table.
+test-stoolap: test-pg.el
+       cd /tmp/ && git clone --depth 1 https://github.com/stoolap/stoolap.git
+       cd /tmp/stoolap && go build -o /tmp/stoolap-pgserver 
./cmd/stoolap-pgserver
+       /tmp/stoolap-pgserver --database memory:// --bind 127.0.0.1:5401 &
+       sleep 2
+       PGURI=postgresql://pgeltestuser:pgeltest@127.0.0.1:5401/stoolap $(MAKE) 
test
+       rm -rf /tmp/stoolap-pgserver /tmp/stoolap
+
+
+# https://www.kinetica.com/kinetica-developer-edition/
+test-kinetica: test-pg.el
+       ${DOCKER} run --rm --name kinetica \
+          --pull=newer \
+          --publish 127.0.0.1:5434:5432 \
+          -d docker.io/kinetica/kinetica-cpu:latest /bin/sh -c 
"/opt/gpudb/core/bin/gpudb start && sleep 1000"
+       sleep 120   # fantastically slow to start up!
+       PGURI=postgresql://admin:admin@127.0.0.1:5434/kinetica $(MAKE) test
+
+
 # https://github.com/surrealdb/surrealdb?tab=readme-ov-file#run-using-docker
 #
 # It looks like PostgreSQL wire protocol support is "in development".

Reply via email to