branch: elpa/emacsql commit c68f11b74e667aec62ac07d20c83f62f289a4726 Author: Christopher Wellons <well...@nullprogram.com> Commit: Christopher Wellons <well...@nullprogram.com>
Register emacsql-pg for unit testing. --- README.md | 5 +++-- tests/emacsql-external-tests.el | 18 +++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index a5af45373c..5da1c6a107 100644 --- a/README.md +++ b/README.md @@ -352,8 +352,9 @@ and unit testing. make test If the environment variable `PGDATABASE` is present then the unit -tests will also be run with PostgreSQL. Also provide `PGHOST`, -`PGPORT`, and `PGUSER` if needed. +tests will also be run with PostgreSQL (emacsql-psql). Provide +`PGHOST`, `PGPORT`, and `PGUSER` if needed. If `PGUSER` is provided, +the pg.el backend (emacsql-pg) will also be tested. If the environment variable `MYSQL_DBNAME` is present then the unit tests will also be run with MySQL in the named database. Note that diff --git a/tests/emacsql-external-tests.el b/tests/emacsql-external-tests.el index dbb673d073..99150dc0d7 100644 --- a/tests/emacsql-external-tests.el +++ b/tests/emacsql-external-tests.el @@ -6,6 +6,7 @@ (require 'emacsql-sqlite) (require 'emacsql-psql) (require 'emacsql-mysql) +(require 'emacsql-pg) (defvar emacsql-tests-timeout 4 "Be aggressive about not waiting on subprocesses in unit tests.") @@ -13,14 +14,17 @@ (defvar emacsql-tests-connection-factories (let ((factories ()) (pgdatabase (getenv "PGDATABASE")) + (pguser (getenv "PGUSER")) (mysql-dbname (getenv "MYSQL_DBNAME"))) - (push (cons "sqlite" (apply-partially #'emacsql-sqlite nil)) factories) - (when pgdatabase - (push (cons "psql" (apply-partially #'emacsql-psql pgdatabase)) - factories)) - (when mysql-dbname - (push (cons "mysql" (apply-partially #'emacsql-mysql mysql-dbname)) - factories)) + (cl-labels ((reg (name &rest args) + (push (cons name (apply #'apply-partially args)) factories))) + (reg "sqlite" #'emacsql-sqlite nil) + (when pgdatabase + (reg "psql" #'emacsql-psql pgdatabase)) + (when (and pgdatabase pguser) + (reg "pg" #'emacsql-pg pgdatabase pguser)) + (when mysql-dbname + (reg "mysql" #'emacsql-mysql mysql-dbname))) (nreverse factories)) "List of connection factories to use in unit tests.")