gnu: python-aiohttp: Enable tests

* gnu/packages/python-web.scm (python-aiohttp) [arguments]: Enable tests
[native-inputs] Add test dependencies [patches] Add test case patch
* gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch: New file
* gnu/local.mk (dist_patch_DATA): Add it

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Lars-Dominik Braun 2020-03-27 13:58:11 +01:00 committed by Ludovic Courtès
parent b27a0dd46c
commit 44dbd856b7
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 69 additions and 2 deletions

View file

@ -90,10 +90,23 @@
(uri (pypi-uri "aiohttp" version))
(sha256
(base32
"09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5"))))
"09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5"))
(patches (search-patches "python-aiohttp-3.6.2-no-warning-fail.patch"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;missing pytest-timeout
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; disable brotli tests, because were not providing that optional library
(substitute* "tests/test_http_parser.py"
((" async def test_feed_eof_no_err_brotli")
" @pytest.mark.xfail\n async def test_feed_eof_no_err_brotli"))
;; make sure the timestamp of this file is > 1990, because a few
;; tests like test_static_file_if_modified_since_past_date depend on it
(invoke "touch" "-d" "2020-01-01" "tests/data.unknown_mime_type")
#t)))))
(propagated-inputs
`(("python-aiodns" ,python-aiodns)
("python-async-timeout" ,python-async-timeout)
@ -102,6 +115,15 @@
("python-idna-ssl" ,python-idna-ssl)
("python-multidict" ,python-multidict)
("python-yarl" ,python-yarl)))
(native-inputs
`(("python-pytest-runner" ,python-pytest-runner)
("python-pytest-xdit" ,python-pytest-xdist)
("python-pytest-timeout" ,python-pytest-timeout)
("python-pytest-forked" ,python-pytest-forked)
("python-pytest-mock" ,python-pytest-mock)
("gunicorn" ,gunicorn-bootstrap)
("python-freezegun" ,python-freezegun)
("python-async-generator" ,python-async-generator)))
(home-page "https://github.com/aio-libs/aiohttp/")
(synopsis "Async HTTP client/server framework (asyncio)")
(description "@code{aiohttp} is an asynchronous HTTP client/server
@ -3447,6 +3469,16 @@ various web frameworks, simply implemented, light on server resources,
and fairly speedy.")
(license license:expat)))
;; break cyclic dependency for python-aiohttp, which depends on gunicorn for
;; its tests
(define-public gunicorn-bootstrap
(package
(inherit gunicorn)
(name "gunicorn")
(arguments `(#:tests? #f))
(properties '((hidden? . #t)))
(native-inputs `())))
(define-public python-translation-finder
(package
(name "python-translation-finder")