about summary refs log tree commit diff
path: root/pkgs/development/python-modules/pytest/7.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/pytest/7.nix')
-rw-r--r--pkgs/development/python-modules/pytest/7.nix204
1 files changed, 105 insertions, 99 deletions
diff --git a/pkgs/development/python-modules/pytest/7.nix b/pkgs/development/python-modules/pytest/7.nix
index 835e8ff42b3c0..8ca33b158e5ce 100644
--- a/pkgs/development/python-modules/pytest/7.nix
+++ b/pkgs/development/python-modules/pytest/7.nix
@@ -1,116 +1,122 @@
-{ lib
-, buildPythonPackage
-, callPackage
-, pythonOlder
-, fetchPypi
-, writeText
+{
+  lib,
+  buildPythonPackage,
+  callPackage,
+  pythonOlder,
+  fetchPypi,
+  writeText,
 
-# build-system
-, setuptools
-, setuptools-scm
+  # build-system
+  setuptools,
+  setuptools-scm,
 
-# dependencies
-, attrs
-, exceptiongroup
-, iniconfig
-, packaging
-, pluggy
-, tomli
+  # dependencies
+  attrs,
+  exceptiongroup,
+  iniconfig,
+  packaging,
+  pluggy,
+  tomli,
 
-# optional-dependencies
-, argcomplete
-, hypothesis
-, mock
-, nose
-, pygments
-, requests
-, xmlschema
+  # optional-dependencies
+  argcomplete,
+  hypothesis,
+  mock,
+  nose,
+  pygments,
+  requests,
+  xmlschema,
 }:
 
-let self = buildPythonPackage rec {
-  pname = "pytest";
-  version = "7.4.4";
-  pyproject = true;
+let
+  self = buildPythonPackage rec {
+    pname = "pytest";
+    version = "7.4.4";
+    pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-LPAAWSLGrOSj4uyLQIDrDZdT/ckxB0FTMvUM6eeZQoA=";
-  };
-
-  outputs = [
-    "out"
-    "testout"
-  ];
+    src = fetchPypi {
+      inherit pname version;
+      hash = "sha256-LPAAWSLGrOSj4uyLQIDrDZdT/ckxB0FTMvUM6eeZQoA=";
+    };
 
-  nativeBuildInputs = [
-    setuptools
-    setuptools-scm
-  ];
-
-  propagatedBuildInputs = [
-    iniconfig
-    packaging
-    pluggy
-  ] ++ lib.optionals (pythonOlder "3.11") [
-    exceptiongroup
-    tomli
-  ];
+    outputs = [
+      "out"
+      "testout"
+    ];
 
-  passthru.optional-dependencies = {
-    testing = [
-      argcomplete
-      attrs
-      hypothesis
-      mock
-      nose
-      pygments
-      requests
+    nativeBuildInputs = [
       setuptools
-      xmlschema
+      setuptools-scm
     ];
-  };
 
-  postInstall = ''
-    mkdir $testout
-    cp -R testing $testout/testing
-  '';
+    propagatedBuildInputs =
+      [
+        iniconfig
+        packaging
+        pluggy
+      ]
+      ++ lib.optionals (pythonOlder "3.11") [
+        exceptiongroup
+        tomli
+      ];
 
-  doCheck = false;
-  passthru.tests.pytest = callPackage ./tests.nix {
-    pytest = self;
-  };
+    passthru.optional-dependencies = {
+      testing = [
+        argcomplete
+        attrs
+        hypothesis
+        mock
+        nose
+        pygments
+        requests
+        setuptools
+        xmlschema
+      ];
+    };
+
+    postInstall = ''
+      mkdir $testout
+      cp -R testing $testout/testing
+    '';
+
+    doCheck = false;
+    passthru.tests.pytest = callPackage ./tests.nix { pytest = self; };
 
-  # Remove .pytest_cache when using py.test in a Nix build
-  setupHook = writeText "pytest-hook" ''
-    pytestcachePhase() {
-        find $out -name .pytest_cache -type d -exec rm -rf {} +
-    }
-    preDistPhases+=" pytestcachePhase"
+    # Remove .pytest_cache when using py.test in a Nix build
+    setupHook = writeText "pytest-hook" ''
+      pytestcachePhase() {
+          find $out -name .pytest_cache -type d -exec rm -rf {} +
+      }
+      preDistPhases+=" pytestcachePhase"
 
-    # pytest generates it's own bytecode files to improve assertion messages.
-    # These files similar to cpython's bytecode files but are never laoded
-    # by python interpreter directly. We remove them for a few reasons:
-    # - files are non-deterministic: https://github.com/NixOS/nixpkgs/issues/139292
-    #   (file headers are generatedt by pytest directly and contain timestamps)
-    # - files are not needed after tests are finished
-    pytestRemoveBytecodePhase () {
-        # suffix is defined at:
-        #    https://github.com/pytest-dev/pytest/blob/7.2.1/src/_pytest/assertion/rewrite.py#L51-L53
-        find $out -name "*-pytest-*.py[co]" -delete
-    }
-    preDistPhases+=" pytestRemoveBytecodePhase"
-  '';
+      # pytest generates it's own bytecode files to improve assertion messages.
+      # These files similar to cpython's bytecode files but are never laoded
+      # by python interpreter directly. We remove them for a few reasons:
+      # - files are non-deterministic: https://github.com/NixOS/nixpkgs/issues/139292
+      #   (file headers are generatedt by pytest directly and contain timestamps)
+      # - files are not needed after tests are finished
+      pytestRemoveBytecodePhase () {
+          # suffix is defined at:
+          #    https://github.com/pytest-dev/pytest/blob/7.2.1/src/_pytest/assertion/rewrite.py#L51-L53
+          find $out -name "*-pytest-*.py[co]" -delete
+      }
+      preDistPhases+=" pytestRemoveBytecodePhase"
+    '';
 
-  pythonImportsCheck = [
-    "pytest"
-  ];
+    pythonImportsCheck = [ "pytest" ];
 
-  meta = with lib; {
-    description = "Framework for writing tests";
-    homepage = "https://docs.pytest.org";
-    changelog = "https://github.com/pytest-dev/pytest/releases/tag/${version}";
-    maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
-    license = licenses.mit;
+    meta = with lib; {
+      description = "Framework for writing tests";
+      homepage = "https://docs.pytest.org";
+      changelog = "https://github.com/pytest-dev/pytest/releases/tag/${version}";
+      maintainers = with maintainers; [
+        domenkozar
+        lovek323
+        madjar
+        lsix
+      ];
+      license = licenses.mit;
+    };
   };
-};
-in self
+in
+self