diff options
| author | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-01-21 09:53:41 +0000 |
|---|---|---|
| committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-01-21 10:45:39 +0000 |
| commit | 1bcb07a4d8d759cf4d1f4215814bf5f8b5b47e8a (patch) | |
| tree | 6191b3b664fb1cbc9991ebae6b21903524e53e1d | |
| parent | 832aec43ed9ad99c9480df0638e6af8a248bae16 (diff) | |
gnu: packages/python-check: Sort alphabetically.
* gnu/packages/python-check.scm (python-allpairspy,
python-cucumber-tag-expressions, python-inline-snapshot,
python-robotframework-jsonlibrary, python-tappy, python-xunitparser):
Sort variables alphabetically.
Change-Id: I27ec752ab54271015da822628d3176265092302e
| -rw-r--r-- | gnu/packages/python-check.scm | 398 |
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 | |||
| 109 | HTTP requests.") | 109 | HTTP 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 | ||
| 129 | allows one to create a set of tests using @emph{pairwise combinations} method, | ||
| 130 | reducing a number of combinations of variables into a lesser set that covers | ||
| 131 | most 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 | ||
| 246 | updating 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 | ||
| 278 | manipulating 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 | ||
| 297 | Protocol (TAP) in Python. TAP is a line based test protocol for recording test | ||
| 298 | data 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 | |||
| 348 | analysing code quality.") | 259 | analysing 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.") | |||
| 2194 | Python software under test, when they make an HTTP query.") | 2105 | Python 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 | ||
| 2164 | updating 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.") | |||
| 2556 | behavior-driven development (TDD and BDD).") | 2528 | behavior-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 | ||
| 2558 | manipulating 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.") | |||
| 2685 | you to test your code asynchronously.") | 2688 | you 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 | ||
| 2705 | allows one to create a set of tests using @emph{pairwise combinations} method, | ||
| 2706 | reducing a number of combinations of variables into a lesser set that covers | ||
| 2707 | most 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 | ||
| 2901 | Python 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 | |||
| 3065 | provided for the main Python test runners.") | 3019 | provided 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 | ||
| 3037 | Protocol (TAP) in Python. TAP is a line based test protocol for recording test | ||
| 3038 | data 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 | ||
| 3243 | Python 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") |
