5e7c2d6cef
GitOrigin-RevId: f99e5f03cc0aa231ab5950a15ed02afec45ed51a
70 lines
1.6 KiB
Nix
70 lines
1.6 KiB
Nix
{ lib
|
|
, buildPythonPackage
|
|
, fetchPypi
|
|
, pythonAtLeast
|
|
, setuptools-scm
|
|
, ansible-core
|
|
, paramiko
|
|
, pytestCheckHook
|
|
, pytest-xdist
|
|
, pywinrm
|
|
, salt
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "pytest-testinfra";
|
|
version = "9.0.0";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-UxGzaeBUaSD85GTDv5RbVevnWhJ1aPbWFelLiJE0AUk=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
setuptools-scm
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
ansible-core
|
|
paramiko
|
|
pytestCheckHook
|
|
pytest-xdist
|
|
pywinrm
|
|
salt
|
|
];
|
|
|
|
# markers don't get added when docker is not available (leads to warnings):
|
|
# https://github.com/pytest-dev/pytest-testinfra/blob/9.0.0/test/conftest.py#L223
|
|
preCheck = ''
|
|
export HOME=$(mktemp -d)
|
|
sed -i '54imarkers = \
|
|
\ttestinfra_hosts(host_selector): mark test to run on selected hosts \
|
|
\tdestructive: mark test as destructive \
|
|
\tskip_wsl: skip test on WSL, no systemd support' setup.cfg
|
|
'';
|
|
|
|
# docker is required for all disabled tests
|
|
disabledTests = [
|
|
# test/test_backends.py
|
|
"test_command"
|
|
"test_encoding"
|
|
"test_ansible_any_error_fatal"
|
|
"test_user_connection"
|
|
"test_sudo"
|
|
"test_docker_encoding"
|
|
] ++ lib.optionals (pythonAtLeast "3.11") [
|
|
# broken because salt package only built for python 3.10
|
|
"test_backend_importables"
|
|
];
|
|
|
|
disabledTestPaths = [
|
|
"test/test_modules.py"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Pytest plugin for testing your infrastructure";
|
|
homepage = "https://github.com/pytest-dev/pytest-testinfra";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ hulr ];
|
|
};
|
|
}
|