diff options
author | Sebastian Pipping <sping@gentoo.org> | 2018-03-10 00:38:25 +0100 |
---|---|---|
committer | Sebastian Pipping <sping@gentoo.org> | 2018-03-10 00:42:56 +0100 |
commit | 8c65658fe72ebed4fadd184d74f554f4405b0d7e (patch) | |
tree | 2e077c1f1edc3473bfcf268a16d4161e69c40961 /dev-python/ws4py | |
parent | dev-python/yapsy: Python 3.6 (diff) | |
download | gentoo-8c65658fe72ebed4fadd184d74f554f4405b0d7e.tar.gz gentoo-8c65658fe72ebed4fadd184d74f554f4405b0d7e.tar.bz2 gentoo-8c65658fe72ebed4fadd184d74f554f4405b0d7e.zip |
dev-python/ws4py: Python 3.6 (for 0.3.4)
Bug: https://bugs.gentoo.org/643732
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'dev-python/ws4py')
-rw-r--r-- | dev-python/ws4py/files/ws4py-0.3.4-tests.patch | 67 | ||||
-rw-r--r-- | dev-python/ws4py/ws4py-0.3.4-r1.ebuild | 55 |
2 files changed, 122 insertions, 0 deletions
diff --git a/dev-python/ws4py/files/ws4py-0.3.4-tests.patch b/dev-python/ws4py/files/ws4py-0.3.4-tests.patch new file mode 100644 index 000000000000..dde60f2ed04d --- /dev/null +++ b/dev-python/ws4py/files/ws4py-0.3.4-tests.patch @@ -0,0 +1,67 @@ +From 185c88cb6779b3b15a5c14047bb62b8fcb8d2e57 Mon Sep 17 00:00:00 2001 +From: Sebastian Pipping <sebastian@pipping.org> +Date: Sat, 10 Mar 2018 00:33:37 +0100 +Subject: [PATCH] Fix AttributeErrors from mistaken Mock.assert_call_once_with + +This commit is a backport/subset of: +https://github.com/Lawouach/WebSocket-for-Python/commit/b5d47f7b3497f1b713a20fe6306b7d9afdd8c408 +--- + test/test_manager.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/test/test_manager.py b/test/test_manager.py +index 8c229b0..aacc162 100644 +--- a/test/test_manager.py ++++ b/test/test_manager.py +@@ -16,10 +16,10 @@ class WSManagerTest(unittest.TestCase): + ws.sock.fileno.return_value = 1 + + m.add(ws) +- m.poller.register.assert_call_once_with(ws) ++ m.poller.register.assert_called_once_with(1) + + m.remove(ws) +- m.poller.unregister.assert_call_once_with(ws) ++ m.poller.unregister.assert_called_once_with(1) + + @patch('ws4py.manager.SelectPoller') + def test_cannot_add_websocket_more_than_once(self, MockSelectPoller): +@@ -49,7 +49,7 @@ class WSManagerTest(unittest.TestCase): + self.assertEqual(len(m), 1) + m.remove(ws) + self.assertEqual(len(m), 0) +- m.poller.unregister.assert_call_once_with(ws) ++ m.poller.unregister.assert_called_once_with(1) + m.poller.reset_mock() + + m.remove(ws) +@@ -98,7 +98,7 @@ class WSManagerTest(unittest.TestCase): + m.add(ws) + m.start() + +- ws.terminate.assert_call_once_with() ++ ws.terminate.assert_called_once_with() + + m.stop() + +@@ -109,7 +109,7 @@ class WSManagerTest(unittest.TestCase): + ws = MagicMock() + m.add(ws) + m.close_all() +- ws.terminate.assert_call_once_with(1001, 'Server is shutting down') ++ ws.close.assert_called_once_with(code=1001, reason='Server is shutting down') + + @patch('ws4py.manager.SelectPoller') + def test_broadcast(self, MockSelectPoller): +@@ -120,7 +120,7 @@ class WSManagerTest(unittest.TestCase): + m.add(ws) + + m.broadcast(b'hello there') +- ws.send.assert_call_once_with(b'hello there') ++ ws.send.assert_called_once_with(b'hello there', False) + + @patch('ws4py.manager.SelectPoller') + def test_broadcast_failure_must_not_break_caller(self, MockSelectPoller): +-- +2.16.2 + diff --git a/dev-python/ws4py/ws4py-0.3.4-r1.ebuild b/dev-python/ws4py/ws4py-0.3.4-r1.ebuild new file mode 100644 index 000000000000..6ab67dfda7d9 --- /dev/null +++ b/dev-python/ws4py/ws4py-0.3.4-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# We could depend on dev-python/cherrypy when USE=server, but +# that is an optional component ... +# Same for www-servers/tornado and USE=client ... so why not??? +# pypy is viable but better with a cutdown set of deps + +EAPI="5" +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_REQ_USE="threads?" + +inherit distutils-r1 +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://github.com/Lawouach/WebSocket-for-Python.git" + inherit git-2 +else + inherit vcs-snapshot + SRC_URI="https://github.com/Lawouach/WebSocket-for-Python/tarball/v${PV} -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~x86" +fi + +DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy" +HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python" + +LICENSE="BSD" +SLOT="0" +IUSE="+client +server test +threads" +# doc build requires sphinxcontrib ext packages absent from portage + +RDEPEND=">=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}] + $(python_gen_cond_dep 'dev-python/gevent[${PYTHON_USEDEP}]' python2_7) + >=dev-python/cython-0.19.1[${PYTHON_USEDEP}] + client? ( >=www-servers/tornado-3.1[${PYTHON_USEDEP}] ) + server? ( <dev-python/cherrypy-9[${PYTHON_USEDEP}] )" +DEPEND="test? ( + <dev-python/cherrypy-9[${PYTHON_USEDEP}] + dev-python/unittest2[${PYTHON_USEDEP}] + >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] + )" + +PATCHES=( + "${FILESDIR}"/${P}-tests.patch +) + +python_test() { + # testsuite displays an issue with mock under py3 but is non fatal + "${PYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}" +} + +python_install() { + distutils-r1_python_install + use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client + use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server +} |