summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro Jäckel <sandro.jaeckel@gmail.com>2021-09-12 20:30:55 +0200
committerSandro Jäckel <sandro.jaeckel@gmail.com>2021-09-14 13:59:25 +0200
commit54cca75528fafcd8a45413b1323820c9128d01ef (patch)
tree57ee064842b9287294f5de22da7dd2a10f4cd617
parent1efdeb8767c60816a3fbf5c7cdd9f8e3e159f5e9 (diff)
downloadnixpkgs-54cca75528fafcd8a45413b1323820c9128d01ef.tar
nixpkgs-54cca75528fafcd8a45413b1323820c9128d01ef.tar.gz
nixpkgs-54cca75528fafcd8a45413b1323820c9128d01ef.tar.bz2
nixpkgs-54cca75528fafcd8a45413b1323820c9128d01ef.tar.lz
nixpkgs-54cca75528fafcd8a45413b1323820c9128d01ef.tar.xz
nixpkgs-54cca75528fafcd8a45413b1323820c9128d01ef.tar.zst
nixpkgs-54cca75528fafcd8a45413b1323820c9128d01ef.zip
python39Packages.cliff: fix missing dependency, tests and adopt to openstack team
-rw-r--r--pkgs/development/python-modules/cliff/default.nix46
-rw-r--r--pkgs/development/python-modules/cliff/tests.nix34
2 files changed, 56 insertions, 24 deletions
diff --git a/pkgs/development/python-modules/cliff/default.nix b/pkgs/development/python-modules/cliff/default.nix
index 7eee574dad4..8b8f536bab6 100644
--- a/pkgs/development/python-modules/cliff/default.nix
+++ b/pkgs/development/python-modules/cliff/default.nix
@@ -1,17 +1,14 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, autopage
+, cmd2
 , pbr
 , prettytable
 , pyparsing
-, six
-, stevedore
 , pyyaml
-, cmd2
-, pytestCheckHook
-, testtools
-, fixtures
-, which
+, stevedore
+, callPackage
 }:
 
 buildPythonPackage rec {
@@ -23,34 +20,35 @@ buildPythonPackage rec {
     sha256 = "95363e9b43e2ec9599e33b5aea27a6953beda2d0673557916fa4f5796857daa3";
   };
 
+  postPatch = ''
+    # only a small portion of the listed packages are actually needed for running the tests
+    # so instead of removing them one by one remove everything
+    rm test-requirements.txt
+  '';
+
   propagatedBuildInputs = [
+    autopage
+    cmd2
     pbr
     prettytable
     pyparsing
-    six
-    stevedore
     pyyaml
-    cmd2
+    stevedore
   ];
 
-  postPatch = ''
-    sed -i -e '/cmd2/c\cmd2' -e '/PrettyTable/c\PrettyTable' requirements.txt
-  '';
+  # check in passthru.tests.pytest to escape infinite recursion with stestr
+  doCheck = false;
 
-  checkInputs = [ fixtures pytestCheckHook testtools which ];
-  # add some tests
-  pytestFlagsArray = [
-    "cliff/tests/test_utils.py"
-    "cliff/tests/test_app.py"
-    "cliff/tests/test_command.py"
-    "cliff/tests/test_help.py"
-    "cliff/tests/test_lister.py"
-  ];
+  pythonImportsCheck = [ "cliff" ];
+
+  passthru.tests = {
+    pytest = callPackage ./tests.nix { };
+  };
 
   meta = with lib; {
     description = "Command Line Interface Formulation Framework";
-    homepage = "https://docs.openstack.org/cliff/latest/";
+    homepage = "https://github.com/openstack/cliff";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = teams.openstack.members;
   };
 }
diff --git a/pkgs/development/python-modules/cliff/tests.nix b/pkgs/development/python-modules/cliff/tests.nix
new file mode 100644
index 00000000000..f7cc0226f2f
--- /dev/null
+++ b/pkgs/development/python-modules/cliff/tests.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, cliff
+, docutils
+, stestr
+, testscenarios
+}:
+
+buildPythonPackage rec {
+  pname = "cliff";
+  inherit (cliff) version;
+
+  src = cliff.src;
+
+  postPatch = ''
+    # only a small portion of the listed packages are actually needed for running the tests
+    # so instead of removing them one by one remove everything
+    rm test-requirements.txt
+  '';
+
+  dontBuild = true;
+  dontInstall = true;
+
+  checkInputs = [
+    cliff
+    docutils
+    stestr
+    testscenarios
+  ];
+
+  checkPhase = ''
+    stestr run
+  '';
+}