summary refs log tree commit diff
path: root/gnu/packages/check.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-09-27 23:10:08 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-09-27 23:10:44 -0400
commit8f8eaf579fe6903683efeea7a0cb806e38a8e5ee (patch)
tree74002b73fcd8be685ad61d850c24c03f644b49cf /gnu/packages/check.scm
parentacdf8c1759936b984cdd3530f292e94d97e7cdf4 (diff)
downloadguix-8f8eaf579fe6903683efeea7a0cb806e38a8e5ee.tar.gz
gnu: Add python-pytest-random-order.
* gnu/packages/check.scm (python-pytest-random-order): New variable.
Diffstat (limited to 'gnu/packages/check.scm')
-rw-r--r--gnu/packages/check.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 9044d65252..d763c92f3b 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1213,6 +1213,36 @@ supports coverage of subprocesses.")
 contacting the real http server.")
     (license license:expat)))
 
+(define-public python-pytest-random-order
+  (package
+    (name "python-pytest-random-order")
+    (version "1.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-random-order" version))
+       (sha256
+        (base32 "0lpzl218l04vjy4gckrbrcacc3w9xrjnvz64bf2i132c58s5j8bb"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "python" "-m" "pytest" "--random-order")))))))
+    (propagated-inputs
+     `(("python-pytest" ,python-pytest)))
+    (home-page "https://github.com/jbasko/pytest-random-order")
+    (synopsis "Pytest plugin to randomize the order of tests")
+    (description "@code{pytest-random-order} is a Pytest plugin that
+randomizes the order of tests.  This can be useful to detect a test that
+passes just because it happens to run after an unrelated test that leaves the
+system in a favourable state.  The plugin allows user to control the level of
+randomness they want to introduce and to disable reordering on subsets of
+tests.  Tests can be rerun in a specific order by passing a seed value
+reported in a previous test run.")
+    (license license:expat)))
+
 (define-public python-pytest-runner
   (package
     (name "python-pytest-runner")