nixpkgs/pkgs/development/python-modules/cram/default.nix
2017-09-15 18:05:36 +02:00

40 lines
1.3 KiB
Nix

{stdenv, lib, buildPythonPackage, fetchPypi, coverage, bash, which, writeText}:
buildPythonPackage rec {
name = "${pname}-${version}";
version = "0.7";
pname = "cram";
buildInputs = [ coverage which ];
src = fetchPypi {
inherit pname version;
sha256 = "0bvz6fwdi55rkrz3f50zsy35gvvwhlppki2yml5bj5ffy9d499vx";
};
postPatch = ''
substituteInPlace tests/test.t \
--replace "/bin/bash" "${bash}/bin/bash"
'';
# This testing is copied from Makefile. Simply using `make test` doesn't work
# because it uses the unpatched `scripts/cram` executable which has a bad
# shebang. Also, for some reason, coverage fails on one file so let's just
# ignore that one.
checkPhase = ''
# scripts/cram tests
#COVERAGE=${coverage}/bin/coverage $out/bin/cram tests
#${coverage}/bin/coverage report --fail-under=100
COVERAGE=coverage $out/bin/cram tests
coverage report --fail-under=100 --omit="*/_encoding.py,*/__main__.py"
'';
meta = {
description = "A simple testing framework for command line applications";
homepage = https://bitheap.org/cram/;
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ jluttine ];
# Tests fail on i686: https://hydra.nixos.org/build/52896671/nixlog/4
broken = stdenv.isi686;
};
}