branch: elpa/emacsql
commit c68f11b74e667aec62ac07d20c83f62f289a4726
Author: Christopher Wellons <[email protected]>
Commit: Christopher Wellons <[email protected]>
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.")