Subject: [bug#28726] [PATCH 2/5] gnu: django: Fix building python-django-allauth.

From: Christopher Baines <[email-masked]>
Date: Fri, 6 Oct 2017 21:26:59 +0100

* gnu/packages/django.scm (python-django-allauth)[arguments]: Modify the
  standard phases to skip a test, and run the tests using django-admin with
  the settings configured.
---
 gnu/packages/django.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index fb8663d3f..93068300d 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -204,6 +204,26 @@ them do this.")
         (base32
          "1fslqc5qqb0b66yscvkyjwfv8cnbfx5nlkpnwimyb3pf1nc1w7r3"))))
     (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; TODO: Tagging the tests requiring the web could be done upstream.
+         (add-before 'check 'skip-test-requiring-network-access
+           (lambda _
+             (substitute* "allauth/socialaccount/providers/openid/tests.py"
+               (("def test_login")
+                "from django.test import tag
+    @tag('requires-web')
+    def test_login"))))
+         (replace 'check
+           (lambda _
+             (setenv "DJANGO_SETTINGS_MODULE" "test_settings")
+             (zero? (system*
+                     "django-admin"
+                     "test"
+                     "allauth"
+                     "--verbosity=2"
+                     "--exclude-tag=requires-web")))))))
     (propagated-inputs
      `(("python-openid" ,python-openid)
        ("python-requests" ,python-requests)
-- 
2.14.2