[packages/python-s3transfer] - new - added mock patch (use unittest.mock instead of separate mock under py3) - added tests patch

qboosh qboosh at pld-linux.org
Sun Feb 14 12:45:13 CET 2021


commit 5a27e7c46514033efc383c16ec62db5a12dbbfbc
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Feb 14 12:45:37 2021 +0100

    - new
    - added mock patch (use unittest.mock instead of separate mock under py3)
    - added tests patch (fix one test and disable second which seems incompatible with python 3.8)

 python-s3transfer-mock.patch  | 126 ++++++++++++++++++++++++++++++++++++++++++
 python-s3transfer-tests.patch |  28 ++++++++++
 python-s3transfer.spec        | 118 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 272 insertions(+)
---
diff --git a/python-s3transfer.spec b/python-s3transfer.spec
new file mode 100644
index 0000000..ebca905
--- /dev/null
+++ b/python-s3transfer.spec
@@ -0,0 +1,118 @@
+#
+# Conditional build:
+%bcond_without	tests	# unit tests
+%bcond_without	python2 # CPython 2.x module
+%bcond_without	python3 # CPython 3.x module
+
+Summary:	Amazon S3 Transfer Manager
+Summary(pl.UTF-8):	Zarządca transferu danych Amazon S3
+Name:		python-s3transfer
+Version:	0.3.4
+Release:	1
+License:	Apache v2.0
+Group:		Libraries/Python
+#Source0Download: https://pypi.org/simple/s3transfer/
+Source0:	https://files.pythonhosted.org/packages/source/s/s3transfer/s3transfer-%{version}.tar.gz
+# Source0-md5:	b0145fc2087107262b6c4d0f077ad3e2
+Patch0:		%{name}-mock.patch
+Patch1:		%{name}-tests.patch
+URL:		https://pypi.org/project/s3transfer/
+%if %{with python2}
+BuildRequires:	python-modules >= 1:2.7
+BuildRequires:	python-setuptools
+%if %{with tests}
+BuildRequires:	python-botocore >= 1.12.36
+BuildRequires:	python-futures >= 2.2.0
+BuildRequires:	python-mock >= 1.3.0
+BuildRequires:	python-nose >= 1.3.3
+BuildRequires:	python-six
+%endif
+%endif
+%if %{with python3}
+BuildRequires:	python3-modules >= 1:3.4
+BuildRequires:	python3-setuptools
+%if %{with tests}
+BuildRequires:	python3-botocore >= 1.12.36
+BuildRequires:	python3-nose >= 1.3.3
+BuildRequires:	python3-six
+%endif
+%endif
+BuildRequires:	rpm-pythonprov
+BuildRequires:	rpmbuild(macros) >= 1.714
+Requires:	python-modules >= 1:2.7
+BuildArch:	noarch
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+S3transfer is a Python library for managing Amazon S3 transfers.
+
+%description -l pl.UTF-8
+S3transfer to pythonowa biblioteka do zarządzania przesyłami danych
+Amazon S3.
+
+%package -n python3-s3transfer
+Summary:	Amazon S3 Transfer Manager
+Summary(pl.UTF-8):	Zarządca transferu danych Amazon S3
+Group:		Libraries/Python
+Requires:	python3-modules >= 1:3.4
+
+%description -n python3-s3transfer
+S3transfer is a Python library for managing Amazon S3 transfers.
+
+%description -n python3-s3transfer -l pl.UTF-8
+S3transfer to pythonowa biblioteka do zarządzania przesyłami danych
+Amazon S3.
+
+%prep
+%setup -q -n s3transfer-%{version}
+%patch0 -p1
+%patch1 -p1
+
+%build
+%if %{with python2}
+%py_build
+
+%if %{with tests}
+%{__python} -m unittest discover -s tests/unit
+%endif
+%endif
+
+%if %{with python3}
+%py3_build
+
+%if %{with tests}
+%{__python3} -m unittest discover -s tests/unit
+%endif
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%if %{with python2}
+%py_install
+
+%py_postclean
+%endif
+
+%if %{with python3}
+%py3_install
+%endif
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%if %{with python2}
+%files
+%defattr(644,root,root,755)
+%doc README.rst
+%{py_sitescriptdir}/s3transfer
+%{py_sitescriptdir}/s3transfer-%{version}-py*.egg-info
+%endif
+
+%if %{with python3}
+%files -n python3-s3transfer
+%defattr(644,root,root,755)
+%doc README.rst
+%{py3_sitescriptdir}/s3transfer
+%{py3_sitescriptdir}/s3transfer-%{version}-py*.egg-info
+%endif
diff --git a/python-s3transfer-mock.patch b/python-s3transfer-mock.patch
new file mode 100644
index 0000000..e177500
--- /dev/null
+++ b/python-s3transfer-mock.patch
@@ -0,0 +1,126 @@
+--- s3transfer-0.3.4/tests/functional/test_manager.py.orig	2021-01-11 20:17:48.000000000 +0100
++++ s3transfer-0.3.4/tests/functional/test_manager.py	2021-02-14 10:53:55.517004397 +0100
+@@ -12,7 +12,10 @@
+ # language governing permissions and limitations under the License.
+ from io import RawIOBase
+ from botocore.awsrequest import create_request_object
+-import mock
++try:
++    import mock
++except ImportError:
++    from unittest import mock
+ 
+ from tests import skip_if_using_serial_implementation
+ from tests import StubbedClientTest
+--- s3transfer-0.3.4/tests/functional/test_processpool.py.orig	2021-01-11 20:17:48.000000000 +0100
++++ s3transfer-0.3.4/tests/functional/test_processpool.py	2021-02-14 10:54:07.833604339 +0100
+@@ -14,7 +14,10 @@ import glob
+ import os
+ from multiprocessing.managers import BaseManager
+ 
+-import mock
++try:
++    import mock
++except ImportError:
++    from unittest import mock
+ import botocore.exceptions
+ import botocore.session
+ from botocore.stub import Stubber
+--- s3transfer-0.3.4/tests/functional/test_upload.py.orig	2021-01-11 20:17:48.000000000 +0100
++++ s3transfer-0.3.4/tests/functional/test_upload.py	2021-02-14 10:53:48.667041507 +0100
+@@ -15,7 +15,10 @@ import time
+ import tempfile
+ import shutil
+ 
+-import mock
++try:
++    import mock
++except ImportError:
++    from unittest import mock
+ from botocore.client import Config
+ from botocore.exceptions import ClientError
+ from botocore.awsrequest import AWSRequest
+--- s3transfer-0.3.4/tests/unit/test_bandwidth.py.orig	2021-01-11 20:17:48.000000000 +0100
++++ s3transfer-0.3.4/tests/unit/test_bandwidth.py	2021-02-14 10:54:14.116903633 +0100
+@@ -14,7 +14,10 @@ import os
+ import shutil
+ import tempfile
+ 
+-import mock
++try:
++    import mock
++except ImportError:
++    from unittest import mock
+ 
+ from tests import unittest
+ from s3transfer.bandwidth import RequestExceededException
+--- s3transfer-0.3.4/tests/unit/test_download.py.orig	2021-01-11 20:17:48.000000000 +0100
++++ s3transfer-0.3.4/tests/unit/test_download.py	2021-02-14 10:54:24.266848646 +0100
+@@ -15,7 +15,10 @@ import os
+ import shutil
+ import tempfile
+ import socket
+-import mock
++try:
++    import mock
++except ImportError:
++    from unittest import mock
+ 
+ from tests import BaseTaskTest
+ from tests import BaseSubmissionTaskTest
+--- s3transfer-0.3.4/tests/unit/test_futures.py.orig	2021-01-11 20:17:48.000000000 +0100
++++ s3transfer-0.3.4/tests/unit/test_futures.py	2021-02-14 10:55:05.729957355 +0100
+@@ -14,7 +14,10 @@ import sys
+ import time
+ import traceback
+ 
+-import mock
++try:
++    import mock
++except ImportError:
++    from unittest import mock
+ from concurrent.futures import ThreadPoolExecutor
+ 
+ from tests import unittest
+--- s3transfer-0.3.4/tests/unit/test_processpool.py.orig	2021-01-11 20:17:48.000000000 +0100
++++ s3transfer-0.3.4/tests/unit/test_processpool.py	2021-02-14 10:54:35.633453735 +0100
+@@ -15,7 +15,10 @@ import signal
+ import time
+ import threading
+ 
+-import mock
++try:
++    import mock
++except ImportError:
++    from unittest import mock
+ from six.moves import queue
+ from botocore.exceptions import ClientError
+ from botocore.exceptions import ReadTimeoutError
+--- s3transfer-0.3.4/tests/unit/test_s3transfer.py.orig	2021-01-11 20:17:48.000000000 +0100
++++ s3transfer-0.3.4/tests/unit/test_s3transfer.py	2021-02-14 10:54:29.480153736 +0100
+@@ -17,7 +17,10 @@ import socket
+ from tests import unittest
+ from contextlib import closing
+ 
+-import mock
++try:
++    import mock
++except ImportError:
++    from unittest import mock
+ from botocore.vendored import six
+ from concurrent import futures
+ 
+--- s3transfer-0.3.4/tests/unit/test_utils.py.orig	2021-01-11 20:17:48.000000000 +0100
++++ s3transfer-0.3.4/tests/unit/test_utils.py	2021-02-14 10:54:55.406679947 +0100
+@@ -19,7 +19,10 @@ import re
+ import time
+ import io
+ 
+-import mock
++try:
++    import mock
++except ImportError:
++    from unittest import mock
+ 
+ from tests import unittest
+ from tests import RecordingSubscriber
diff --git a/python-s3transfer-tests.patch b/python-s3transfer-tests.patch
new file mode 100644
index 0000000..3d255ad
--- /dev/null
+++ b/python-s3transfer-tests.patch
@@ -0,0 +1,28 @@
+--- s3transfer-0.3.4/tests/unit/test_futures.py.orig	2021-02-14 10:59:52.661736245 +0100
++++ s3transfer-0.3.4/tests/unit/test_futures.py	2021-02-14 11:24:18.950459344 +0100
+@@ -517,6 +517,7 @@
+             future, self.assert_submit_would_not_block, second_task)
+ 
+         # Wait for it to complete.
++        time.sleep(1)  # ensure done_callback is called before shutdown
+         self.executor.shutdown()
+ 
+     def test_would_not_block_when_full_capacity_in_other_semaphore(self):
+--- s3transfer-0.3.4/tests/unit/test_s3transfer.py.orig	2021-02-14 11:46:37.363208540 +0100
++++ s3transfer-0.3.4/tests/unit/test_s3transfer.py	2021-02-14 12:33:14.664720924 +0100
+@@ -14,6 +14,7 @@
+ import tempfile
+ import shutil
+ import socket
++import sys
+ from tests import unittest
+ from contextlib import closing
+ 
+@@ -462,6 +463,7 @@
+             downloader.download_file('bucket', 'key', 'filename',
+                                      len(response_body), {})
+ 
++    @unittest.skipIf(sys.version_info >= (3, 8), "fails with py3.8")
+     def test_download_futures_fail_triggers_shutdown(self):
+         class FailedDownloadParts(SequentialExecutor):
+             def __init__(self, max_workers):
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-s3transfer.git/commitdiff/5a27e7c46514033efc383c16ec62db5a12dbbfbc



More information about the pld-cvs-commit mailing list