From 19a9ecacf1b90447bedd7ede85f686dbffb464fb Mon Sep 17 00:00:00 2001 From: Muriithi Frederick Muriuki Date: Fri, 14 Apr 2017 12:17:47 +0300 Subject: [PATCH 14/20] gnu: Add python-nose-randomly * gnu/packages/python.scm (python-nose-randomly): New variable. --- gnu/packages/python.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7aba1ca..37b736e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14311,3 +14311,41 @@ and correct.") (define-public python2-rednose-0.4.3 (package-with-python2 python-rednose-0.4.3)) + +(define-public python-nose-randomly + (package + (name "python-nose-randomly") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "nose-randomly" version)) + (sha256 + (base32 + "17iggrvhvxzgci34x14x31i1ym8f7jdkklmq1yfnwjcglh7z70hk")))) + (build-system python-build-system) + (propagated-inputs + `(("python-nose" ,python-nose))) + (home-page + "https://github.com/adamchainz/nose-randomly") + (synopsis + "Nose plugin to randomly order tests and control random.seed") + (description + "Nose plugin to randomly order tests and control random.seed. It has the following +features: +@itemize @bullet +@item Randomly shuffles the submodules, @code{TestCase} classes + test functions when +loading a module of tests. +@item Randomly shuffles the test functions inside a @code{TestCase} when loading it. +@item Resets @code{random.seed()} at the start of every test case and test to a fixed +number - this defaults to @code{time.time()} from the start of your test run, but you can +pass in @code{--randomly-seed} to repeat a randomness-induced failure. +@item If @code{factory boy} is installed, its random state is reset at the start of every +test. This allows for repeatable use of its random @code{fuzzy} features. +@item If @code{faker} is installed, its random state is reset at the start of every test. +This is also for repeatable fuzzy data in tests - factory boy uses faker for lots of data. +@end itemize") + (license license:bsd-3))) + +(define-public python2-nose-randomly + (package-with-python2 python-nose-randomly)) -- 2.10.2