summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2021-07-13 00:53:13 +0200
committerMichał Górny <mgorny@gentoo.org>2021-07-13 00:53:13 +0200
commite1740d9d85492ec628a2c63242e1eec929da2bd7 (patch)
treedef165da67b5634db66fa4ccedd5ca98dd740636 /dev-python/pyfakefs
parentdev-python/docutils: Remove old (diff)
downloadgentoo-e1740d9d85492ec628a2c63242e1eec929da2bd7.tar.gz
gentoo-e1740d9d85492ec628a2c63242e1eec929da2bd7.tar.bz2
gentoo-e1740d9d85492ec628a2c63242e1eec929da2bd7.zip
dev-python/pyfakefs: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pyfakefs')
-rw-r--r--dev-python/pyfakefs/Manifest1
-rw-r--r--dev-python/pyfakefs/files/pyfakefs-4.4.0-py310.patch265
-rw-r--r--dev-python/pyfakefs/pyfakefs-4.4.0.ebuild27
3 files changed, 0 insertions, 293 deletions
diff --git a/dev-python/pyfakefs/Manifest b/dev-python/pyfakefs/Manifest
index 0cb16f29f837..8faef02f6a17 100644
--- a/dev-python/pyfakefs/Manifest
+++ b/dev-python/pyfakefs/Manifest
@@ -1,2 +1 @@
-DIST pyfakefs-4.4.0.tar.gz 196236 BLAKE2B d19fb44320d9c7eab1e97ee4123da548f1e3b2f8f6b0e3be762b6228677fa165ed1b60364481c53f54e79e50a2f98d298e7ff6e65f40aa9c4e372a0f72e19d52 SHA512 774e5e213ee8ce17759cdeaa4ce1d70c43df25f0885c73c7e8aa923973a43f48d9fb19d45105a6a5c5d1c6a0c54c22fe4d80ec3ec92ac7cd97c50fb532af90bc
DIST pyfakefs-4.5.0.tar.gz 198107 BLAKE2B ee055ba5e5b53fc91cfb83a29b6fe77f6ea89576c1f3f13e46cd71ddcfe81630f3639000de1ca14bd9a56bcf4a09046fce313f65722327b63098142e5c0030cf SHA512 24a4555b197d089c2a039354f693748415035a587d0194d7d6494b83b507db2dd7e34f748fccb18f151b2673f06ce290fab02f6eb56d2691d5ab72ac12b2b233
diff --git a/dev-python/pyfakefs/files/pyfakefs-4.4.0-py310.patch b/dev-python/pyfakefs/files/pyfakefs-4.4.0-py310.patch
deleted file mode 100644
index 6ef35df7d1f8..000000000000
--- a/dev-python/pyfakefs/files/pyfakefs-4.4.0-py310.patch
+++ /dev/null
@@ -1,265 +0,0 @@
-From a8a70bb7746ba24aa60c9915311e1ff5b402146c Mon Sep 17 00:00:00 2001
-From: Carl Montanari <8515611+carlmontanari@users.noreply.github.com>
-Date: Thu, 13 May 2021 22:44:45 -0700
-Subject: [PATCH] Add support for Python 3.10 beta1 (#594)
-
-- add Python 3.10-beta1 to CI
-- adapt fake pathlib, fix pathlib.Path methods link_to, getcwd, lchmod
-- handle dummy encoding "locale" introduced in Python 3.10
-- do not test extra dependencies with Python 3.10 (some are not available)
----
- pyfakefs/fake_filesystem.py | 15 ++++---
- pyfakefs/fake_pathlib.py | 64 ++++++++++++++++++++++-------
- pyfakefs/helpers.py | 9 ++++
- pyfakefs/tests/fake_pathlib_test.py | 27 +++++++++---
- 6 files changed, 109 insertions(+), 32 deletions(-)
-
-diff --git a/pyfakefs/fake_filesystem.py b/pyfakefs/fake_filesystem.py
-index 1e9bfc8..971dc93 100644
---- a/pyfakefs/fake_filesystem.py
-+++ b/pyfakefs/fake_filesystem.py
-@@ -114,7 +114,7 @@ from pyfakefs.fake_scandir import scandir, walk
- from pyfakefs.helpers import (
- FakeStatResult, BinaryBufferIO, TextBufferIO,
- is_int_type, is_byte_string, is_unicode_string,
-- make_string_path, IS_WIN, to_string, matching_string
-+ make_string_path, IS_WIN, to_string, matching_string, real_encoding
- )
- from pyfakefs import __version__ # noqa: F401 for upwards compatibility
-
-@@ -293,7 +293,7 @@ class FakeFile:
- if st_mode >> 12 == 0:
- st_mode |= S_IFREG
- self.stat_result.st_mode = st_mode
-- self.encoding = encoding
-+ self.encoding = real_encoding(encoding)
- self.errors = errors or 'strict'
- self._byte_contents = self._encode_contents(contents)
- self.stat_result.st_size = (
-@@ -430,7 +430,7 @@ class FakeFile:
- OSError: if `st_size` is not a non-negative integer,
- or if it exceeds the available file system space.
- """
-- self.encoding = encoding
-+ self.encoding = real_encoding(encoding)
- changed = self._set_initial_contents(contents)
- if self._side_effect is not None:
- self._side_effect(self)
-@@ -1177,9 +1177,12 @@ class FakeFilesystem:
- OSError: if the filesystem object doesn't exist.
- """
- # stat should return the tuple representing return value of os.stat
-- file_object = self.resolve(
-- entry_path, follow_symlinks,
-- allow_fd=True, check_read_perm=False)
-+ try:
-+ file_object = self.resolve(
-+ entry_path, follow_symlinks,
-+ allow_fd=True, check_read_perm=False)
-+ except TypeError:
-+ file_object = self.resolve(entry_path)
- if not is_root():
- # make sure stat raises if a parent dir is not readable
- parent_dir = file_object.parent_dir
-diff --git a/pyfakefs/fake_pathlib.py b/pyfakefs/fake_pathlib.py
-index b43b178..09933fa 100644
---- a/pyfakefs/fake_pathlib.py
-+++ b/pyfakefs/fake_pathlib.py
-@@ -53,8 +53,8 @@ def init_module(filesystem):
-
- def _wrap_strfunc(strfunc):
- @functools.wraps(strfunc)
-- def _wrapped(pathobj, *args):
-- return strfunc(pathobj.filesystem, str(pathobj), *args)
-+ def _wrapped(pathobj, *args, **kwargs):
-+ return strfunc(pathobj.filesystem, str(pathobj), *args, **kwargs)
-
- return staticmethod(_wrapped)
-
-@@ -94,19 +94,24 @@ class _FakeAccessor(accessor):
-
- listdir = _wrap_strfunc(FakeFilesystem.listdir)
-
-- chmod = _wrap_strfunc(FakeFilesystem.chmod)
--
- if use_scandir:
- scandir = _wrap_strfunc(fake_scandir.scandir)
-
- if hasattr(os, "lchmod"):
- lchmod = _wrap_strfunc(lambda fs, path, mode: FakeFilesystem.chmod(
- fs, path, mode, follow_symlinks=False))
-+ chmod = _wrap_strfunc(FakeFilesystem.chmod)
- else:
-- def lchmod(self, pathobj, mode):
-+ def lchmod(self, pathobj, *args, **kwargs):
- """Raises not implemented for Windows systems."""
- raise NotImplementedError("lchmod() not available on this system")
-
-+ def chmod(self, pathobj, *args, **kwargs):
-+ if "follow_symlinks" in kwargs and not kwargs["follow_symlinks"]:
-+ raise NotImplementedError(
-+ "lchmod() not available on this system")
-+ return pathobj.filesystem.chmod(str(pathobj), *args, **kwargs)
-+
- mkdir = _wrap_strfunc(FakeFilesystem.makedir)
-
- unlink = _wrap_strfunc(FakeFilesystem.remove)
-@@ -124,13 +129,21 @@ class _FakeAccessor(accessor):
- FakeFilesystem.create_symlink(fs, file_path, link_target,
- create_missing_dirs=False))
-
-- if sys.version_info >= (3, 8):
-+ if (3, 8) <= sys.version_info < (3, 10):
- link_to = _wrap_binary_strfunc(
- lambda fs, file_path, link_target:
- FakeFilesystem.link(fs, file_path, link_target))
-
-- if sys.version_info >= (3, 9):
-- readlink = _wrap_strfunc(FakeFilesystem.readlink)
-+ if sys.version_info >= (3, 10):
-+ link = _wrap_binary_strfunc(
-+ lambda fs, file_path, link_target:
-+ FakeFilesystem.link(fs, file_path, link_target))
-+
-+ # this will use the fake filesystem because os is patched
-+ def getcwd(self):
-+ return os.getcwd()
-+
-+ readlink = _wrap_strfunc(FakeFilesystem.readlink)
-
- utime = _wrap_strfunc(FakeFilesystem.utime)
-
-@@ -461,19 +474,42 @@ class FakePath(pathlib.Path):
- cls = (FakePathlibModule.WindowsPath
- if cls.filesystem.is_windows_fs
- else FakePathlibModule.PosixPath)
-- self = cls._from_parts(args, init=True)
-+ self = cls._from_parts(args)
- return self
-
-- def _path(self):
-- """Returns the underlying path string as used by the fake filesystem.
-- """
-- return str(self)
-+ @classmethod
-+ def _from_parts(cls, args, init=False): # pylint: disable=unused-argument
-+ # Overwritten to call _init to set the fake accessor,
-+ # which is not done since Python 3.10
-+ self = object.__new__(cls)
-+ self._init()
-+ drv, root, parts = self._parse_args(args)
-+ self._drv = drv
-+ self._root = root
-+ self._parts = parts
-+ return self
-+
-+ @classmethod
-+ def _from_parsed_parts(cls, drv, root, parts):
-+ # Overwritten to call _init to set the fake accessor,
-+ # which is not done since Python 3.10
-+ self = object.__new__(cls)
-+ self._init()
-+ self._drv = drv
-+ self._root = root
-+ self._parts = parts
-+ return self
-
- def _init(self, template=None):
- """Initializer called from base class."""
- self._accessor = _fake_accessor
- self._closed = False
-
-+ def _path(self):
-+ """Returns the underlying path string as used by the fake filesystem.
-+ """
-+ return str(self)
-+
- @classmethod
- def cwd(cls):
- """Return a new path pointing to the current working directory
-@@ -722,7 +758,7 @@ class RealPath(pathlib.Path):
- if cls is RealPathlibModule.Path:
- cls = (RealPathlibModule.WindowsPath if os.name == 'nt'
- else RealPathlibModule.PosixPath)
-- self = cls._from_parts(args, init=True)
-+ self = cls._from_parts(args)
- return self
-
-
-diff --git a/pyfakefs/helpers.py b/pyfakefs/helpers.py
-index aa3959d..08962fc 100644
---- a/pyfakefs/helpers.py
-+++ b/pyfakefs/helpers.py
-@@ -57,6 +57,15 @@ def to_string(path):
- return path
-
-
-+def real_encoding(encoding):
-+ """Since Python 3.10, the new function ``io.text_encoding`` returns
-+ "locale" as the encoding if None is defined. This will be handled
-+ as no encoding in pyfakefs."""
-+ if sys.version_info >= (3, 10):
-+ return encoding if encoding != "locale" else None
-+ return encoding
-+
-+
- def matching_string(matched, string):
- """Return the string as byte or unicode depending
- on the type of matched, assuming string is an ASCII string.
-diff --git a/pyfakefs/tests/fake_pathlib_test.py b/pyfakefs/tests/fake_pathlib_test.py
-index 5dcc57f..efea509 100644
---- a/pyfakefs/tests/fake_pathlib_test.py
-+++ b/pyfakefs/tests/fake_pathlib_test.py
-@@ -378,10 +378,11 @@ class FakePathlibFileObjectPropertyTest(RealPathlibTestCase):
- # we get stat.S_IFLNK | 0o755 under MacOs
- self.assertEqual(link_stat.st_mode, stat.S_IFLNK | 0o777)
-
-- @unittest.skipIf(sys.platform == 'darwin',
-- 'Different behavior under MacOs')
- def test_lchmod(self):
- self.skip_if_symlink_not_supported()
-+ if (sys.version_info >= (3, 10) and self.use_real_fs() and
-+ 'chmod' not in os.supports_follow_symlinks):
-+ raise unittest.SkipTest('follow_symlinks not available for chmod')
- file_stat = self.os.stat(self.file_path)
- link_stat = self.os.lstat(self.file_link_path)
- if not hasattr(os, "lchmod"):
-@@ -390,8 +391,9 @@ class FakePathlibFileObjectPropertyTest(RealPathlibTestCase):
- else:
- self.path(self.file_link_path).lchmod(0o444)
- self.assertEqual(file_stat.st_mode, stat.S_IFREG | 0o666)
-- # we get stat.S_IFLNK | 0o755 under MacOs
-- self.assertEqual(link_stat.st_mode, stat.S_IFLNK | 0o444)
-+ # the exact mode depends on OS and Python version
-+ self.assertEqual(link_stat.st_mode & 0o777700,
-+ stat.S_IFLNK | 0o700)
-
- def test_resolve(self):
- self.create_dir(self.make_path('antoine', 'docs'))
-@@ -968,7 +970,22 @@ class FakePathlibUsageInOsFunctionsTest(RealPathlibTestCase):
- def test_stat(self):
- path = self.make_path('foo', 'bar', 'baz')
- self.create_file(path, contents='1234567')
-- self.assertEqual(self.os.stat(path), self.os.stat(self.path(path)))
-+ self.assertEqual(self.os.stat(path), self.path(path).stat())
-+
-+ @unittest.skipIf(sys.version_info < (3, 10), "New in Python 3.10")
-+ def test_stat_follow_symlinks(self):
-+ self.check_posix_only()
-+ directory = self.make_path('foo')
-+ base_name = 'bar'
-+ file_path = self.path(self.os.path.join(directory, base_name))
-+ link_path = self.path(self.os.path.join(directory, 'link'))
-+ contents = "contents"
-+ self.create_file(file_path, contents=contents)
-+ self.create_symlink(link_path, base_name)
-+ self.assertEqual(len(contents),
-+ link_path.stat(follow_symlinks=True)[stat.ST_SIZE])
-+ self.assertEqual(len(base_name),
-+ link_path.stat(follow_symlinks=False)[stat.ST_SIZE])
-
- def test_utime(self):
- path = self.make_path('some_file')
---
-2.31.1
-
diff --git a/dev-python/pyfakefs/pyfakefs-4.4.0.ebuild b/dev-python/pyfakefs/pyfakefs-4.4.0.ebuild
deleted file mode 100644
index 5e06b22143d2..000000000000
--- a/dev-python/pyfakefs/pyfakefs-4.4.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} pypy3 )
-DISTUTILS_IN_SOURCE_BUILD=1
-
-inherit distutils-r1
-
-DESCRIPTION="a fake file system that mocks the Python file system modules"
-HOMEPAGE="https://github.com/jmcgeheeiv/pyfakefs/ https://pypi.org/project/pyfakefs/"
-SRC_URI="https://github.com/jmcgeheeiv/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-py310.patch
-)
-
-python_test() {
- "${EPYTHON}" -m pyfakefs.tests.all_tests -v || die "tests failed under ${EPYTHON}"
-}