Subject: [bug#50018] [PATCH 16/19] gnu: python-celery: Enable tests.

From: Vinicius Monego <[email-masked]>
Date: Wed, 11 Aug 2021 23:45:08 +0000

* gnu/packages/python-xyz.scm (python-celery)[arguments]: Remove
'patch-requirements phase. Remove #:tests?. Override 'check phase.
[native-inputs]: Add python-flaky, python-iniconfig, python-moto,
python-pytest-celery, python-pytest-subtests, python-pytest-timeout, python-toml.
---
 gnu/packages/python-xyz.scm | 32 ++++++++++++++++++++++----------
 1 file changed, 22 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 175bab1b89..21b2d59d8a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13344,20 +13344,32 @@ Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.")
         (base32 "1c6lw31i3v81fyj4yn37lbvv70xdgb389iccirzyjr992vlkv6ld"))))
     (build-system python-build-system)
     (arguments
-     '(;; TODO The tests fail with Python 3.7
-       ;; https://github.com/celery/celery/issues/4849
-       #:tests? #f
-       #:phases
+     '(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-requirements
+         (add-after 'unpack 'skip-problematic-tests
            (lambda _
-             (substitute* "requirements/test.txt"
-               (("pytest>=3\\.0,<3\\.3")
-                "pytest>=3.0"))
-             #t)))))
+             (for-each delete-file-recursively
+                       '("t/distro" ; tests requirements for CI
+                         "t/integration" ; hangs tests
+                         ;; XXX: Requires many extra dependencies and network.
+                         "t/unit/backends"))))
+         (replace 'check
+           (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+             (when tests?
+               (add-installed-pythonpath inputs outputs)
+               (invoke "python" "-m" "pytest" "t" "-k"
+                       ;; AssertionError.
+                       "not test_check_privileges_no_fchown")))))))
     (native-inputs
      `(("python-case" ,python-case)
-       ("python-pytest" ,python-pytest)))
+       ("python-flaky" ,python-flaky)
+       ("python-iniconfig" ,python-iniconfig)
+       ("python-moto" ,python-moto)
+       ("python-pytest" ,python-pytest-6)
+       ("python-pytest-celery" ,python-pytest-celery)
+       ("python-pytest-subtests" ,python-pytest-subtests)
+       ("python-pytest-timeout" ,python-pytest-timeout)
+       ("python-toml" ,python-toml)))
     (propagated-inputs
      `(("python-billiard" ,python-billiard)
        ("python-boto3" ,python-boto3)
-- 
2.30.2