summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/pyfakefs/Manifest1
-rw-r--r--dev-python/pyfakefs/files/pyfakefs-3.3-sandbox-tests.patch31
-rw-r--r--dev-python/pyfakefs/metadata.xml12
-rw-r--r--dev-python/pyfakefs/pyfakefs-3.3.ebuild26
4 files changed, 70 insertions, 0 deletions
diff --git a/dev-python/pyfakefs/Manifest b/dev-python/pyfakefs/Manifest
new file mode 100644
index 000000000000..4119d7c63109
--- /dev/null
+++ b/dev-python/pyfakefs/Manifest
@@ -0,0 +1 @@
+DIST pyfakefs-3.3.tar.gz 141704 BLAKE2B f805146024d9886ce6cb25b23f6f818bb37cac00a51528375b3da3e728515cb5ffd292352888861ff2b434ff71dd730bfbd84874fee0ae1f4d2cfca974f73771 SHA512 0044643964a4f2329d777476940b38d2d63c6de8f854992b4fba7b7e49f1186e7ce9811f83c9870655cbe33b7dda816c1aa1ce685e800e55c06d175c281748b7
diff --git a/dev-python/pyfakefs/files/pyfakefs-3.3-sandbox-tests.patch b/dev-python/pyfakefs/files/pyfakefs-3.3-sandbox-tests.patch
new file mode 100644
index 000000000000..58f24fc89bb0
--- /dev/null
+++ b/dev-python/pyfakefs/files/pyfakefs-3.3-sandbox-tests.patch
@@ -0,0 +1,31 @@
+Fix sandbox issues with non-existent file tests.
+
+--- pyfakefs-3.3/fake_filesystem_test.py
++++ pyfakefs-3.3/fake_filesystem_test.py
+@@ -1418,7 +1418,6 @@
+ self.os.chdir(directory)
+ self.assertRaisesOSError(dir_error, self.os.remove, dir_path)
+ self.assertTrue(self.os.path.exists(dir_path))
+- self.assertRaisesOSError(errno.ENOENT, self.os.remove, '/plugh')
+
+ def testRemoveDirLinux(self):
+ self.checkLinuxOnly()
+@@ -2811,8 +2810,8 @@
+ # trying to create a link from a non-existent file should fail
+ self.skipIfSymlinkNotSupported()
+ self.assertRaisesOSError(errno.ENOENT,
+- self.os.link, '/nonexistent_source',
+- '/link_dest')
++ self.os.link, 'nonexistent_source',
++ 'link_dest')
+
+ def testLinkDelete(self):
+ self.skipIfSymlinkNotSupported()
+@@ -3158,7 +3157,6 @@
+ self.os.chdir(directory)
+ self.assertRaisesOSError(dir_error, self.os.remove, dir_path)
+ self.assertTrue(self.os.path.exists(dir_path))
+- self.assertRaisesOSError(errno.ENOENT, self.os.remove, '/Plugh')
+
+ def testRemoveDirMacOs(self):
+ self.checkMacOsOnly()
diff --git a/dev-python/pyfakefs/metadata.xml b/dev-python/pyfakefs/metadata.xml
new file mode 100644
index 000000000000..0a79b8f3f70d
--- /dev/null
+++ b/dev-python/pyfakefs/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyfakefs</remote-id>
+ <remote-id type="github">jmcgeheeiv/pyfakefs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyfakefs/pyfakefs-3.3.ebuild b/dev-python/pyfakefs/pyfakefs-3.3.ebuild
new file mode 100644
index 000000000000..35086811c6ff
--- /dev/null
+++ b/dev-python/pyfakefs/pyfakefs-3.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
+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.python.org/pypi/pyfakefs"
+SRC_URI="https://github.com/jmcgeheeiv/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-sandbox-tests.patch )
+
+python_test() {
+ "${PYTHON}" all_tests.py || die "tests failed under ${EPYTHON}"
+}