diff options
author | Ben Sturmfels <ben@sturm.com.au> | 2017-04-19 02:16:18 +1000 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2017-04-18 19:16:45 +0200 |
commit | 16fe516e78287166d720bff783acbe3661878102 (patch) | |
tree | 29ae5e6a0563d5a24ec8bc686d36fac7b3c7ce7d /gnu | |
parent | f8818360d5c185543b4bd1ad1c3c3ad7191af0c4 (diff) | |
download | guix-16fe516e78287166d720bff783acbe3661878102.tar.gz |
gnu: Add python-fudge.
* gnu/packages/python.scm (python-fudge): New variable. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/python.scm | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8cd433a93d..aa014db364 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com> ;;; Copyright © 2017 humanitiesNerd <catonano@gmail.com> +;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au> ;;; ;;; This file is part of GNU Guix. ;;; @@ -13965,3 +13966,36 @@ recognize TestCases.") (sha256 (base32 "17jlkdpqw22z1nyml5ybslilqkzmnk0dxxjml8bfghav1l5hbwd2")))))) + +(define-public python-fudge + (package + (name "python-fudge") + ;; 0.9.6 is the latest version suitable for testing the "fabric" Python 2 + ;; package, which is currently the only use of this package. + (version "0.9.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fudge" version)) + (sha256 + (base32 + "185ia3vr3qk4f2s1a9hdxb8ci4qc0x0xidrad96pywg8j930qs9l")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;XXX: Tests require the NoseJS Python package. + (home-page "https://github.com/fudge-py/fudge") + (synopsis "Replace real objects with fakes/mocks/stubs while testing") + (description + "Fudge is a Python module for using fake objects (mocks and stubs) to +test real ones. + +In readable Python code, you declare the methods available on your fake object +and how they should be called. Then you inject that into your application and +start testing. This declarative approach means you don’t have to record and +playback actions and you don’t have to inspect your fakes after running code. +If the fake object was used incorrectly then you’ll see an informative +exception message with a traceback that points to the culprit.") + (license license:expat))) + +(define-public python2-fudge + (package-with-python2 python-fudge)) |