[packages/python-pyfakefs] - new

qboosh qboosh at pld-linux.org
Sat May 19 22:15:40 CEST 2018


commit 792227e6583c6bda3af163b32bc1176cdb3d7d61
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat May 19 22:16:23 2018 +0200

    - new

 python-pyfakefs-tests.patch |  20 ++++++
 python-pyfakefs.spec        | 146 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 166 insertions(+)
---
diff --git a/python-pyfakefs.spec b/python-pyfakefs.spec
new file mode 100644
index 0000000..48e542e
--- /dev/null
+++ b/python-pyfakefs.spec
@@ -0,0 +1,146 @@
+#
+# Conditional build:
+%bcond_without	doc	# Sphinx documentation
+%bcond_without	tests	# unit tests
+%bcond_without	python2 # CPython 2.x module
+%bcond_without	python3 # CPython 3.x module
+
+Summary:	Fake file system that mocks the Python 2 file system modules
+Summary(pl.UTF-8):	Fałszywy system plików będący atrapą modułów systemowych Pythona 2 dla plików
+Name:		python-pyfakefs
+Version:	3.4.1
+Release:	1
+License:	Apache v2.0
+Group:		Libraries/Python
+#Source0Download: https://github.com/jmcgeheeiv/pyfakefs/releases
+Source0:	https://github.com/jmcgeheeiv/pyfakefs/archive/v%{version}/pyfakefs-%{version}.tar.gz
+# Source0-md5:	bfd4362f7942333ce2666f9f0110e584
+Patch0:		%{name}-tests.patch
+URL:		http://pyfakefs.org/
+BuildRequires:	rpm-pythonprov
+BuildRequires:	rpmbuild(macros) >= 1.714
+%{?with_doc:BuildRequires:	sphinx-pdg >= 1.0}
+%if %{with python2}
+BuildRequires:	python-modules >= 1:2.7
+%{?with_tests:BuildRequires:	python-pytest >= 2.8.6}
+BuildRequires:	python-setuptools
+%endif
+%if %{with python3}
+BuildRequires:	python3-modules >= 1:3.3
+%{?with_tests:BuildRequires:	python3-pytest >= 2.8.6}
+BuildRequires:	python3-setuptools
+%endif
+Requires:	python-modules >= 1:2.7
+BuildArch:	noarch
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+pyfakefs implements a fake file system that mocks the Python file
+system modules. Using pyfakefs, your tests operate on a fake file
+system in memory without touching the real disk. The software under
+test requires no modification to work with pyfakefs.
+
+%description -l pl.UTF-8
+pyfakefs implementuje fałszywy system plików, będący atrapą dla
+modułów systemowych Pythona dla plików. Przy użyciu pyfakefs testy
+operują na fałszywym systemie plików w pamięci, bez dotykania
+prawdziwego dysku. Testowane oprogramowanie nie wymaga modyfikacji,
+aby działało z pyfakefs.
+
+%package -n python3-pyfakefs
+Summary:	Fake file system that mocks the Python 3 file system modules
+Summary(pl.UTF-8):	Fałszywy system plików będący atrapą modułów systemowych Pythona 3 dla plików
+Group:		Libraries/Python
+Requires:	python3-modules >= 1:3.3
+
+%description -n python3-pyfakefs
+pyfakefs implements a fake file system that mocks the Python file
+system modules. Using pyfakefs, your tests operate on a fake file
+system in memory without touching the real disk. The software under
+test requires no modification to work with pyfakefs.
+
+%description -n python3-pyfakefs -l pl.UTF-8
+pyfakefs implementuje fałszywy system plików, będący atrapą dla
+modułów systemowych Pythona dla plików. Przy użyciu pyfakefs testy
+operują na fałszywym systemie plików w pamięci, bez dotykania
+prawdziwego dysku. Testowane oprogramowanie nie wymaga modyfikacji,
+aby działało z pyfakefs.
+
+%package apidocs
+Summary:	API documentation for Python pyfakefs module
+Summary(pl.UTF-8):	Dokumentacja API modułu Pythona pyfakefs
+Group:		Documentation
+
+%description apidocs
+API documentation for Pythona pyfakefs module.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API modułu Pythona pyfakefs.
+
+%prep
+%setup -q -n pyfakefs-%{version}
+%patch0 -p1
+
+%build
+export LC_ALL=C.UTF-8
+%if %{with python2}
+%py_build
+
+%if %{with tests}
+%{__python} -m tests.all_tests
+PYTHONPATH=$(pwd)/build-2/lib PYTEST_PLUGINS=pyfakefs.pytest_plugin \
+py.test-2 tests/pytest_plugin_test.py
+%endif
+%endif
+
+%if %{with python3}
+%py3_build
+
+%if %{with tests}
+%{__python3} -m tests.all_tests
+PYTHONPATH=$(pwd)/build-3/lib PYTEST_PLUGINS=pyfakefs.pytest_plugin \
+py.test-3 tests/pytest_plugin_test.py
+%endif
+%endif
+
+%if %{with doc}
+%{__make} -C docs html
+%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 CHANGES.md README.md
+%{py_sitescriptdir}/pyfakefs
+%{py_sitescriptdir}/pyfakefs-%{version}-py*.egg-info
+%endif
+
+%if %{with python3}
+%files -n python3-pyfakefs
+%defattr(644,root,root,755)
+%doc CHANGES.md README.md
+%{py3_sitescriptdir}/pyfakefs
+%{py3_sitescriptdir}/pyfakefs-%{version}-py*.egg-info
+%endif
+
+%if %{with doc}
+%files apidocs
+%defattr(644,root,root,755)
+%doc gh-pages/{_static,*.html,*.js}
+%endif
diff --git a/python-pyfakefs-tests.patch b/python-pyfakefs-tests.patch
new file mode 100644
index 0000000..0055212
--- /dev/null
+++ b/python-pyfakefs-tests.patch
@@ -0,0 +1,20 @@
+--- pyfakefs-3.4.1/tests/fake_os_test.py.orig	2018-03-18 08:35:26.000000000 +0100
++++ pyfakefs-3.4.1/tests/fake_os_test.py	2018-05-19 21:06:12.791205352 +0200
+@@ -964,7 +964,7 @@
+ 
+     def test_append_mode_tell_linux_windows(self):
+         self.check_linux_and_windows()
+-        tell_result = 5 if self.is_python2 else 7
++        tell_result = 5 if (self.is_python2 and not self.use_real_fs()) else 7
+         self.check_append_mode_tell_after_truncate(tell_result)
+ 
+     def test_append_mode_tell_macos(self):
+@@ -4113,6 +4113,8 @@
+     def test_path_links_not_resolved(self):
+         # regression test for #350
+         self.skip_if_symlink_not_supported()
++        if not hasattr(self.os, 'scandir'):
++            raise unittest.SkipTest('os.scandir not found')
+         dir_path = self.make_path('A', 'B', 'C')
+         self.os.makedirs(self.os.path.join(dir_path, 'D'))
+         link_path = self.make_path('A', 'C')
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-pyfakefs.git/commitdiff/792227e6583c6bda3af163b32bc1176cdb3d7d61



More information about the pld-cvs-commit mailing list