gnu: dynaconf: Improve package style.

* gnu/packages/python-xyz.scm (dynaconf): Improve package-style and
  ignore coverage tests.
  [origin](snippet): More concise snippet. Remove coverage management.
  [arguments]<#:test-flags>: Add arguments from former check
  replacement phase.
  <#:phases>: Remove check replacement phase.

Change-Id: I2a0e0a8dea5000aecc05707c35d307c867c96709
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
This commit is contained in:
Nicolas Graves 2024-05-10 00:53:22 +02:00 committed by Sharlatan Hellseher
parent c5de62092a
commit 13728a6104
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -36409,43 +36409,29 @@ Python @code{set} interface.")
"0fj2ffvzfvjf4d7f672h5x5fzq26f8hax9j3dfsix158fwm0212w"))
(patches (search-patches "dynaconf-unvendor-deps.patch"))
(modules '((guix build utils)))
(snippet '(begin
;; Remove vendored dependencies
(let ((unvendor '("click" "dotenv" "ruamel" "toml")))
(with-directory-excursion "dynaconf/vendor"
(for-each delete-file-recursively unvendor)))
;; Lower coverage quality gate for unit tests
(substitute* ".coveragerc"
(("fail_under = 95") "fail_under = 50"))))))
;; Remove vendored dependencies
(snippet '(let ((unvendor '("click" "dotenv" "ruamel" "toml")))
(with-directory-excursion "dynaconf/vendor"
(for-each delete-file-recursively unvendor))))))
(build-system pyproject-build-system)
(arguments
`(#:test-flags
'("-k"
,(let ((click-tests '("test_negative_get"
"test_inspect_invalid_format")))
;; Disable integration tests
(string-append "not integration and not "
;; These tests fail because we use Click 8.* instead of
;; Click 7
(string-join click-tests " and not "))))
'("--ignore=tests/test_vault.py" ; depend on hvac and a live Vault
"-k" ,(let ((click-tests '("test_negative_get"
"test_inspect_invalid_format")))
;; Disable integration tests
(string-append "not integration and not "
;; These tests fail because we use Click 8.*
;; instead of Click 7
(string-join click-tests " and not ")))
"tests")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-for-click-8
(lambda _
(substitute* "dynaconf/cli.py"
(("click.get_os_args\\()") ;deprecated from Click 8.1+
"sys.argv[1:]"))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
;; These tests depend on hvac and a live Vault process.
(delete-file "tests/test_vault.py")
(apply invoke
`("py.test" ,@test-flags "-v"
"--cov-config" ".coveragerc"
"--cov=dynaconf"
"-l" "--tb=short"
"--maxfail=1" "tests/"))))))))
"sys.argv[1:]")))))))
(propagated-inputs
(list python-click python-configobj python-dotenv-0.13.0
python-ruamel.yaml-0.16 python-toml python-tomli))