mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-22 13:43:22 +00:00
5e891fd073
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
41 lines
1.1 KiB
Nix
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;
|
|
};
|
|
|
|
}
|