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
This commit is contained in:
Sebastian Pipping
2018-03-10 00:38:25 +01:00
parent 7ec7fd8d98
commit 8c65658fe7
2 changed files with 122 additions and 0 deletions

View File

@@ -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

View File

@@ -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
}