Open kloczek opened 2 years ago
Looks like it was easy to migrate so I've done that. Result:
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-zerorpc-0.6.3-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-zerorpc-0.6.3-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -p no:relaxed --ignore tests/test_client_async.py --deselect tests/test_server.py::test_exception_compat_v1
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3
plugins: nose2pytest-1.0.8
collected 78 items / 1 deselected / 77 selected
tests/test_buffered_channel.py .......... [ 12%]
tests/test_channel.py ... [ 16%]
tests/test_client.py .. [ 19%]
tests/test_client_heartbeat.py ...... [ 27%]
tests/test_events.py ....... [ 36%]
tests/test_heartbeat.py ........ [ 46%]
tests/test_middleware.py .......... [ 59%]
tests/test_middleware_before_after_exec.py ......... [ 71%]
tests/test_middleware_client.py .......... [ 84%]
tests/test_pubpush.py .... [ 89%]
tests/test_reqstream.py . [ 90%]
tests/test_server.py ...... [ 98%]
tests/test_zmq.py . [100%]
============================================================================= warnings summary =============================================================================
tests/test_reqstream.py::test_rcp_streaming
/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/tests/test_reqstream.py:61: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
assert isinstance(r, collections.Iterator)
-- Docs: https://docs.pytest.org/en/stable/warnings.html
=============================================================== 77 passed, 1 deselected, 1 warning in 29.22s ===============================================================
Here is the patch:
--- a/setup.py 2019-06-26 10:00:19.000000000 +0100
+++ b/setup.py 2021-12-21 17:53:43.738370582 +0000
@@ -64,8 +64,8 @@
url='https://github.com/0rpc/zerorpc-python',
packages=['zerorpc'],
install_requires=requirements,
- tests_require=['nose'],
- test_suite='nose.collector',
+ tests_require=['pytest'],
+ test_suite='pytest.collector',
zip_safe=False,
entry_points={'console_scripts': ['zerorpc = zerorpc.cli:main']},
license='MIT',
--- a/tests/test_buffered_channel.py 2019-06-26 10:00:19.000000000 +0100
+++ b/tests/test_buffered_channel.py 2021-12-21 18:36:12.163644052 +0000
@@ -27,7 +27,7 @@
from __future__ import absolute_import
from builtins import range
-from nose.tools import assert_raises
+import pytest
import gevent
import sys
@@ -61,9 +61,9 @@
print('CLOSE SERVER SOCKET!!!')
server_bufchan.close()
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, client_bufchan.recv)
+ pytest.raises(zerorpc.LostRemote, client_bufchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
client_bufchan.recv()
print('CLIENT LOST SERVER :)')
client_bufchan.close()
@@ -96,9 +96,9 @@
print('CLOSE CLIENT SOCKET!!!')
client_bufchan.close()
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, client_bufchan.recv)
+ pytest.raises(zerorpc.LostRemote, client_bufchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
client_bufchan.recv()
print('SERVER LOST CLIENT :)')
server_bufchan.close()
@@ -129,9 +129,9 @@
print('CLOSE SERVER SOCKET!!!')
server_bufchan.close()
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, client_bufchan.recv)
+ pytest.raises(zerorpc.LostRemote, client_bufchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
client_bufchan.recv()
print('CLIENT LOST SERVER :)')
client_bufchan.close()
@@ -170,9 +170,9 @@
client_bufchan.close()
client.close()
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, server_coro.get)
+ pytest.raises(zerorpc.LostRemote, server_coro.get)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
server_coro.get()
print('SERVER LOST CLIENT :)')
server.close()
@@ -244,9 +244,9 @@
assert list(event.args) == [x + x * x]
client_bufchan.emit('add', (x, x * x))
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, client_bufchan.recv)
+ pytest.raises(zerorpc.LostRemote, client_bufchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
client_bufchan.recv()
client_bufchan.close()
@@ -308,9 +308,9 @@
server_bufchan.emit('OK', (sum(event.args),))
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, server_bufchan.recv)
+ pytest.raises(zerorpc.LostRemote, server_bufchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
server_bufchan.recv()
server_bufchan.close()
@@ -343,9 +343,9 @@
event = client_bufchan.recv(timeout=TIME_FACTOR * 3)
assert event.name == 'OK'
assert list(event.args) == [x]
- assert_raises(zerorpc.TimeoutExpired, _do_with_assert_raises)
+ pytest.raises(zerorpc.TimeoutExpired, _do_with_assert_raises)
else:
- with assert_raises(zerorpc.TimeoutExpired):
+ with pytest.raises(zerorpc.TimeoutExpired):
for x in range(10):
client_bufchan.emit('sleep', (x,))
event = client_bufchan.recv(timeout=TIME_FACTOR * 3)
@@ -369,9 +369,9 @@
assert event.name == 'sleep'
gevent.sleep(TIME_FACTOR * event.args[0])
server_bufchan.emit('OK', event.args)
- assert_raises(zerorpc.LostRemote, _do_with_assert_raises)
+ pytest.raises(zerorpc.LostRemote, _do_with_assert_raises)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
for x in range(20):
event = server_bufchan.recv()
assert event.name == 'sleep'
@@ -422,9 +422,9 @@
def _do_with_assert_raises():
for x in range(200):
server_bufchan.emit('coucou', x, timeout=0) # will fail when x == 1
- assert_raises(zerorpc.TimeoutExpired, _do_with_assert_raises)
+ pytest.raises(zerorpc.TimeoutExpired, _do_with_assert_raises)
else:
- with assert_raises(zerorpc.TimeoutExpired):
+ with pytest.raises(zerorpc.TimeoutExpired):
for x in range(200):
server_bufchan.emit('coucou', x, timeout=0) # will fail when x == 1
server_bufchan.emit('coucou', 1) # block until receiver is ready
@@ -432,9 +432,9 @@
def _do_with_assert_raises():
for x in range(2, 200):
server_bufchan.emit('coucou', x, timeout=0) # will fail when x == 100
- assert_raises(zerorpc.TimeoutExpired, _do_with_assert_raises)
+ pytest.raises(zerorpc.TimeoutExpired, _do_with_assert_raises)
else:
- with assert_raises(zerorpc.TimeoutExpired):
+ with pytest.raises(zerorpc.TimeoutExpired):
for x in range(2, 200):
server_bufchan.emit('coucou', x, timeout=0) # will fail when x == 100
for x in range(read_cnt.value, 200):
--- a/tests/test_client_async.py 2019-06-26 10:00:19.000000000 +0100
+++ b/tests/test_client_async.py 2021-12-21 18:34:33.983863012 +0000
@@ -25,7 +25,7 @@
from __future__ import print_function
from __future__ import absolute_import
-from nose.tools import assert_raises
+import pytest
import gevent
import sys
@@ -58,9 +58,9 @@
if sys.version_info < (2, 7):
def _do_with_assert_raises():
print(async_result.get())
- assert_raises(zerorpc.TimeoutExpired, _do_with_assert_raises)
+ pytest.raises(zerorpc.TimeoutExpired, _do_with_assert_raises)
else:
- with assert_raises(zerorpc.TimeoutExpired):
+ with pytest.raises(zerorpc.TimeoutExpired):
print(async_result.get())
client.close()
srv.close()
--- a/tests/test_heartbeat.py 2019-06-26 10:00:19.000000000 +0100
+++ b/tests/test_heartbeat.py 2021-12-21 18:30:10.115763883 +0000
@@ -27,7 +27,7 @@
from __future__ import absolute_import
from builtins import range
-from nose.tools import assert_raises
+import pytest
import gevent
import sys
@@ -59,9 +59,9 @@
print('CLOSE SERVER SOCKET!!!')
server_hbchan.close()
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, client_hbchan.recv)
+ pytest.raises(zerorpc.LostRemote, client_hbchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
client_hbchan.recv()
print('CLIENT LOST SERVER :)')
client_hbchan.close()
@@ -92,9 +92,9 @@
print('CLOSE CLIENT SOCKET!!!')
client_hbchan.close()
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, server_hbchan.recv)
+ pytest.raises(zerorpc.LostRemote, server_hbchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
server_hbchan.recv()
print('SERVER LOST CLIENT :)')
server_hbchan.close()
@@ -123,9 +123,9 @@
print('CLOSE SERVER SOCKET!!!')
server_hbchan.close()
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, client_hbchan.recv)
+ pytest.raises(zerorpc.LostRemote, client_hbchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
client_hbchan.recv()
print('CLIENT LOST SERVER :)')
client_hbchan.close()
@@ -155,9 +155,9 @@
client_hbchan.close()
client.close()
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, server_hbchan.recv)
+ pytest.raises(zerorpc.LostRemote, server_hbchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
server_hbchan.recv()
print('SERVER LOST CLIENT :)')
server_hbchan.close()
@@ -227,9 +227,9 @@
assert list(event.args) == [x + x * x]
client_hbchan.emit('add', (x, x * x))
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, client_hbchan.recv)
+ pytest.raises(zerorpc.LostRemote, client_hbchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
client_hbchan.recv()
client_hbchan.close()
@@ -287,9 +287,9 @@
server_hbchan.emit('OK', (sum(event.args),))
if sys.version_info < (2, 7):
- assert_raises(zerorpc.LostRemote, server_hbchan.recv)
+ pytest.raises(zerorpc.LostRemote, server_hbchan.recv)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
server_hbchan.recv()
server_hbchan.close()
@@ -322,9 +322,9 @@
event = client_hbchan.recv(timeout=TIME_FACTOR * 3)
assert event.name == 'OK'
assert list(event.args) == [x]
- assert_raises(zerorpc.TimeoutExpired, _do_with_assert_raises)
+ pytest.raises(zerorpc.TimeoutExpired, _do_with_assert_raises)
else:
- with assert_raises(zerorpc.TimeoutExpired):
+ with pytest.raises(zerorpc.TimeoutExpired):
for x in range(10):
client_hbchan.emit('sleep', (x,))
event = client_hbchan.recv(timeout=TIME_FACTOR * 3)
@@ -346,9 +346,9 @@
assert event.name == 'sleep'
gevent.sleep(TIME_FACTOR * event.args[0])
server_hbchan.emit('OK', event.args)
- assert_raises(zerorpc.LostRemote, _do_with_assert_raises)
+ pytest.raises(zerorpc.LostRemote, _do_with_assert_raises)
else:
- with assert_raises(zerorpc.LostRemote):
+ with pytest.raises(zerorpc.LostRemote):
for x in range(20):
event = server_hbchan.recv()
assert event.name == 'sleep'
--- a/tests/test_middleware.py 2019-06-26 10:00:19.000000000 +0100
+++ b/tests/test_middleware.py 2021-12-21 18:32:15.475761150 +0000
@@ -28,7 +28,7 @@
from builtins import str
from future.utils import tobytes
-from nose.tools import assert_raises
+import pytest
import gevent
import gevent.local
import random
@@ -101,9 +101,9 @@
srv = Srv(heartbeat=TIME_FACTOR * 1, context=c)
if sys.version_info < (2, 7):
- assert_raises(zmq.ZMQError, srv.bind, 'some_service')
+ pytest.raises(zmq.ZMQError, srv.bind, 'some_service')
else:
- with assert_raises(zmq.ZMQError):
+ with pytest.raises(zmq.ZMQError):
srv.bind('some_service')
cnt = c.register_middleware(Resolver())
--- a/tests/test_server.py 2019-06-26 10:00:19.000000000 +0100
+++ b/tests/test_server.py 2021-12-21 18:33:16.501246624 +0000
@@ -27,7 +27,7 @@
from __future__ import absolute_import
from builtins import range
-from nose.tools import assert_raises
+import pytest
import gevent
import sys
@@ -114,9 +114,9 @@
client.connect(endpoint)
if sys.version_info < (2, 7):
- assert_raises(zerorpc.TimeoutExpired, client.add, 1, 4)
+ pytest.raises(zerorpc.TimeoutExpired, client.add, 1, 4)
else:
- with assert_raises(zerorpc.TimeoutExpired):
+ with pytest.raises(zerorpc.TimeoutExpired):
print(client.add(1, 4))
client.close()
srv.close()
@@ -140,9 +140,9 @@
if sys.version_info < (2, 7):
def _do_with_assert_raises():
print(client.raise_something(42))
- assert_raises(zerorpc.RemoteError, _do_with_assert_raises)
+ pytest.raises(zerorpc.RemoteError, _do_with_assert_raises)
else:
- with assert_raises(zerorpc.RemoteError):
+ with pytest.raises(zerorpc.RemoteError):
print(client.raise_something(42))
assert client.raise_something(list(range(5))) == 4
client.close()
@@ -167,9 +167,9 @@
if sys.version_info < (2, 7):
def _do_with_assert_raises():
print(client.raise_error())
- assert_raises(zerorpc.RemoteError, _do_with_assert_raises)
+ pytest.raises(zerorpc.RemoteError, _do_with_assert_raises)
else:
- with assert_raises(zerorpc.RemoteError):
+ with pytest.raises(zerorpc.RemoteError):
print(client.raise_error())
try:
client.raise_error()
--- a/tests/testutils.py 2019-06-26 10:00:19.000000000 +0100
+++ b/tests/testutils.py 2021-12-21 18:13:22.190745404 +0000
@@ -26,7 +26,7 @@
from builtins import str
import functools
-import nose.exc
+import pytest
import random
import os
@@ -52,7 +52,7 @@
def _skip(test):
@functools.wraps(test)
def wrap():
- raise nose.exc.SkipTest(reason)
+ raise pytest.SkipTest(reason)
return wrap
return _skip
--- a/tox.ini 2019-06-26 10:00:19.000000000 +0100
+++ b/tox.ini 2021-12-21 18:36:52.445964518 +0000
@@ -4,10 +4,10 @@
[testenv]
deps =
flake8
- nose
+ pytest
commands =
flake8 zerorpc bin
- nosetests -v
+ pytest -v
passenv = ZPC_TEST_TIME_FACTOR
[flake8]
--- a/.travis.yml 2019-06-26 10:00:19.000000000 +0100
+++ b/.travis.yml 2021-12-21 18:36:36.519837814 +0000
@@ -27,4 +27,4 @@
- if [ $TRAVIS_PYTHON_VERSION != '2.6' ]; then
flake8 --ignore=E501,E128 zerorpc bin;
fi
- - nosetests -v
+ - pytest -v
That patch still not solves https://github.com/0rpc/zerorpc-python/issues/239 so this is why I'm ignoring for now that file.
Please let me know if you want above as PR.
Yes please. I would love a PR!
On Tue, 21 Dec 2021, 10:44 Tomasz Kłoczko, @.***> wrote:
Looks like it was easy to migrate so I've done that. Result:
- PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-zerorpc-0.6.3-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-zerorpc-0.6.3-2.fc35.x86_64/usr/lib/python3.8/site-packages+ /usr/bin/pytest -ra -p no:relaxed --ignore tests/test_client_async.py --deselect tests/test_server.py::test_exception_compat_v1=========================================================================== test session starts ============================================================================platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0rootdir: /home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3plugins: nose2pytest-1.0.8collected 78 items / 1 deselected / 77 selected tests/test_buffered_channel.py .......... [ 12%]tests/test_channel.py ... [ 16%]tests/test_client.py .. [ 19%]tests/test_client_heartbeat.py ...... [ 27%]tests/test_events.py ....... [ 36%]tests/test_heartbeat.py ........ [ 46%]tests/test_middleware.py .......... [ 59%]tests/test_middleware_before_after_exec.py ......... [ 71%]tests/test_middleware_client.py .......... [ 84%]tests/test_pubpush.py .... [ 89%]tests/test_reqstream.py . [ 90%]tests/test_server.py ...... [ 98%]tests/test_zmq.py . [100%] ============================================================================= warnings summary =============================================================================tests/test_reqstream.py::test_rcp_streaming /home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/tests/test_reqstream.py:61: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working assert isinstance(r, collections.Iterator) -- Docs: https://docs.pytest.org/en/stable/warnings.html=============================================================== 77 passed, 1 deselected, 1 warning in 29.22s ===============================================================
Here is the patch:
--- a/setup.py 2019-06-26 10:00:19.000000000 +0100+++ b/setup.py 2021-12-21 17:53:43.738370582 +0000@@ -64,8 +64,8 @@ url='https://github.com/0rpc/zerorpc-python', packages=['zerorpc'], install_requires=requirements,- tests_require=['nose'],- test_suite='nose.collector',+ tests_require=['pytest'],+ test_suite='pytest.collector', zip_safe=False, entry_points={'console_scripts': ['zerorpc = zerorpc.cli:main']}, license='MIT',--- a/tests/test_buffered_channel.py 2019-06-26 10:00:19.000000000 +0100+++ b/tests/test_buffered_channel.py 2021-12-21 18:36:12.163644052 +0000@@ -27,7 +27,7 @@ from future import absolute_import from builtins import range -from nose.tools import assert_raises+import pytest import gevent import sys @@ -61,9 +61,9 @@ print('CLOSE SERVER SOCKET!!!') server_bufchan.close() if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, client_bufchan.recv)+ pytest.raises(zerorpc.LostRemote, client_bufchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): client_bufchan.recv() print('CLIENT LOST SERVER :)') client_bufchan.close()@@ -96,9 +96,9 @@ print('CLOSE CLIENT SOCKET!!!') client_bufchan.close() if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, client_bufchan.recv)+ pytest.raises(zerorpc.LostRemote, client_bufchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): client_bufchan.recv() print('SERVER LOST CLIENT :)') server_bufchan.close()@@ -129,9 +129,9 @@ print('CLOSE SERVER SOCKET!!!') server_bufchan.close() if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, client_bufchan.recv)+ pytest.raises(zerorpc.LostRemote, client_bufchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): client_bufchan.recv() print('CLIENT LOST SERVER :)') client_bufchan.close()@@ -170,9 +170,9 @@ client_bufchan.close() client.close() if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, server_coro.get)+ pytest.raises(zerorpc.LostRemote, server_coro.get) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): server_coro.get() print('SERVER LOST CLIENT :)') server.close()@@ -244,9 +244,9 @@ assert list(event.args) == [x + x x] client_bufchan.emit('add', (x, x x)) if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, client_bufchan.recv)+ pytest.raises(zerorpc.LostRemote, client_bufchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): client_bufchan.recv() client_bufchan.close() @@ -308,9 +308,9 @@ server_bufchan.emit('OK', (sum(event.args),))
if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, server_bufchan.recv)+ pytest.raises(zerorpc.LostRemote, server_bufchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): server_bufchan.recv() server_bufchan.close()
@@ -343,9 +343,9 @@ event = client_bufchan.recv(timeout=TIME_FACTOR 3) assert event.name == 'OK' assert list(event.args) == [x]- assert_raises(zerorpc.TimeoutExpired, _do_with_assert_raises)+ pytest.raises(zerorpc.TimeoutExpired, _do_with_assert_raises) else:- with assert_raises(zerorpc.TimeoutExpired):+ with pytest.raises(zerorpc.TimeoutExpired): for x in range(10): client_bufchan.emit('sleep', (x,)) event = client_bufchan.recv(timeout=TIME_FACTOR 3)@@ -369,9 +369,9 @@ assert event.name == 'sleep' gevent.sleep(TIME_FACTOR * event.args[0]) server_bufchan.emit('OK', event.args)- assert_raises(zerorpc.LostRemote, _do_with_assert_raises)+ pytest.raises(zerorpc.LostRemote, _do_with_assert_raises) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): for x in range(20): event = server_bufchan.recv() assert event.name == 'sleep'@@ -422,9 +422,9 @@ def _do_with_assert_raises(): for x in range(200): server_bufchan.emit('coucou', x, timeout=0) # will fail when x == 1- assert_raises(zerorpc.TimeoutExpired, _do_with_assert_raises)+ pytest.raises(zerorpc.TimeoutExpired, _do_with_assert_raises) else:- with assert_raises(zerorpc.TimeoutExpired):+ with pytest.raises(zerorpc.TimeoutExpired): for x in range(200): server_bufchan.emit('coucou', x, timeout=0) # will fail when x == 1 server_bufchan.emit('coucou', 1) # block until receiver is ready@@ -432,9 +432,9 @@ def _do_with_assert_raises(): for x in range(2, 200): server_bufchan.emit('coucou', x, timeout=0) # will fail when x == 100- assert_raises(zerorpc.TimeoutExpired, _do_with_assert_raises)+ pytest.raises(zerorpc.TimeoutExpired, _do_with_assert_raises) else:- with assert_raises(zerorpc.TimeoutExpired):+ with pytest.raises(zerorpc.TimeoutExpired): for x in range(2, 200): server_bufchan.emit('coucou', x, timeout=0) # will fail when x == 100 for x in range(read_cnt.value, 200):--- a/tests/test_client_async.py 2019-06-26 10:00:19.000000000 +0100+++ b/tests/test_client_async.py 2021-12-21 18:34:33.983863012 +0000@@ -25,7 +25,7 @@
from future import print_function from future import absolute_import-from nose.tools import assert_raises+import pytest import gevent import sys @@ -58,9 +58,9 @@ if sys.version_info < (2, 7): def _do_with_assert_raises(): print(async_result.get())- assert_raises(zerorpc.TimeoutExpired, _do_with_assert_raises)+ pytest.raises(zerorpc.TimeoutExpired, _do_with_assert_raises) else:- with assert_raises(zerorpc.TimeoutExpired):+ with pytest.raises(zerorpc.TimeoutExpired): print(async_result.get()) client.close() srv.close()--- a/tests/test_heartbeat.py 2019-06-26 10:00:19.000000000 +0100+++ b/tests/test_heartbeat.py 2021-12-21 18:30:10.115763883 +0000@@ -27,7 +27,7 @@ from future import absolute_import from builtins import range -from nose.tools import assert_raises+import pytest import gevent import sys @@ -59,9 +59,9 @@ print('CLOSE SERVER SOCKET!!!') server_hbchan.close() if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, client_hbchan.recv)+ pytest.raises(zerorpc.LostRemote, client_hbchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): client_hbchan.recv() print('CLIENT LOST SERVER :)') client_hbchan.close()@@ -92,9 +92,9 @@ print('CLOSE CLIENT SOCKET!!!') client_hbchan.close() if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, server_hbchan.recv)+ pytest.raises(zerorpc.LostRemote, server_hbchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): server_hbchan.recv() print('SERVER LOST CLIENT :)') server_hbchan.close()@@ -123,9 +123,9 @@ print('CLOSE SERVER SOCKET!!!') server_hbchan.close() if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, client_hbchan.recv)+ pytest.raises(zerorpc.LostRemote, client_hbchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): client_hbchan.recv() print('CLIENT LOST SERVER :)') client_hbchan.close()@@ -155,9 +155,9 @@ client_hbchan.close() client.close() if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, server_hbchan.recv)+ pytest.raises(zerorpc.LostRemote, server_hbchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): server_hbchan.recv() print('SERVER LOST CLIENT :)') server_hbchan.close()@@ -227,9 +227,9 @@ assert list(event.args) == [x + x x] client_hbchan.emit('add', (x, x x)) if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, client_hbchan.recv)+ pytest.raises(zerorpc.LostRemote, client_hbchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): client_hbchan.recv() client_hbchan.close() @@ -287,9 +287,9 @@ server_hbchan.emit('OK', (sum(event.args),))
if sys.version_info < (2, 7):- assert_raises(zerorpc.LostRemote, server_hbchan.recv)+ pytest.raises(zerorpc.LostRemote, server_hbchan.recv) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): server_hbchan.recv() server_hbchan.close()
@@ -322,9 +322,9 @@ event = client_hbchan.recv(timeout=TIME_FACTOR 3) assert event.name == 'OK' assert list(event.args) == [x]- assert_raises(zerorpc.TimeoutExpired, _do_with_assert_raises)+ pytest.raises(zerorpc.TimeoutExpired, _do_with_assert_raises) else:- with assert_raises(zerorpc.TimeoutExpired):+ with pytest.raises(zerorpc.TimeoutExpired): for x in range(10): client_hbchan.emit('sleep', (x,)) event = client_hbchan.recv(timeout=TIME_FACTOR 3)@@ -346,9 +346,9 @@ assert event.name == 'sleep' gevent.sleep(TIME_FACTOR * event.args[0]) server_hbchan.emit('OK', event.args)- assert_raises(zerorpc.LostRemote, _do_with_assert_raises)+ pytest.raises(zerorpc.LostRemote, _do_with_assert_raises) else:- with assert_raises(zerorpc.LostRemote):+ with pytest.raises(zerorpc.LostRemote): for x in range(20): event = server_hbchan.recv() assert event.name == 'sleep'--- a/tests/test_middleware.py 2019-06-26 10:00:19.000000000 +0100+++ b/tests/test_middleware.py 2021-12-21 18:32:15.475761150 +0000@@ -28,7 +28,7 @@ from builtins import str from future.utils import tobytes -from nose.tools import assert_raises+import pytest import gevent import gevent.local import random@@ -101,9 +101,9 @@
srv = Srv(heartbeat=TIME_FACTOR * 1, context=c) if sys.version_info < (2, 7):- assert_raises(zmq.ZMQError, srv.bind, 'some_service')+ pytest.raises(zmq.ZMQError, srv.bind, 'some_service') else:- with assert_raises(zmq.ZMQError):+ with pytest.raises(zmq.ZMQError): srv.bind('some_service') cnt = c.register_middleware(Resolver())--- a/tests/test_server.py 2019-06-26 10:00:19.000000000 +0100+++ b/tests/test_server.py 2021-12-21 18:33:16.501246624 +0000@@ -27,7 +27,7 @@
from future import absolute_import from builtins import range -from nose.tools import assert_raises+import pytest import gevent import sys @@ -114,9 +114,9 @@ client.connect(endpoint)
if sys.version_info < (2, 7):- assert_raises(zerorpc.TimeoutExpired, client.add, 1, 4)+ pytest.raises(zerorpc.TimeoutExpired, client.add, 1, 4) else:- with assert_raises(zerorpc.TimeoutExpired):+ with pytest.raises(zerorpc.TimeoutExpired): print(client.add(1, 4)) client.close() srv.close()@@ -140,9 +140,9 @@ if sys.version_info < (2, 7): def _do_with_assert_raises(): print(client.raise_something(42))- assert_raises(zerorpc.RemoteError, _do_with_assert_raises)+ pytest.raises(zerorpc.RemoteError, _do_with_assert_raises) else:- with assert_raises(zerorpc.RemoteError):+ with pytest.raises(zerorpc.RemoteError): print(client.raise_something(42)) assert client.raise_something(list(range(5))) == 4 client.close()@@ -167,9 +167,9 @@ if sys.version_info < (2, 7): def _do_with_assert_raises(): print(client.raise_error())- assert_raises(zerorpc.RemoteError, _do_with_assert_raises)+ pytest.raises(zerorpc.RemoteError, _do_with_assert_raises) else:- with assert_raises(zerorpc.RemoteError):+ with pytest.raises(zerorpc.RemoteError): print(client.raise_error()) try: client.raise_error()--- a/tests/testutils.py 2019-06-26 10:00:19.000000000 +0100+++ b/tests/testutils.py 2021-12-21 18:13:22.190745404 +0000@@ -26,7 +26,7 @@
from builtins import str
import functools-import nose.exc+import pytest import random import os @@ -52,7 +52,7 @@ def _skip(test): @functools.wraps(test) def wrap():- raise nose.exc.SkipTest(reason)+ raise pytest.SkipTest(reason) return wrap return _skip --- a/tox.ini 2019-06-26 10:00:19.000000000 +0100+++ b/tox.ini 2021-12-21 18:36:52.445964518 +0000@@ -4,10 +4,10 @@ [testenv] deps = flake8- nose+ pytest commands = flake8 zerorpc bin- nosetests -v+ pytest -v passenv = ZPC_TEST_TIME_FACTOR
[flake8]--- a/.travis.yml 2019-06-26 10:00:19.000000000 +0100+++ b/.travis.yml 2021-12-21 18:36:36.519837814 +0000@@ -27,4 +27,4 @@
- if [ $TRAVIS_PYTHON_VERSION != '2.6' ]; then flake8 --ignore=E501,E128 zerorpc bin; fi- - nosetests -v+ - pytest -v
That patch still not solves #239 https://github.com/0rpc/zerorpc-python/issues/239 so this is why I'm ignoring for now that file.
Please let me know if you want above as PR.
— Reply to this email directly, view it on GitHub https://github.com/0rpc/zerorpc-python/issues/243#issuecomment-999010575, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABUZDBTCYTMAWWKVS6FA73USDDIRANCNFSM5KQXIMOA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID: @.***>
That patch still not solves #239 so this is why I'm ignoring for now that file.
I would propose #245
Yes please. I would love a PR!
Fantastic!
On Wed, 5 Jan 2022, 18:44 Tomasz Kłoczko, @.***> wrote:
Yes please. I would love a PR!
Done #247 https://github.com/0rpc/zerorpc-python/pull/247
— Reply to this email directly, view it on GitHub https://github.com/0rpc/zerorpc-python/issues/243#issuecomment-1006240140, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABUZDABF5NHJWYAR3UATVDUUT6ZJANCNFSM5KQXIMOA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>
That patch still not solves #239 so this is why I'm ignoring for now that file.
I would propose #245
Just tested that and pytest still fails for me but it may be result of my patch with nose to pytest migration. As please have look on pytest warnig.
[tkloczko@ss-desktop SPECS]$ rpmbuild -ba --with failing_tests python-zerorpc.spec
warning: Downloading https://github.com/0rpc/zerorpc-python//archive/v0.6.3/python-zerorpc-0.6.3.tar.gz to /home/tkloczko/rpmbuild/SOURCES/python-zerorpc-0.6.3.tar.gz
warning: Downloading https://github.com/0rpc/zerorpc-python//commit/d6346f56.patch#/python-zerorpc-core-handle-both-async-and-async_-in-remote-calls.patch to /home/tkloczko/rpmbuild/SOURCES/python-zerorpc-core-handle-both-async-and-async_-in-remote-calls.patch
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.aoKgQN
+ umask 022
+ cd /home/tkloczko/rpmbuild/BUILD
+ cd /home/tkloczko/rpmbuild/BUILD
+ rm -rf zerorpc-python-0.6.3
+ /usr/bin/gzip -dc /home/tkloczko/rpmbuild/SOURCES/python-zerorpc-0.6.3.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd zerorpc-python-0.6.3
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/python-zerorpc-nose2pytest.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/python-zerorpc-core-handle-both-async-and-async_-in-remote-calls.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ RPM_EC=0
++ jobs -p
+ exit 0
[..]
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-zerorpc-0.6.3-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-zerorpc-0.6.3-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -p no:relaxed
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3
collected 80 items
tests/test_buffered_channel.py .......... [ 12%]
tests/test_channel.py ... [ 16%]
tests/test_client.py .. [ 18%]
tests/test_client_async.py .. [ 21%]
tests/test_client_heartbeat.py ...... [ 28%]
tests/test_events.py ....... [ 37%]
tests/test_heartbeat.py ........ [ 47%]
tests/test_middleware.py .......... [ 60%]
tests/test_middleware_before_after_exec.py ......F.. [ 71%]
tests/test_middleware_client.py .......... [ 83%]
tests/test_pubpush.py .... [ 88%]
tests/test_reqstream.py . [ 90%]
tests/test_server.py .....F. [ 98%]
tests/test_zmq.py . [100%]
================================================================================= FAILURES =================================================================================
___________________________________________________________________ test_hook_server_after_exec_on_error ___________________________________________________________________
self = <zerorpc.channel.BufferedChannel object at 0x7f38781a4c10>, timeout = 30
def recv(self, timeout=None):
# self._channel can be set to None by an 'on_close_if' callback if it
# sees a suitable message from the remote end...
#
if self._verbose and self._channel:
if self._input_queue_reserved < self._input_queue_size // 2:
self._request_data()
else:
self._verbose = True
try:
> event = self._input_queue.get(timeout=timeout)
zerorpc/channel.py:255:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
src/gevent/queue.py:335:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
src/gevent/queue.py:350:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
src/gevent/queue.py:327:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
src/gevent/_waiter.py:154:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
src/gevent/_greenlet_primitives.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
src/gevent/_greenlet_primitives.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
src/gevent/_greenlet_primitives.py:65:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
E _queue.Empty
src/gevent/_gevent_c_greenlet_primitives.pxd:35: Empty
During handling of the above exception, another exception occurred:
self = <zerorpc.core.Client object at 0x7f38781a4940>, request_event = <zerorpc.events.Event object at 0x7f38781aaf80>
bufchan = <zerorpc.channel.BufferedChannel object at 0x7f38781a4c10>, timeout = 30
def _process_response(self, request_event, bufchan, timeout):
def raise_error(ex):
bufchan.close()
self._context.hook_client_after_request(request_event, None, ex)
raise ex
try:
> reply_event = bufchan.recv(timeout=timeout)
zerorpc/core.py:227:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <zerorpc.channel.BufferedChannel object at 0x7f38781a4c10>, timeout = 30
def recv(self, timeout=None):
# self._channel can be set to None by an 'on_close_if' callback if it
# sees a suitable message from the remote end...
#
if self._verbose and self._channel:
if self._input_queue_reserved < self._input_queue_size // 2:
self._request_data()
else:
self._verbose = True
try:
event = self._input_queue.get(timeout=timeout)
except gevent.queue.Empty:
> raise TimeoutExpired(timeout)
E zerorpc.exceptions.TimeoutExpired: timeout after 30s
zerorpc/channel.py:257: TimeoutExpired
During handling of the above exception, another exception occurred:
def test_hook_server_after_exec_on_error():
zero_ctx = zerorpc.Context()
endpoint = random_ipc_endpoint()
test_server = zerorpc.Server(BrokenEchoModule(), context=zero_ctx)
test_server.bind(endpoint)
test_server_task = gevent.spawn(test_server.run)
test_client = zerorpc.Client()
test_client.connect(endpoint)
test_middleware = ServerAfterExecMiddleware()
zero_ctx.register_middleware(test_middleware)
assert test_middleware.called == False
try:
> test_client.echo("test")
tests/test_middleware_before_after_exec.py:269:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
zerorpc/core.py:281: in <lambda>
return lambda *args, **kargs: self(method, *args, **kargs)
zerorpc/core.py:273: in __call__
return self._process_response(request_event, bufchan, timeout)
zerorpc/core.py:229: in _process_response
raise_error(TimeoutExpired(timeout,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ex = TimeoutExpired('timeout after 30s, when calling remote method echo')
def raise_error(ex):
bufchan.close()
self._context.hook_client_after_request(request_event, None, ex)
> raise ex
E zerorpc.exceptions.TimeoutExpired: timeout after 30s, when calling remote method echo
zerorpc/core.py:224: TimeoutExpired
------------------------------------------------------------------------- Captured stdout teardown -------------------------------------------------------------------------
unlink /tmp/zerorpc_test_socket_7042481083751932.sock
_________________________________________________________________________ test_exception_compat_v1 _________________________________________________________________________
def test_exception_compat_v1():
endpoint = random_ipc_endpoint()
class MySrv(zerorpc.Server):
pass
srv = MySrv()
srv.bind(endpoint)
gevent.spawn(srv.run)
client_events = zerorpc.Events(zmq.DEALER)
client_events.connect(endpoint)
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
rpccall = client.channel()
rpccall.emit('donotexist', tuple())
event = rpccall.recv()
print(event)
assert event.name == 'ERR'
(name, msg, tb) = event.args
print('detailed error', name, msg, tb)
assert name == 'NameError'
assert msg == 'donotexist'
rpccall = client.channel()
rpccall.emit('donotexist', tuple(), xheader={'v': 1})
event = rpccall.recv()
print(event)
assert event.name == 'ERR'
(msg,) = event.args
print('msg only', msg)
> assert msg == "NameError('donotexist',)"
E assert "NameError('donotexist')" == "NameError('donotexist',)"
E - NameError('donotexist',)
E ? -
E + NameError('donotexist')
tests/test_server.py:218: AssertionError
--------------------------------------------------------------------------- Captured stdout call ---------------------------------------------------------------------------
<b''> ERR {'message_id': b'f872476e76184777a7485b464bd4028e', 'v': 3, 'response_to': b'f872476d76184777a7485b464bd4028e'} ['NameError', 'donotexist', 'Traceback (most recent call last):\n File "/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/zerorpc/core.py", line 152, in _async_task\n raise NameError(event.name)\nNameError: donotexist\n']
detailed error NameError donotexist Traceback (most recent call last):
File "/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/zerorpc/core.py", line 152, in _async_task
raise NameError(event.name)
NameError: donotexist
<b''> ERR {'message_id': b'f872477076184777a7485b464bd4028e', 'v': 3, 'response_to': b'f872476f76184777a7485b464bd4028e'} ["NameError('donotexist')"]
msg only NameError('donotexist')
---------------------------------------------------------------------------- Captured log call -----------------------------------------------------------------------------
ERROR zerorpc.core:core.py:130
Traceback (most recent call last):
File "/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/zerorpc/core.py", line 152, in _async_task
raise NameError(event.name)
NameError: donotexist
ERROR zerorpc.core:core.py:130
Traceback (most recent call last):
File "/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/zerorpc/core.py", line 152, in _async_task
raise NameError(event.name)
NameError: donotexist
------------------------------------------------------------------------- Captured stdout teardown -------------------------------------------------------------------------
unlink /tmp/zerorpc_test_socket_631593270723546.sock
============================================================================= warnings summary =============================================================================
tests/test_reqstream.py::test_rcp_streaming
/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/tests/test_reqstream.py:61: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
assert isinstance(r, collections.Iterator)
-- Docs: https://docs.pytest.org/en/stable/warnings.html
========================================================================= short test summary info ==========================================================================
FAILED tests/test_middleware_before_after_exec.py::test_hook_server_after_exec_on_error - zerorpc.exceptions.TimeoutExpired: timeout after 30s, when calling remote metho...
FAILED tests/test_server.py::test_exception_compat_v1 - assert "NameError('donotexist')" == "NameError('donotexist',)"
============================================================ 2 failed, 78 passed, 1 warning in 78.97s (0:01:18) ============================================================
Something is strange. On second run I have only one unit failed
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-zerorpc-0.6.3-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-zerorpc-0.6.3-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -p no:relaxed
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3
collected 80 items
tests/test_buffered_channel.py .......... [ 12%]
tests/test_channel.py ... [ 16%]
tests/test_client.py .. [ 18%]
tests/test_client_async.py .. [ 21%]
tests/test_client_heartbeat.py ...... [ 28%]
tests/test_events.py ....... [ 37%]
tests/test_heartbeat.py ........ [ 47%]
tests/test_middleware.py .......... [ 60%]
tests/test_middleware_before_after_exec.py ......... [ 71%]
tests/test_middleware_client.py .......... [ 83%]
tests/test_pubpush.py .... [ 88%]
tests/test_reqstream.py . [ 90%]
tests/test_server.py .....F. [ 98%]
tests/test_zmq.py . [100%]
================================================================================= FAILURES =================================================================================
_________________________________________________________________________ test_exception_compat_v1 _________________________________________________________________________
def test_exception_compat_v1():
endpoint = random_ipc_endpoint()
class MySrv(zerorpc.Server):
pass
srv = MySrv()
srv.bind(endpoint)
gevent.spawn(srv.run)
client_events = zerorpc.Events(zmq.DEALER)
client_events.connect(endpoint)
client = zerorpc.ChannelMultiplexer(client_events, ignore_broadcast=True)
rpccall = client.channel()
rpccall.emit('donotexist', tuple())
event = rpccall.recv()
print(event)
assert event.name == 'ERR'
(name, msg, tb) = event.args
print('detailed error', name, msg, tb)
assert name == 'NameError'
assert msg == 'donotexist'
rpccall = client.channel()
rpccall.emit('donotexist', tuple(), xheader={'v': 1})
event = rpccall.recv()
print(event)
assert event.name == 'ERR'
(msg,) = event.args
print('msg only', msg)
> assert msg == "NameError('donotexist',)"
E assert "NameError('donotexist')" == "NameError('donotexist',)"
E - NameError('donotexist',)
E ? -
E + NameError('donotexist')
tests/test_server.py:218: AssertionError
--------------------------------------------------------------------------- Captured stdout call ---------------------------------------------------------------------------
<b''> ERR {'message_id': b'cf06f481fd5b4daaabfd7b4f19d07f7a', 'v': 3, 'response_to': b'cf06f480fd5b4daaabfd7b4f19d07f7a'} ['NameError', 'donotexist', 'Traceback (most recent call last):\n File "/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/zerorpc/core.py", line 152, in _async_task\n raise NameError(event.name)\nNameError: donotexist\n']
detailed error NameError donotexist Traceback (most recent call last):
File "/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/zerorpc/core.py", line 152, in _async_task
raise NameError(event.name)
NameError: donotexist
<b''> ERR {'message_id': b'cf06f483fd5b4daaabfd7b4f19d07f7a', 'v': 3, 'response_to': b'cf06f482fd5b4daaabfd7b4f19d07f7a'} ["NameError('donotexist')"]
msg only NameError('donotexist')
---------------------------------------------------------------------------- Captured log call -----------------------------------------------------------------------------
ERROR zerorpc.core:core.py:130
Traceback (most recent call last):
File "/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/zerorpc/core.py", line 152, in _async_task
raise NameError(event.name)
NameError: donotexist
ERROR zerorpc.core:core.py:130
Traceback (most recent call last):
File "/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/zerorpc/core.py", line 152, in _async_task
raise NameError(event.name)
NameError: donotexist
------------------------------------------------------------------------- Captured stdout teardown -------------------------------------------------------------------------
unlink /tmp/zerorpc_test_socket_2540000683684066.sock
============================================================================= warnings summary =============================================================================
tests/test_reqstream.py::test_rcp_streaming
/home/tkloczko/rpmbuild/BUILD/zerorpc-python-0.6.3/tests/test_reqstream.py:61: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
assert isinstance(r, collections.Iterator)
-- Docs: https://docs.pytest.org/en/stable/warnings.html
========================================================================= short test summary info ==========================================================================
FAILED tests/test_server.py::test_exception_compat_v1 - assert "NameError('donotexist')" == "NameError('donotexist',)"
================================================================= 1 failed, 79 passed, 1 warning in 29.97s =================================================================
Running another 5 times I had 1 tiem two units failing and 4 times 1 unit :/
Timing issue? Those tests are using timers to exercise the various timeouts functionality. That makes them inherently unstable when the timeout is short. I believe that there is a global constant that set a multiplier for the time duration used in tests. What happens if you purposely increase this multiplier?
On Wed, 5 Jan 2022, 18:55 Tomasz Kłoczko, @.***> wrote:
Running another 5 times I had 1 tiem two units failing and 4 times 1 unit :/
— Reply to this email directly, view it on GitHub https://github.com/0rpc/zerorpc-python/issues/243#issuecomment-1006243788, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABUZDG2XPQFDFF2VRZLSC3UUUACTANCNFSM5KQXIMOA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>
On my side, the only pytest failure left on my Debian 11 system running HEAD is:
> assert msg == "NameError('donotexist',)"
E assert "NameError('donotexist')" == "NameError('donotexist',)"
E - NameError('donotexist',)
E ? -
E + NameError('donotexist')
tests/test_server.py:220: AssertionError
checking what is going on...
nose
is no longer maintained and should not be used with python 3.x. https://nose.readthedocs.io/en/latest/On move from
nose
topytest
https://github.com/schollii/nose2pytest/