nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix
Romanos Skiadas 5e891fd073 python3Packages.jenkinsapi: fix build
nix-env -f default.nix -iA python38Packages.jenkinsapi now works.

Here is a list of all the things done:
- fixed the dependency list which was lacking some packages
- changed checkPhase. This called python setup.py test by default,
which is very much not what jenkinsapi does upstream. This resulted in
simple_post_logger.py being imported, which called serve_forever(),
manifesting as a hang
- tox decided to install pbr every time and fails and also tried to
run tests across multiple python versions, so I just made checkPhase
call pylint/pycodestyle/py.test directly.
- disabled systests which try to run jenkins
- disabled misc broken tests. There are some calls in them that should
have been mocked but the mocks don't take effect for some reason,
resulting in failed requests to localhost.
- removed needless inputs. nose and unittest2 are not needed, not even
in python2
- disabled tests on darwin, as requests-kerberos is apparently broken
2020-09-13 10:03:53 -07:00

41 lines
1.1 KiB
Nix

{ stdenv
, buildPythonPackage
, fetchPypi
, mock
, pytest
, pytest-mock
, pytz
, requests
, requests-kerberos
, toml
}:
buildPythonPackage rec {
pname = "jenkinsapi";
version = "0.3.11";
src = fetchPypi {
inherit pname version;
sha256 = "a212a244b0a6022a61657746c8120ac9b6db83432371b345154075eb8faceb61";
};
propagatedBuildInputs = [ pytz requests ];
checkInputs = [ mock pytest pytest-mock requests-kerberos toml ];
# TODO requests-kerberos is broken on darwin, weeding out the broken tests without
# access to macOS is not an adventure I am ready to embark on - @rski
doCheck = !stdenv.isDarwin;
# don't run tests that try to spin up jenkins, and a few more that are mysteriously broken
checkPhase = ''
py.test jenkinsapi_tests \
-k "not systests and not test_plugins and not test_view"
'';
meta = with stdenv.lib; {
description = "A Python API for accessing resources on a Jenkins continuous-integration server";
homepage = "https://github.com/salimfadhley/jenkinsapi";
maintainers = with maintainers; [ drets ];
license = licenses.mit;
};
}