From 90b636e4b33a00f8c730e64df052fe2924cb5764 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Mon, 18 Mar 2024 14:46:33 +0000 Subject: gnu: Add python-pytest-examples. * gnu/packages/check.scm (python-pytest-examples): New variable. Change-Id: I8199a7d7294c3b04134474f9f116468ac327cba8 --- gnu/packages/check.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) (limited to 'gnu/packages/check.scm') diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index d0fd975487..99990a8980 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1399,6 +1399,78 @@ supports coverage of subprocesses.") from a .env file before running tests.") (license license:expat))) +(define-public python-pytest-examples + (package + (name "python-pytest-examples") + (version "0.0.10") + (source + (origin + ;; No tests in the PyPI tarball. + (method git-fetch) + (uri (git-reference + (url "https://github.com/pydantic/pytest-examples") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lwxgyfj6lnkhmrvb6kzfskpwfz70kxnhnjvyl3l65k568c4wb4c")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-k" + (string-append + ;; Disable tests requiring pthon-ruff. + "not test_ruff" + " and not test_ruff_config" + " and not test_ruff_offset" + " and not test_ruff_ok" + " and not test_ruff_error" + " and not test_update_files" + " and not test_cases_update[simple.md]" + " and not test_cases_update[dataclass_indent.md]" + " and not test_cases_update[long_python_lines.py]" + " and not test_cases_update[simple.py]" + " and not test_cases_update[python_class.py]" + " and not test_cases_update[call_twice.md]" + " and not test_insert_print[example/README.md:3-33]" + " and not test_insert_print[example/README.md:37-40]" + " and not test_insert_print[example/README.md:44-47]" + " and not test_insert_print[example/README.md:49-66]" + " and not test_python_self[example/test_example.py:28-31]" + " and not test_python_self[example/test_example.py:40-43]" + " and not test_python_self_change_docstyle[example/test_example.py:28-31]" + " and not test_python_self_change_docstyle[example/test_example.py:40-43]")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "pyproject.toml" + ;; XXX: Removing ruff from required packages to pass Sanity + ;; check, add it back when it's available. + (("'ruff>=0.0.258',") "") + ;; black>=23 + ((">=23") ">22"))))))) + (propagated-inputs + ;; TODO: Add python-ruff once it has been packaged. + (list python-black python-pytest)) + (native-inputs + (list python-hatchling)) + (home-page "https://pypi.org/project/pytest-examples/") + (synopsis "Pytest plugin for testing examples in docstrings and markdown files") + (description + "Pytest-examples provides functionality for testing Python code examples +in docstrings and markdown files, with its main features being: + +@itemize +@item lint code examples using ruff and black +@item run code examples +@item run code examples and check print statements are inlined correctly in +the code +@item It can also update code examples in place to format them and insert or +update print statements +@end itemize") + (license license:expat))) + (define-public python-pytest-httpserver (package (name "python-pytest-httpserver") -- cgit v1.2.3