dev-python/pyfakefs: initial import
authorTim Harder <radhermit@gentoo.org>
Fri, 23 Feb 2018 13:36:16 +0000 (08:36 -0500)
committerTim Harder <radhermit@gentoo.org>
Thu, 1 Mar 2018 19:34:46 +0000 (14:34 -0500)
dev-python/pyfakefs/Manifest [new file with mode: 0644]
dev-python/pyfakefs/files/pyfakefs-3.3-sandbox-tests.patch [new file with mode: 0644]
dev-python/pyfakefs/metadata.xml [new file with mode: 0644]
dev-python/pyfakefs/pyfakefs-3.3.ebuild [new file with mode: 0644]

diff --git a/dev-python/pyfakefs/Manifest b/dev-python/pyfakefs/Manifest
new file mode 100644 (file)
index 0000000..4119d7c
--- /dev/null
@@ -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 (file)
index 0000000..58f24fc
--- /dev/null
@@ -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 (file)
index 0000000..0a79b8f
--- /dev/null
@@ -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 (file)
index 0000000..3508681
--- /dev/null
@@ -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}"
+}