summary refs log tree commit diff
path: root/pkgs/development/python-modules/cram/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/cram/default.nix')
-rw-r--r--pkgs/development/python-modules/cram/default.nix16
1 files changed, 12 insertions, 4 deletions
diff --git a/pkgs/development/python-modules/cram/default.nix b/pkgs/development/python-modules/cram/default.nix
index 232a4a19fd85..c0fc5b177e0a 100644
--- a/pkgs/development/python-modules/cram/default.nix
+++ b/pkgs/development/python-modules/cram/default.nix
@@ -1,10 +1,11 @@
-{stdenv, lib, buildPythonPackage, fetchPypi, bash, which, writeText}:
+{stdenv, lib, buildPythonPackage, fetchPypi, coverage, bash, which, writeText}:
 
 buildPythonPackage rec {
+  name = "${pname}-${version}";
   version = "0.7";
   pname = "cram";
 
-  checkInputs = [ which ];
+  buildInputs = [ coverage which ];
 
   src = fetchPypi {
     inherit pname version;
@@ -12,13 +13,20 @@ buildPythonPackage rec {
   };
 
   postPatch = ''
-    patchShebangs scripts/cram
     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
+    # 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 = {