diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix index 9dc8eadb7775..a23f668529d1 100644 --- a/pkgs/development/python-modules/ansible-runner/default.nix +++ b/pkgs/development/python-modules/ansible-runner/default.nix @@ -8,20 +8,33 @@ , six , stdenv , ansible -, pytest , mock +, openssh +, pytest-mock +, pytest-timeout +, pytest-xdist +, pytestCheckHook }: buildPythonPackage rec { pname = "ansible-runner"; - version = "2.0.2"; + version = "2.0.3"; src = fetchPypi { inherit pname version; - sha256 = "c02b690803ec0be4453411c53743cd3fdca1dfc66dfa075794e14e717c5b61b3"; + sha256 = "15j0ljgw1rjxq4xiywxxxnxj4r6vwk8dwljkdsjmq3qmwgifcswg"; }; - checkInputs = [ pytest mock ]; + checkInputs = [ + ansible # required to place ansible CLI onto the PATH in tests + pytestCheckHook + pytest-mock + pytest-timeout + pytest-xdist + mock + openssh + ]; + propagatedBuildInputs = [ ansible psutil @@ -31,14 +44,31 @@ buildPythonPackage rec { six ]; - # test_process_isolation_settings is currently broken on Darwin Catalina - # https://github.com/ansible/ansible-runner/issues/413 - checkPhase = '' - HOME=$TMPDIR pytest \ - --ignore test/unit/test_runner.py \ - -k "not prepare ${lib.optionalString stdenv.isDarwin "and not process_isolation_settings"}" + preCheck = '' + export HOME=$(mktemp -d) ''; + disabledTests = [ + "test_callback_plugin_task_args_leak" # requires internet + "test_env_accuracy" + "test_large_stdout_blob" # times out on slower hardware + ] + # test_process_isolation_settings is currently broken on Darwin Catalina + # https://github.com/ansible/ansible-runner/issues/413 + ++ lib.optional stdenv.isDarwin "process_isolation_settings"; + + disabledTestPaths = [ + # these tests unset PATH and then run executables like `bash` (see https://github.com/ansible/ansible-runner/pull/918) + "test/integration/test_runner.py" + "test/unit/test_runner.py" + ] + ++ lib.optionals stdenv.isDarwin [ + # integration tests on Darwin are not regularly passing in ansible-runner's own CI + "test/integration" + # these tests write to `/tmp` which is not writable on Darwin + "test/unit/config/test__base.py" + ]; + meta = with lib; { description = "Helps when interfacing with Ansible"; homepage = "https://github.com/ansible/ansible-runner";