guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 9da35d740981355722ef8e59ffe904f24261f5be
Author: Nicolas Graves <[email protected]>
AuthorDate: Mon Dec 22 22:21:32 2025 +0100
gnu: python-psycopg2: Run tests and migrate to pyproject.
* gnu/packages/databases.scm (python-psycopg2)
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags, #:phases>: Set them to run tests.
[native-inputs]: Add postgresql, tzdata-for-tests, python-pytest,
python-setuptools
Change-Id: I51b356a4e2d56f95aeff53f4a7a4b9c600d9744c
Signed-off-by: Sharlatan Hellseher <[email protected]>
---
gnu/packages/databases.scm | 33 +++++++++++++++++++++++++++++----
1 file changed, 29 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 57d23861c3..0d0d218da3 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4709,11 +4709,36 @@ libraries with SQLALchemy.")
(uri (pypi-uri "psycopg2" version))
(sha256
(base32 "04chl9f7v7k1zssa40pmk06jvpyqiss2lpjq50dq69nqix0mhlgi"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- ;; Tests would require a postgresql database "psycopg2_test"
- ;; and a running postgresql database management service.
- '(#:tests? #f)) ; TODO re-enable after providing a test-db.
+ (list
+ #:test-flags
+ #~(list "--deselect=tests/test_ipaddress.py::NetworkingTestCase::\
+test_cidr_adapt"
+ "--deselect=tests/test_ipaddress.py::NetworkingTestCase::\
+test_inet_adapt")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'start-postgresql
+ (lambda* (#:key inputs tests? #:allow-other-keys)
+ (when tests?
+ (setenv "TZDIR" (search-input-directory inputs
+ "share/zoneinfo"))
+ (let ((dbdir (string-append (getcwd) "/../pgdir")))
+ (setenv "PSYCOPG2_TESTDB_USER" "nixbld")
+ (setenv "PSYCOPG2_TESTDB_HOST" dbdir)
+ (invoke "initdb" "-D" dbdir)
+ (invoke "pg_ctl" "-D" dbdir
+ "-o" (string-append "-k " dbdir)
+ "-l" (string-append dbdir "/db.log")
+ "start")
+ (invoke "psql" "-h" dbdir "-d" "postgres"
+ "-c" "CREATE DATABASE psycopg2_test;"))))))))
+ (native-inputs
+ (list postgresql
+ python-pytest
+ python-setuptools
+ tzdata-for-tests))
(inputs
(list postgresql)) ; libpq
(home-page "https://www.psycopg.org/")