dev-python/paramiko: Bump to 2.11.0

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2022-05-17 06:57:36 +02:00
parent ea2922465e
commit b7eedbb8cc
4 changed files with 198 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST paramiko-2.10.3.tar.gz 347738 BLAKE2B ccc66a7e0fe3f777e74b94374ed59435eda440fe0aeab3871e68a132610193d2fadca1fd200db3d194566b8a2a8d6ff889d71594fed69a01fb97ca43b967e957 SHA512 e1fce2ad33ee2942b519458d53497671e66d4777c23877954b135cf9bb8ec43357156147c7e012956ccf6198de800835a617b541a4b0faf54df00f936128514b
DIST paramiko-2.10.4.tar.gz 348637 BLAKE2B 8ce0d34418b6a1dc1d98fc180d2b2f0fb4333b7e1c52fcf7edabc3b0fc096f1b644dbc21a5b37f9001f046969c3d513ad5f6d7261339a71fa3ec922161cd7be7 SHA512 df39958e647dd6519929f68c4870228a61f54e763751e6b1d07b5e802786c85dfc34af39588009e729c4d189ca17d3aa09a58d4242403a1a1a53d36f6cd313b1
DIST paramiko-2.11.0.tar.gz 350793 BLAKE2B 86358e08407f8a820a9b33a60e771ac3adb8f3e003ccbc4704ba69a52bd427f38a9c49a20e6a07220d07c25dbcc35a472b2091fa9f7bc1447bab0d7a1ce16b35 SHA512 59e439bd54d83938f91d6c9888f2278bafa4ca48582939580bdabc6207dbe6dc856f6006ad26b7ec91b9d39e92ca70dc6270c6b5d4f77a5e1fa0ec8bd084d4b5

View File

@@ -0,0 +1,40 @@
From 529558cc20e448e45e24dc7b7609cd62300838b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Thu, 16 Apr 2020 09:46:39 +0200
Subject: [PATCH] Skip tests requiring invoke if it's not installed
Since invoke is an optional dependency and only one group of tests
require it, skip them gracefully rather than failing if it's not
present.
---
tests/test_config.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tests/test_config.py b/tests/test_config.py
index 45fb262d..017d4bbf 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -6,7 +6,11 @@ from socket import gaierror
from paramiko.py3compat import string_types
-from invoke import Result
+try:
+ from invoke import Result
+except ImportError:
+ Result = None
+
from mock import patch
from pytest import raises, mark, fixture
@@ -742,6 +746,7 @@ def _expect(success_on):
return inner
+@mark.skipif(Result is None, reason="requires invoke package")
class TestMatchExec(object):
@patch("paramiko.config.invoke", new=None)
@patch("paramiko.config.invoke_import_error", new=ImportError("meh"))
--
2.35.1

View File

@@ -0,0 +1,94 @@
From 03741e48c83856e53fc3f1487d660165cb718c11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Tue, 17 May 2022 07:26:36 +0200
Subject: [PATCH] Replace pytest-relaxed with plain pytest.raises
There is really no technical reason to bring pytest-relaxed to call
@raises as a decorator while plain pytest works just fine. Plus,
pytest.raises() is used in test_sftp already.
pytest-relaxed causes humongous breakage to other packages
on the system. It has been banned from Gentoo for this reason.
---
dev-requirements.txt | 1 -
pytest.ini | 3 ---
tests/test_client.py | 20 ++++++++++----------
3 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/dev-requirements.txt b/dev-requirements.txt
index 3ed9eb40..e90f3373 100644
--- a/dev-requirements.txt
+++ b/dev-requirements.txt
@@ -2,7 +2,6 @@
invoke==1.6.0
invocations==2.6.0
pytest==4.4.2
-pytest-relaxed==1.1.5
# pytest-xdist for test dir watching and the inv guard task
pytest-xdist==1.28.0
mock==2.0.0
diff --git a/pytest.ini b/pytest.ini
index be207cd8..5a506bcd 100644
--- a/pytest.ini
+++ b/pytest.ini
@@ -1,7 +1,4 @@
[pytest]
-# We use pytest-relaxed just for its utils at the moment, so disable it at the
-# plugin level until we adapt test organization to really use it.
-addopts = -p no:relaxed
# Loop on failure
looponfailroots = tests paramiko
# Ignore some warnings we cannot easily handle.
diff --git a/tests/test_client.py b/tests/test_client.py
index fdf19c45..e4af71df 100644
--- a/tests/test_client.py
+++ b/tests/test_client.py
@@ -33,7 +33,7 @@ import warnings
import weakref
from tempfile import mkstemp
-from pytest_relaxed import raises
+import pytest
from mock import patch, Mock
import paramiko
@@ -733,11 +733,11 @@ class PasswordPassphraseTests(ClientTest):
# TODO: more granular exception pending #387; should be signaling "no auth
# methods available" because no key and no password
- @raises(SSHException)
@requires_sha1_signing
def test_passphrase_kwarg_not_used_for_password_auth(self):
- # Using the "right" password in the "wrong" field shouldn't work.
- self._test_connection(passphrase="pygmalion")
+ with pytest.raises(SSHException):
+ # Using the "right" password in the "wrong" field shouldn't work.
+ self._test_connection(passphrase="pygmalion")
@requires_sha1_signing
def test_passphrase_kwarg_used_for_key_passphrase(self):
@@ -757,15 +757,15 @@ class PasswordPassphraseTests(ClientTest):
password="television",
)
- @raises(AuthenticationException) # TODO: more granular
@requires_sha1_signing
def test_password_kwarg_not_used_for_passphrase_when_passphrase_kwarg_given( # noqa
self
):
# Sanity: if we're given both fields, the password field is NOT used as
# a passphrase.
- self._test_connection(
- key_filename=_support("test_rsa_password.key"),
- password="television",
- passphrase="wat? lol no",
- )
+ with pytest.raises(AuthenticationException):
+ self._test_connection(
+ key_filename=_support("test_rsa_password.key"),
+ password="television",
+ passphrase="wat? lol no",
+ )
--
2.35.1

View File

@@ -0,0 +1,63 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{8..11} )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
DESCRIPTION="SSH2 protocol library"
HOMEPAGE="
https://www.paramiko.org/
https://github.com/paramiko/paramiko/
https://pypi.org/project/paramiko/
"
SRC_URI="
https://github.com/paramiko/paramiko/archive/${PV}.tar.gz
-> ${P}.tar.gz
"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
IUSE="examples server"
RDEPEND="
>=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
>=dev-python/cryptography-2.5[${PYTHON_USEDEP}]
>=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
>=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
)
"
distutils_enable_sphinx sites/docs
distutils_enable_tests pytest
src_prepare() {
local PATCHES=(
"${FILESDIR}/${PN}-2.11.0-pytest-relaxed.patch"
"${FILESDIR}/${PN}-2.11.0-invoke-tests.patch"
)
if ! use server; then
PATCHES+=( "${FILESDIR}/${PN}-2.4.2-disable-server.patch" )
fi
distutils-r1_src_prepare
}
python_install_all() {
distutils-r1_python_install_all
if use examples; then
docinto examples
dodoc -r demos/*
fi
}