[test] channel test test_with_another_process fails
Not just the CI, I also see it locally:
channel_subprocess = (<Popen at 0x7fe81d82b550 pid=149672 returncode=None>, <[<Timeout at 0x7fe81d7fbb40 seconds=30.0> raised in repr()] Test object at 0x7fe81d85fe90>)
def test_with_another_process(channel_subprocess):
p, test_subprocess = channel_subprocess
c = channels.Channel("test_chan", "helloworld")
test_subprocess.create_channel()
assert test_subprocess.get_channel_value() == "helloworld"
test_subprocess.set_channel_value("bla")
# Wait for new value
with gevent.Timeout(1):
while c.value != "bla":
gevent.sleep(0.01)
assert c.value == "bla"
assert len(gc.get_referrers(c)) <= 1
del c
# Check channel is really not there anymore
redis = channels.client.get_redis_connection()
bus = channels.Bus._CACHE[redis]
assert "test_chan" not in bus._channels
# Pause subprocess
os.kill(p.pid, signal.SIGSTOP)
# New channel
cc = channels.Channel("test_chan", timeout=0.5)
assert cc.timeout == 0.5
cc.timeout = 0.1
assert cc.timeout == 0.1
# Make sure it times out
with pytest.raises(RuntimeError):
> assert cc.value == "bla"
tests/test_channels.py:212:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
bliss/config/channels.py:421: in value
self._value_event.wait()
src/gevent/event.py:159: in gevent._gevent_cevent.Event.wait
???
src/gevent/_abstract_linkable.py:381: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait
???
src/gevent/_abstract_linkable.py:346: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait_core
???
src/gevent/_abstract_linkable.py:348: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait_core
???
src/gevent/_abstract_linkable.py:303: in gevent._gevent_c_abstract_linkable.AbstractLinkable._AbstractLinkable__wait_to_be_notified
???
src/gevent/_greenlet_primitives.py:61: in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch
???
src/gevent/_greenlet_primitives.py:61: in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch
???
src/gevent/_greenlet_primitives.py:65: in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
E TimeoutError: Channel test_chan did not receive a value
src/gevent/_gevent_c_greenlet_primitives.pxd:35: TimeoutError