emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/emacsql c68f11b74e 313/427: Register emacsql-pg for unit t


From: ELPA Syncer
Subject: [nongnu] elpa/emacsql c68f11b74e 313/427: Register emacsql-pg for unit testing.
Date: Tue, 13 Dec 2022 02:59:54 -0500 (EST)

branch: elpa/emacsql
commit c68f11b74e667aec62ac07d20c83f62f289a4726
Author: Christopher Wellons <wellons@nullprogram.com>
Commit: Christopher Wellons <wellons@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.")
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]