From: Marius Bakke <mbakke@fastmail.com>
To: guix-devel@gnu.org
Cc: Marius Bakke <mbakke@fastmail.com>
Subject: [PATCH 3/6] gnu: Add python-cram.
Date: Sun, 15 Jan 2017 21:33:35 +0100 [thread overview]
Message-ID: <20170115203338.19769-4-mbakke@fastmail.com> (raw)
In-Reply-To: <20170115203338.19769-1-mbakke@fastmail.com>
* gnu/packages/python.scm (python-cram, python2-cram): New variables.
---
gnu/packages/python.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 63 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index ddf276de0..e61d7d1fb 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -26,7 +26,7 @@
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Stefan Reichoer <stefan@xsteve.at>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
@@ -6057,6 +6057,68 @@ pseudo terminal (pty), and interact with both the process and its pty.")
(define-public python2-ptyprocess
(package-with-python2 python-ptyprocess))
+(define-public python-cram
+ (package
+ (name "python-cram")
+ (version "0.7")
+ (home-page "https://bitheap.org/cram/")
+ (source (origin
+ (method url-fetch)
+ (uri (list (string-append home-page "cram-"
+ version ".tar.gz")
+ (pypi-uri "cram" version)))
+ (sha256
+ (base32
+ "0bvz6fwdi55rkrz3f50zsy35gvvwhlppki2yml5bj5ffy9d499vx"))))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* (find-files "cram" ".*\\.py")
+ ;; Replace default shell path. This is necessary for tests,
+ ;; and convenient for programs using the main "cram" binary
+ ;; in environments lacking /bin/sh (e.g. if this program is
+ ;; used in other builds).
+ (("/bin/sh") (which "sh")))
+ (substitute* (find-files "tests" ".*\\.t")
+ (("md5") "md5sum")
+ (("/bin/bash") (which "bash"))
+ (("/bin/sh") (which "sh")))
+ (substitute* "cram/_test.py"
+ ;; This hack works around a bug triggered by substituting
+ ;; the /bin/sh paths. "tests/usage.t" compares the output of
+ ;; "cram -h", which breaks the output at 80 characters. This
+ ;; causes the line showing the default shell to break into two
+ ;; lines, but the test expects a single line...
+ (("env\\['COLUMNS'\\] = '80'")
+ "env['COLUMNS'] = '160'"))
+ #t))
+ (delete 'check)
+ (add-after 'install 'check
+ ;; The test phase uses the built binary and library.
+ ;; It's easier to run it after install since the build
+ ;; directory contains version-specific PATH.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (setenv "PATH" (string-append (getenv "PATH") ":"
+ (assoc-ref outputs "out") "/bin"))
+ (zero? (system* "make" "test")))))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-coverage" ,python-coverage)
+ ("which" ,which)))
+ (synopsis "Simple testing framework for command line applications")
+ (description
+ "Cram is a functional testing framework for command line applications.
+Cram tests look like snippets of interactive shell sessions. Cram runs each
+command and compares the command output in the test with the command’s actual
+output.")
+ (license license:gpl2+)))
+
+(define-public python2-cram
+ (package-with-python2 python-cram))
+
(define-public python-terminado
(package
(name "python-terminado")
--
2.11.0
next prev parent reply other threads:[~2017-01-15 20:34 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-15 20:33 [PATCH 0/6] gnu: Add ceph Marius Bakke
2017-01-15 20:33 ` [PATCH 1/6] gnu: Add leveldb Marius Bakke
2017-01-17 22:34 ` Ludovic Courtès
2017-01-15 20:33 ` [PATCH 2/6] gnu: Add crypto++ Marius Bakke
2017-01-17 22:38 ` Ludovic Courtès
2017-01-17 22:46 ` Leo Famulari
2017-01-17 22:57 ` Marius Bakke
2017-01-15 20:33 ` Marius Bakke [this message]
2017-01-17 22:36 ` [PATCH 3/6] gnu: Add python-cram Ludovic Courtès
2017-01-15 20:33 ` [PATCH 4/6] gnu: Add rocksdb Marius Bakke
2017-01-17 22:42 ` Ludovic Courtès
2017-01-18 0:10 ` Marius Bakke
2017-01-18 21:29 ` Ludovic Courtès
2017-01-15 20:33 ` [PATCH 5/6] gnu: Add ceph Marius Bakke
2017-01-17 22:47 ` Ludovic Courtès
2017-01-17 23:11 ` Marius Bakke
2017-01-18 21:27 ` Ludovic Courtès
2017-01-15 20:33 ` [PATCH 6/6] gnu: fio: Enable rbd support Marius Bakke
2017-01-17 22:48 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170115203338.19769-4-mbakke@fastmail.com \
--to=mbakke@fastmail.com \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).