Subject: [PATCH 043/232] gnu: Add python-pytest-freezegun.

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 24 Apr 2022 23:56:09 -0400

* gnu/packages/check.scm (python-pytest-freezegun): New variable.
---
 gnu/packages/check.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 75b42b945a..1db4457dde 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2200,6 +2200,38 @@ (define-public python-lit
 failures.")
     (license license:ncsa)))
 
+(define-public python-pytest-freezegun
+  (package
+    (name "python-pytest-freezegun")
+    (version "0.4.2")
+    (source (origin
+              ;; The test suite is not included in the PyPI archive.
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ktosiek/pytest-freezegun")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv")))))))
+    (propagated-inputs (list python-freezegun python-pytest))
+    (native-inputs (list unzip))
+    (home-page "https://github.com/ktosiek/pytest-freezegun")
+    (synopsis "Pytest plugin to freeze time in test fixtures")
+    (description "The @code{pytest-freezegun} plugin wraps tests and fixtures
+with @code{freeze_time}, which allows to control (i.e., freeze) the time seen
+by the test.")
+    (license license:expat)))
+
 (define-public python-pytest-mypy
   (package
     (name "python-pytest-mypy")
-- 
2.34.0