From 5cdd66a7b064108094d871e9af732739c1ad598e Mon Sep 17 00:00:00 2001 From: Ben Sturmfels Date: Wed, 19 Apr 2017 02:16:18 +1000 Subject: [PATCH 1/2] gnu: Add python-fudge. To: guix-patches@gnu.org * gnu/packages/python.scm (python-fudge): New variable. --- gnu/packages/python.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8cd433a93..aa014db36 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Frederick M. Muriithi ;;; Copyright © 2017 humanitiesNerd +;;; Copyright © 2017 Ben Sturmfels ;;; ;;; 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)) -- 2.12.2