python3Packages.jenkinsapi: fix failing build

Also refactor tests to use common Nixpkgs patterns.
This commit is contained in:
Elliot Cameron 2022-08-05 08:56:03 -04:00
parent 868ced9c6d
commit 2fd2d5365e

View file

@ -1,43 +1,52 @@
{ lib, stdenv
{ lib
, buildPythonPackage
, pythonAtLeast
, fetchPypi
, flit-core
, mock
, pytest
, pbr
, pytest-mock
, pytestCheckHook
, pytz
, requests
, requests-kerberos
, toml
, six
}:
buildPythonPackage rec {
pname = "jenkinsapi";
version = "0.3.13";
format = "setuptools";
disabled = pythonAtLeast "3.6";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-JGqYpj5h9UoV0WEFyxVIjFZwc030HobHrw1dnAryQLk=";
};
propagatedBuildInputs = [ pytz requests ];
nativeCheckInputs = [ 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"
'';
nativeBuildInputs = [
flit-core
pbr
];
propagatedBuildInputs = [
pytz
requests
six
];
nativeCheckInputs = [
mock
pytest-mock
pytestCheckHook
];
# don't run tests that try to spin up jenkins
disabledTests = [ "systests" ];
pythonImportsCheck = [ "jenkinsapi" ];
meta = with lib; {
description = "A Python API for accessing resources on a Jenkins continuous-integration server";
homepage = "https://github.com/salimfadhley/jenkinsapi";
maintainers = with maintainers; [ drets ];
maintainers = with maintainers; [ drets ] ++ teams.deshaw.members;
license = licenses.mit;
};