summaryrefslogtreecommitdiff
path: root/gnu/packages/python-check.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-check.scm')
-rw-r--r--gnu/packages/python-check.scm398
1 files changed, 199 insertions, 199 deletions
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 4bf2f8e7f90..a0d224084a3 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -109,6 +109,28 @@ The purpose of this package is to provide an easy way to test asynchronous
109HTTP requests.") 109HTTP requests.")
110 (license license:expat))) 110 (license license:expat)))
111 111
112(define-public python-allpairspy
113 (package
114 (name "python-allpairspy")
115 (version "2.5.0")
116 (source
117 (origin
118 (method url-fetch)
119 (uri (pypi-uri "allpairspy" version))
120 (sha256
121 (base32 "1c987h13dly9919d15w3h747rgn50ilnv7dginhlprxbj564hn4k"))))
122 (build-system python-build-system)
123 (native-inputs
124 (list python-pytest python-pytest-runner))
125 (home-page "https://github.com/thombashi/allpairspy")
126 (synopsis "Pairwise test combinations generator")
127 (description
128 "This is a Python library for test combinations generator. The generator
129allows one to create a set of tests using @emph{pairwise combinations} method,
130reducing a number of combinations of variables into a lesser set that covers
131most situations.")
132 (license license:expat)))
133
112(define-public python-assay 134(define-public python-assay
113 ;; No release yet. 135 ;; No release yet.
114 (let ((commit "74617d70e77afa09f58b3169cf496679ac5d5621") 136 (let ((commit "74617d70e77afa09f58b3169cf496679ac5d5621")
@@ -187,117 +209,6 @@ the implementation of that name.")
187 (license (list license:asl2.0 209 (license (list license:asl2.0
188 license:lgpl3)))) ; only for setup_helpers.py 210 license:lgpl3)))) ; only for setup_helpers.py
189 211
190(define-public python-inline-snapshot
191 (package
192 (name "python-inline-snapshot")
193 (version "0.18.2")
194 (source
195 (origin
196 (method url-fetch)
197 (uri (pypi-uri "inline_snapshot" version))
198 (sha256
199 (base32 "09pqgz4phal2pjkv03wg3gvj7jr89rrb93rfw4hd2x9v8px4mqqv"))))
200 (build-system pyproject-build-system)
201 (arguments
202 (list
203 #:test-flags
204 ;; Missing "freezer" fixture
205 '(list "--ignore=tests/test_external.py"
206 "--ignore=tests/test_pytest_plugin.py"
207 "-k"
208 (string-append
209 "not test_trailing_comma"
210 ;; Cannot use inline-snapshop when xdist is available.
211 " and not test_xdist"
212 " and not test_xdist_disabled"
213 " and not test_xdist_and_disable"
214 " and not test_typing"))))
215 (propagated-inputs (list python-asttokens
216 python-black
217 python-click
218 python-executing
219 python-mkdocs
220 python-rich
221 python-tomli
222 python-typing-extensions))
223 (native-inputs
224 (list python-dirty-equals
225 python-freezegun
226 python-hatchling
227 python-pydantic
228 python-pytest
229 python-pytest-mock
230 python-pytest-subtests))
231 (home-page "https://pypi.org/project/inline-snapshot/")
232 (synopsis "Golden master/snapshot/approval testing library")
233 (description
234 "This package can be used for different things:
235
236@enumerate
237@item golden master/approval/snapshot testing. The idea is that you have a
238 function with a currently unknown result and you want to write a tests, which
239 ensures that the result does not change during refactoring.
240@item Compare things which are complex like lists with lot of numbers or
241 complex data structures.
242@item Things which might change during the development like error messages.
243@end enumerate
244
245@code{inline-snapshot} automates the process of recording, storing and
246updating the value you want to compare with. The value is converted with
247@code{repr()} and stored in the source file as argument of the
248@code{snapshot()} function.")
249 (license license:expat)))
250
251(define-public python-robotframework-jsonlibrary
252 (package
253 (name "python-robotframework-jsonlibrary")
254 (version "0.5")
255 (source
256 (origin
257 (method git-fetch) ; no tests data in PyPi package
258 (uri (git-reference
259 (url (string-append "https://github.com/robotframework-thailand/"
260 "robotframework-jsonlibrary"))
261 (commit version)))
262 (file-name (git-file-name name version))
263 (sha256
264 (base32 "1zkhcmwlp9gy9a0262ylykr9pljq9mpkaa69340hhfkzygzi30dc"))))
265 (build-system pyproject-build-system)
266 (native-inputs
267 (list python-pytest
268 python-setuptools
269 python-wheel))
270 (propagated-inputs
271 (list python-jsonpath-ng
272 python-jsonschema
273 python-robotframework))
274 (home-page "https://github.com/robotframework-thailand/robotframework-jsonlibrary")
275 (synopsis "Robot Framework test library for manipulating JSON Object")
276 (description
277 "@code{robotframework-jsonlibrary} is a Robot Framework test library for
278manipulating JSON Object. You can manipulate your JSON object using JSONPath")
279 ;; This is free and unencumbered software released into the public domain.
280 (license license:unlicense)))
281
282(define-public python-tappy
283 (package
284 (name "python-tappy")
285 (version "3.0")
286 (source
287 (origin
288 (method url-fetch)
289 (uri (pypi-uri "tap.py" version))
290 (sha256
291 (base32
292 "0w4w6pqjkv54j7rv6vdrpfxa72c5516bnlhpcqr3vrb4zpmyxvpm"))))
293 (build-system python-build-system)
294 (home-page "https://github.com/python-tap/tappy")
295 (synopsis "Tools for Test Anything Protocol")
296 (description "Tappy is a set of tools for working with the Test Anything
297Protocol (TAP) in Python. TAP is a line based test protocol for recording test
298data in a standard way.")
299 (license license:bsd-3)))
300
301(define-public python-beartype 212(define-public python-beartype
302 (package 213 (package
303 (name "python-beartype") 214 (name "python-beartype")
@@ -348,6 +259,45 @@ of the code is covered by them. This tool is part of the Codacy suite for
348analysing code quality.") 259analysing code quality.")
349 (license license:expat))) 260 (license license:expat)))
350 261
262(define-public python-cucumber-tag-expressions
263 (package
264 (name "python-cucumber-tag-expressions")
265 (version "6.1.1")
266 (source
267 (origin
268 (method git-fetch) ;no tests in PyPI archive
269 (uri (git-reference
270 (url "https://github.com/cucumber/tag-expressions")
271 (commit (string-append "v" version))))
272 (file-name (git-file-name name version))
273 (sha256
274 (base32
275 "1hanh7hzxmx0f6fp2ykabsg32snmp8y9pd7s5xix15r1gnn7lvp9"))))
276 (build-system pyproject-build-system)
277 (arguments
278 (list
279 #:phases
280 #~(modify-phases %standard-phases
281 ;; Project's repository contains go, java, javascript, perl, python
282 ;; and ruby implementations.
283 (add-after 'unpack 'chdir-python
284 (lambda _
285 (chdir "python"))))))
286 (native-inputs
287 (list python-pathpy
288 python-pytest
289 python-pytest-html
290 python-pyyaml
291 python-setuptools
292 python-setuptools-scm
293 python-wheel))
294 (home-page "https://github.com/cucumber/tag-expressions")
295 (synopsis "Tag-expression parser for cucumber/behave")
296 (description
297 "This package provides a tag-expression parser for Cucumber and
298@command{behave}.")
299 (license license:expat)))
300
351(define-public python-pytest-click 301(define-public python-pytest-click
352 (package 302 (package
353 (name "python-pytest-click") 303 (name "python-pytest-click")
@@ -485,45 +435,6 @@ are useful when writing automated tests in Python.")
485 (home-page "https://testfixtures.readthedocs.io/en/latest/") 435 (home-page "https://testfixtures.readthedocs.io/en/latest/")
486 (license license:expat))) 436 (license license:expat)))
487 437
488(define-public python-cucumber-tag-expressions
489 (package
490 (name "python-cucumber-tag-expressions")
491 (version "6.1.1")
492 (source
493 (origin
494 (method git-fetch) ;no tests in PyPI archive
495 (uri (git-reference
496 (url "https://github.com/cucumber/tag-expressions")
497 (commit (string-append "v" version))))
498 (file-name (git-file-name name version))
499 (sha256
500 (base32
501 "1hanh7hzxmx0f6fp2ykabsg32snmp8y9pd7s5xix15r1gnn7lvp9"))))
502 (build-system pyproject-build-system)
503 (arguments
504 (list
505 #:phases
506 #~(modify-phases %standard-phases
507 ;; Project's repository contains go, java, javascript, perl, python
508 ;; and ruby implementations.
509 (add-after 'unpack 'chdir-python
510 (lambda _
511 (chdir "python"))))))
512 (native-inputs
513 (list python-pathpy
514 python-pytest
515 python-pytest-html
516 python-pyyaml
517 python-setuptools
518 python-setuptools-scm
519 python-wheel))
520 (home-page "https://github.com/cucumber/tag-expressions")
521 (synopsis "Tag-expression parser for cucumber/behave")
522 (description
523 "This package provides a tag-expression parser for Cucumber and
524@command{behave}.")
525 (license license:expat)))
526
527(define-public python-coveralls 438(define-public python-coveralls
528 (package 439 (package
529 (name "python-coveralls") 440 (name "python-coveralls")
@@ -2194,6 +2105,67 @@ interaction, like key presses and mouse clicks.")
2194Python software under test, when they make an HTTP query.") 2105Python software under test, when they make an HTTP query.")
2195 (license license:asl2.0))) 2106 (license license:asl2.0)))
2196 2107
2108(define-public python-inline-snapshot
2109 (package
2110 (name "python-inline-snapshot")
2111 (version "0.18.2")
2112 (source
2113 (origin
2114 (method url-fetch)
2115 (uri (pypi-uri "inline_snapshot" version))
2116 (sha256
2117 (base32 "09pqgz4phal2pjkv03wg3gvj7jr89rrb93rfw4hd2x9v8px4mqqv"))))
2118 (build-system pyproject-build-system)
2119 (arguments
2120 (list
2121 #:test-flags
2122 ;; Missing "freezer" fixture
2123 '(list "--ignore=tests/test_external.py"
2124 "--ignore=tests/test_pytest_plugin.py"
2125 "-k"
2126 (string-append
2127 "not test_trailing_comma"
2128 ;; Cannot use inline-snapshop when xdist is available.
2129 " and not test_xdist"
2130 " and not test_xdist_disabled"
2131 " and not test_xdist_and_disable"
2132 " and not test_typing"))))
2133 (propagated-inputs (list python-asttokens
2134 python-black
2135 python-click
2136 python-executing
2137 python-mkdocs
2138 python-rich
2139 python-tomli
2140 python-typing-extensions))
2141 (native-inputs
2142 (list python-dirty-equals
2143 python-freezegun
2144 python-hatchling
2145 python-pydantic
2146 python-pytest
2147 python-pytest-mock
2148 python-pytest-subtests))
2149 (home-page "https://pypi.org/project/inline-snapshot/")
2150 (synopsis "Golden master/snapshot/approval testing library")
2151 (description
2152 "This package can be used for different things:
2153
2154@enumerate
2155@item golden master/approval/snapshot testing. The idea is that you have a
2156 function with a currently unknown result and you want to write a tests, which
2157 ensures that the result does not change during refactoring.
2158@item Compare things which are complex like lists with lot of numbers or
2159 complex data structures.
2160@item Things which might change during the development like error messages.
2161@end enumerate
2162
2163@code{inline-snapshot} automates the process of recording, storing and
2164updating the value you want to compare with. The value is converted with
2165@code{repr()} and stored in the source file as argument of the
2166@code{snapshot()} function.")
2167 (license license:expat)))
2168
2197(define-public python-memory-profiler 2169(define-public python-memory-profiler
2198 (package 2170 (package
2199 (name "python-memory-profiler") 2171 (name "python-memory-profiler")
@@ -2556,6 +2528,37 @@ test itself.")
2556behavior-driven development (TDD and BDD).") 2528behavior-driven development (TDD and BDD).")
2557 (license license:expat))) 2529 (license license:expat)))
2558 2530
2531(define-public python-robotframework-jsonlibrary
2532 (package
2533 (name "python-robotframework-jsonlibrary")
2534 (version "0.5")
2535 (source
2536 (origin
2537 (method git-fetch) ; no tests data in PyPi package
2538 (uri (git-reference
2539 (url (string-append "https://github.com/robotframework-thailand/"
2540 "robotframework-jsonlibrary"))
2541 (commit version)))
2542 (file-name (git-file-name name version))
2543 (sha256
2544 (base32 "1zkhcmwlp9gy9a0262ylykr9pljq9mpkaa69340hhfkzygzi30dc"))))
2545 (build-system pyproject-build-system)
2546 (native-inputs
2547 (list python-pytest
2548 python-setuptools
2549 python-wheel))
2550 (propagated-inputs
2551 (list python-jsonpath-ng
2552 python-jsonschema
2553 python-robotframework))
2554 (home-page "https://github.com/robotframework-thailand/robotframework-jsonlibrary")
2555 (synopsis "Robot Framework test library for manipulating JSON Object")
2556 (description
2557 "@code{robotframework-jsonlibrary} is a Robot Framework test library for
2558manipulating JSON Object. You can manipulate your JSON object using JSONPath")
2559 ;; This is free and unencumbered software released into the public domain.
2560 (license license:unlicense)))
2561
2559(define-public python-slotscheck 2562(define-public python-slotscheck
2560 (package 2563 (package
2561 (name "python-slotscheck") 2564 (name "python-slotscheck")
@@ -2685,28 +2688,6 @@ help in debugging failures and optimizing the scheduler to improve speed.")
2685you to test your code asynchronously.") 2688you to test your code asynchronously.")
2686 (license license:expat))) 2689 (license license:expat)))
2687 2690
2688(define-public python-allpairspy
2689 (package
2690 (name "python-allpairspy")
2691 (version "2.5.0")
2692 (source
2693 (origin
2694 (method url-fetch)
2695 (uri (pypi-uri "allpairspy" version))
2696 (sha256
2697 (base32 "1c987h13dly9919d15w3h747rgn50ilnv7dginhlprxbj564hn4k"))))
2698 (build-system python-build-system)
2699 (native-inputs
2700 (list python-pytest python-pytest-runner))
2701 (home-page "https://github.com/thombashi/allpairspy")
2702 (synopsis "Pairwise test combinations generator")
2703 (description
2704 "This is a Python library for test combinations generator. The generator
2705allows one to create a set of tests using @emph{pairwise combinations} method,
2706reducing a number of combinations of variables into a lesser set that covers
2707most situations.")
2708 (license license:expat)))
2709
2710(define-public python-avocado-framework 2691(define-public python-avocado-framework
2711 (package 2692 (package
2712 (name "python-avocado-framework") 2693 (name "python-avocado-framework")
@@ -2875,33 +2856,6 @@ eliminate flaky failures.")
2875 (sha256 2856 (sha256
2876 (base32 "16cin0chv59w4rvnd6r0fisp0s8avmp07rwn9da6yixw43jdncp1")))))) 2857 (base32 "16cin0chv59w4rvnd6r0fisp0s8avmp07rwn9da6yixw43jdncp1"))))))
2877 2858
2878(define-public python-xunitparser
2879 (package
2880 (name "python-xunitparser")
2881 (version "1.3.4")
2882 (source
2883 (origin
2884 (method url-fetch)
2885 (uri (pypi-uri "xunitparser" version))
2886 (sha256
2887 (base32 "00lapxi770mg7jkw16zy3a91hbdfz4a9h43ryczdsgd3z4cl6vyf"))))
2888 (build-system python-build-system)
2889 (arguments
2890 `(#:phases
2891 (modify-phases %standard-phases
2892 ;; See https://github.com/laurentb/xunitparser/pull/11
2893 (add-after 'unpack 'fix-test-suite
2894 (lambda _
2895 (substitute* "xunitparser.py"
2896 (("(^ +)self.stderr = None" m indent)
2897 (string-append m "\n" indent "self._cleanup = False\n"))))))))
2898 (home-page "http://git.p.engu.in/laurentb/xunitparser/")
2899 (synopsis "Read JUnit/XUnit XML files and map them to Python objects")
2900 (description "xunitparser reads a JUnit/XUnit XML file and maps it to
2901Python objects. It tries to use the objects available in the standard
2902@code{unittest} module.")
2903 (license license:expat)))
2904
2905(define-public python-test-utils 2859(define-public python-test-utils
2906 (package 2860 (package
2907 (name "python-test-utils") 2861 (name "python-test-utils")
@@ -3065,6 +3019,25 @@ parsed examples as part of your normal test run. Integration is
3065provided for the main Python test runners.") 3019provided for the main Python test runners.")
3066 (license license:expat))) 3020 (license license:expat)))
3067 3021
3022(define-public python-tappy
3023 (package
3024 (name "python-tappy")
3025 (version "3.0")
3026 (source
3027 (origin
3028 (method url-fetch)
3029 (uri (pypi-uri "tap.py" version))
3030 (sha256
3031 (base32
3032 "0w4w6pqjkv54j7rv6vdrpfxa72c5516bnlhpcqr3vrb4zpmyxvpm"))))
3033 (build-system python-build-system)
3034 (home-page "https://github.com/python-tap/tappy")
3035 (synopsis "Tools for Test Anything Protocol")
3036 (description "Tappy is a set of tools for working with the Test Anything
3037Protocol (TAP) in Python. TAP is a line based test protocol for recording test
3038data in a standard way.")
3039 (license license:bsd-3)))
3040
3068(define-public python-pytest-parawtf 3041(define-public python-pytest-parawtf
3069 (package 3042 (package
3070 (name "python-pytest-parawtf") 3043 (name "python-pytest-parawtf")
@@ -3244,6 +3217,33 @@ Built-in integration with @url{http://nedbatchelder.com/code/coverage/, coverage
3244@end table") 3217@end table")
3245 (license license:expat))) 3218 (license license:expat)))
3246 3219
3220(define-public python-xunitparser
3221 (package
3222 (name "python-xunitparser")
3223 (version "1.3.4")
3224 (source
3225 (origin
3226 (method url-fetch)
3227 (uri (pypi-uri "xunitparser" version))
3228 (sha256
3229 (base32 "00lapxi770mg7jkw16zy3a91hbdfz4a9h43ryczdsgd3z4cl6vyf"))))
3230 (build-system python-build-system)
3231 (arguments
3232 `(#:phases
3233 (modify-phases %standard-phases
3234 ;; See https://github.com/laurentb/xunitparser/pull/11
3235 (add-after 'unpack 'fix-test-suite
3236 (lambda _
3237 (substitute* "xunitparser.py"
3238 (("(^ +)self.stderr = None" m indent)
3239 (string-append m "\n" indent "self._cleanup = False\n"))))))))
3240 (home-page "http://git.p.engu.in/laurentb/xunitparser/")
3241 (synopsis "Read JUnit/XUnit XML files and map them to Python objects")
3242 (description "xunitparser reads a JUnit/XUnit XML file and maps it to
3243Python objects. It tries to use the objects available in the standard
3244@code{unittest} module.")
3245 (license license:expat)))
3246
3247(define-public python-xvfbwrapper 3247(define-public python-xvfbwrapper
3248 (package 3248 (package
3249 (name "python-xvfbwrapper") 3249 (name "python-xvfbwrapper")