Unverified Commit 0a4ef1da authored by Martin Weinelt's avatar Martin Weinelt Committed by GitHub
Browse files

Merge pull request #158118 from jojosch/paperless-ng-disable-broken-tests

parents 04168951 95f3334e
Loading
Loading
Loading
Loading
+29 −15
Original line number Diff line number Diff line
{ lib
, fetchurl
, fetchpatch
, nixosTests
, python3
, ghostscript
@@ -54,6 +55,15 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
    sha256 = "oVSq0AWksuWC81MF5xiZ6ZbdKKtqqphmL+xIzJLaDMw=";
  };

  patches = [
    # Fix the `slow_write_pdf` test:
    # https://github.com/NixOS/nixpkgs/issues/136626
    (fetchpatch {
      url = "https://github.com/paperless-ngx/paperless-ngx/commit/4fbabe43ea12811864e9676b04d82a82b38e799d.patch";
      sha256 = "sha256-8ULep5aeW3wJAQGy2OEAjFYybELNq1DzCC1uBrZx36I=";
    })
  ];

  format = "other";

  # Make bind address configurable
@@ -155,34 +165,38 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
    zope_interface
  ];

  doCheck = true;
  installPhase = ''
    mkdir -p $out/lib
    cp -r . $out/lib/paperless-ng
    chmod +x $out/lib/paperless-ng/src/manage.py
    makeWrapper $out/lib/paperless-ng/src/manage.py $out/bin/paperless-ng \
      --prefix PYTHONPATH : "$PYTHONPATH" \
      --prefix PATH : "${path}"
  '';

  checkInputs = with py.pkgs.pythonPackages; [
    pytest
    pytest-cov
    pytest-django
    pytest-env
    pytest-sugar
    pytest-xdist
    factory_boy
    pytestCheckHook
  ];

  pytestFlagsArray = [ "src" ];

  # The tests require:
  # - PATH with runtime binaries
  # - A temporary HOME directory for gnupg
  # - XDG_DATA_DIRS with test-specific fonts
  checkPhase = ''
    pushd src
    PATH="${path}:$PATH" HOME=$(mktemp -d) XDG_DATA_DIRS="${liberation_ttf}/share:$XDG_DATA_DIRS" pytest
    popd
  '';
  preCheck = ''
    export PATH="${path}:$PATH"
    export HOME=$(mktemp -d)
    export XDG_DATA_DIRS="${liberation_ttf}/share:$XDG_DATA_DIRS"

  installPhase = ''
    mkdir -p $out/lib
    cp -r . $out/lib/paperless-ng
    chmod +x $out/lib/paperless-ng/src/manage.py
    makeWrapper $out/lib/paperless-ng/src/manage.py $out/bin/paperless-ng \
      --prefix PYTHONPATH : "$PYTHONPATH" \
      --prefix PATH : "${path}"
    # Disable unneeded code coverage test
    substituteInPlace src/setup.cfg \
      --replace "--cov --cov-report=html" ""
  '';

  passthru = {