1
0

Accepting request 845056 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/845056
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-apache-libcloud?expand=0&rev=34
This commit is contained in:
Dominique Leuenberger 2020-11-02 08:40:57 +00:00 committed by Git OBS Bridge
commit f0b2dfdd60
3 changed files with 62 additions and 4 deletions

View File

@ -1,3 +1,23 @@
-------------------------------------------------------------------
Fri Oct 30 12:47:57 UTC 2020 - Pablo Suárez Hernández <pablo.suarezhernandez@suse.com>
- Skip conflictive 'ParamikoSSHClientTests.test_key_file_non_pem_format_error' test
since our SLE python-paramiko package already has OpenSSH support on version < 2.7.0
-------------------------------------------------------------------
Fri Oct 30 09:26:42 UTC 2020 - Pablo Suárez Hernández <pablo.suarezhernandez@suse.com>
- Add pyOpenSSL as build dependency to allow tests to pass on SLE15 family
-------------------------------------------------------------------
Wed Oct 28 13:45:19 UTC 2020 - Pablo Suárez Hernández <pablo.suarezhernandez@suse.com>
- Do not build Python2 subpackage since 3.2.0 does not support Python2
- Adjust skipped SSH unit tests when paramiko <= 2.7.0
- Add:
* skip-some-tests-for-older-paramiko-versions.patch
-------------------------------------------------------------------
Wed Oct 21 01:17:39 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>

View File

@ -16,6 +16,9 @@
#
# No longer build for python2
%define skip_python2 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without python2
Name: python-apache-libcloud
@ -23,15 +26,19 @@ Version: 3.2.0
Release: 0
Summary: Abstraction over multiple cloud provider APIs
License: Apache-2.0
Group: Development/Languages/Python
URL: https://libcloud.apache.org
Source0: https://files.pythonhosted.org/packages/source/a/apache-libcloud/apache-libcloud-%{version}.tar.gz
Patch1: gce_image_projects.patch
Patch2: ec2_create_node.patch
Patch3: skip-some-tests-for-older-paramiko-versions.patch
BuildRequires: %{python_module libvirt-python}
BuildRequires: %{python_module lockfile}
BuildRequires: %{python_module lxml}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module paramiko}
BuildRequires: %{python_module pyOpenSSL}
BuildRequires: %{python_module pytest-runner}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests-mock}
@ -51,8 +58,6 @@ BuildArch: noarch
%if %{with python2}
BuildRequires: python-backports.ssl_match_hostname
BuildRequires: python2
%endif
%ifpython2
Requires: python-backports.ssl_match_hostname
%endif
%python_subpackages
@ -65,6 +70,7 @@ differences among multiple cloud provider APIs.
%setup -q -n apache-libcloud-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
sed -i '/^#!/d' demos/gce_demo.py
chmod a-x demos/gce_demo.py
# Setup tests
@ -83,8 +89,9 @@ find %{buildroot} -name '*.pem' -size 0 -delete
%check
# Skip ShellOutSSHClientTests tests which attempt to ssh to localhost
# Note these two extra py3 failures are undesirable and should be fixed
%pytest -k '(not test_consume_stderr_chunk_contains_part_of_multi_byte_utf8_character and not test_consume_stdout_chunk_contains_part_of_multi_byte_utf8_character and not ShellOutSSHClientTests and not ElasticContainerDriverTestCase)'
# Skip test_key_file_non_pem_format_error since OpenSSH support is backported for SLE python-paramiko < 2.7.0
# Note these four extra py3 failures are undesirable and should be fixed: fail in s390 and ppc64
%pytest -k '(not test_consume_stderr_chunk_contains_part_of_multi_byte_utf8_character and not test_consume_stdout_chunk_contains_part_of_multi_byte_utf8_character and not test_consume_stdout_chunk_contains_non_utf8_character and not test_consume_stderr_chunk_contains_non_utf8_character and not test_key_file_non_pem_format_error and not ShellOutSSHClientTests and not ElasticContainerDriverTestCase)'
%files %{python_files}
%license LICENSE

View File

@ -0,0 +1,31 @@
Index: apache-libcloud-3.2.0/libcloud/test/compute/test_ssh_client.py
===================================================================
--- apache-libcloud-3.2.0.orig/libcloud/test/compute/test_ssh_client.py
+++ apache-libcloud-3.2.0/libcloud/test/compute/test_ssh_client.py
@@ -168,6 +168,8 @@ class ParamikoSSHClientTests(LibcloudTes
expected_msg, mock.connect)
@patch('paramiko.SSHClient', Mock)
+ @unittest.skipIf(paramiko_version < '2.7.0',
+ 'Old versions of paramiko do not support OPENSSH key format')
def test_password_protected_key_no_password_provided_1(self):
path = os.path.join(os.path.dirname(__file__),
'fixtures', 'misc',
@@ -198,6 +200,8 @@ class ParamikoSSHClientTests(LibcloudTes
expected_msg, mock.connect)
@patch('paramiko.SSHClient', Mock)
+ @unittest.skipIf(paramiko_version < '2.7.0',
+ 'Old versions of paramiko do not support OPENSSH key format')
def test_password_protected_key_no_password_provided_2(self):
path = os.path.join(os.path.dirname(__file__),
'fixtures', 'misc',
@@ -219,6 +223,8 @@ class ParamikoSSHClientTests(LibcloudTes
expected_msg, mock.connect)
@patch('paramiko.SSHClient', Mock)
+ @unittest.skipIf(paramiko_version < '2.7.0',
+ 'Old versions of paramiko do not support OPENSSH key format')
def test_password_protected_key_valid_password_provided(self):
path = os.path.join(os.path.dirname(__file__),
'fixtures', 'misc',