I haven't seen this random failure before. I'm not sure following up needs to be a high priority, but I'll paste the log here just in case:
=================================== FAILURES ===================================
______________________________ test_put_complete _______________________________
cntx = <caproto.threading.client.PVContext object at 0x7f78ef7c3368>
def test_put_complete(cntx):
pv = cntx.get_pv('Py:ao3')
mutable = []
# start in a known initial state
pv.put(0.0, wait=True)
pv.get()
def cb(a):
mutable.append(a)
# put and wait
old_value = pv.get()
result = pv.put(0.1, wait=True)
assert result == old_value
# put and wait with callback (not interesting use of callback)
old_value = pv.get()
result = pv.put(0.2, wait=True, callback=cb, callback_data=('T2',))
assert result == old_value
assert 'T2' in mutable
# put and do not wait
ret_val = pv.put(0.3, wait=False)
assert ret_val is None
result = pv.get()
print('last_reading', pv.chid.last_reading)
assert result == 0.3
# put and do not wait with callback
ret_val = pv.put(0.4, wait=False, callback=cb, callback_data=('T4',))
assert ret_val is None
result = pv.get()
> assert result == 0.4
E assert array([ 284.52237334]) == 0.4
tests/test_threading_pv.py:95: AssertionError
----------------------------- Captured stdout call -----------------------------
last_reading ReadNotifyResponse(data=array([ 0.3]), data_type=20, data_count=1, status=1, ioid=11, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7cdf28>)
----------------------------- Captured stderr call -----------------------------
DEBUG:[cli circuit]:Serializing VersionRequest(priority=0, version=13)
DEBUG:[cli circuit]:Received 16 bytes.
DEBUG:[cli circuit]:Serializing HostNameRequest(name=b'testing-docker-f2409b1d-0751-444a-9922-253e57dc9408')
DEBUG:[cli circuit]:16 bytes -> VersionResponse(version=13)
DEBUG:[cli circuit]:Serializing ClientNameRequest(name=b'travis')
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing CreateChanRequest(name=b'Py:ao3', cid=0, version=13)
DEBUG:[cli circuit]:Received 32 bytes.
DEBUG:[cli circuit]:16 bytes -> AccessRightsResponse(cid=0, access_rights=3)
DEBUG:[cli circuit]:16 bytes -> CreateChanResponse(data_type=6, data_count=1, cid=0, sid=92)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing ReadNotifyRequest(data_type=20, data_count=0, sid=92, ioid=0)
DEBUG:[cli circuit]:Received 40 bytes.
DEBUG:[cli circuit]:40 bytes -> ReadNotifyResponse(data=array([ 287.75644536]), data_type=20, data_count=1, status=1, ioid=0, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7cdf28>)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing WriteNotifyRequest(data=array([ 0.]), data_type=6, data_count=1, sid=92, ioid=1, metadata=None)
DEBUG:[cli circuit]:Received 16 bytes.
DEBUG:[cli circuit]:16 bytes -> WriteNotifyResponse(data_type=6, data_count=1, status=1, ioid=1)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing ReadNotifyRequest(data_type=20, data_count=0, sid=92, ioid=2)
DEBUG:[cli circuit]:Received 40 bytes.
DEBUG:[cli circuit]:40 bytes -> ReadNotifyResponse(data=array([ 0.]), data_type=20, data_count=1, status=1, ioid=2, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7d4620>)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing ReadNotifyRequest(data_type=20, data_count=0, sid=92, ioid=3)
DEBUG:[cli circuit]:Received 40 bytes.
DEBUG:[cli circuit]:40 bytes -> ReadNotifyResponse(data=array([ 0.]), data_type=20, data_count=1, status=1, ioid=3, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7d4488>)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing ReadNotifyRequest(data_type=20, data_count=0, sid=92, ioid=4)
DEBUG:[cli circuit]:Received 40 bytes.
DEBUG:[cli circuit]:40 bytes -> ReadNotifyResponse(data=array([ 0.]), data_type=20, data_count=1, status=1, ioid=4, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7d4268>)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing WriteNotifyRequest(data=array([ 0.1]), data_type=6, data_count=1, sid=92, ioid=5, metadata=None)
DEBUG:[cli circuit]:Received 16 bytes.
DEBUG:[cli circuit]:16 bytes -> WriteNotifyResponse(data_type=6, data_count=1, status=1, ioid=5)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing ReadNotifyRequest(data_type=20, data_count=0, sid=92, ioid=6)
DEBUG:[cli circuit]:Received 40 bytes.
DEBUG:[cli circuit]:40 bytes -> ReadNotifyResponse(data=array([ 0.1]), data_type=20, data_count=1, status=1, ioid=6, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7d4730>)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing ReadNotifyRequest(data_type=20, data_count=0, sid=92, ioid=7)
DEBUG:[cli circuit]:Received 40 bytes.
DEBUG:[cli circuit]:40 bytes -> ReadNotifyResponse(data=array([ 0.1]), data_type=20, data_count=1, status=1, ioid=7, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7d4488>)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing WriteNotifyRequest(data=array([ 0.2]), data_type=6, data_count=1, sid=92, ioid=8, metadata=None)
DEBUG:[cli circuit]:Received 16 bytes.
DEBUG:[cli circuit]:16 bytes -> WriteNotifyResponse(data_type=6, data_count=1, status=1, ioid=8)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing ReadNotifyRequest(data_type=20, data_count=0, sid=92, ioid=9)
DEBUG:[cli circuit]:Received 40 bytes.
DEBUG:[cli circuit]:40 bytes -> ReadNotifyResponse(data=array([ 0.2]), data_type=20, data_count=1, status=1, ioid=9, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7d47b8>)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing WriteNotifyRequest(data=array([ 0.3]), data_type=6, data_count=1, sid=92, ioid=10, metadata=None)
DEBUG:[cli circuit]:Received 16 bytes.
DEBUG:[cli circuit]:16 bytes -> WriteNotifyResponse(data_type=6, data_count=1, status=1, ioid=10)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing ReadNotifyRequest(data_type=20, data_count=0, sid=92, ioid=11)
DEBUG:[cli circuit]:Received 40 bytes.
DEBUG:[cli circuit]:40 bytes -> ReadNotifyResponse(data=array([ 0.3]), data_type=20, data_count=1, status=1, ioid=11, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7d4268>)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing ReadNotifyRequest(data_type=20, data_count=0, sid=92, ioid=12)
DEBUG:[cli circuit]:Received 40 bytes.
DEBUG:[cli circuit]:40 bytes -> ReadNotifyResponse(data=array([ 0.3]), data_type=20, data_count=1, status=1, ioid=12, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7d4378>)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing WriteNotifyRequest(data=array([ 0.4]), data_type=6, data_count=1, sid=92, ioid=13, metadata=None)
DEBUG:[cli circuit]:Received 16 bytes.
DEBUG:[cli circuit]:16 bytes -> WriteNotifyResponse(data_type=6, data_count=1, status=1, ioid=13)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Serializing ReadNotifyRequest(data_type=20, data_count=0, sid=92, ioid=14)
DEBUG:[cli circuit]:Received 40 bytes.
DEBUG:[cli circuit]:40 bytes -> ReadNotifyResponse(data=array([ 284.52237334]), data_type=20, data_count=1, status=1, ioid=14, metadata=<caproto._dbr.DBR_TIME_DOUBLE object at 0x7f78ef7d41e0>)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
--------------------------- Captured stdout teardown ---------------------------
disconnected!
Killing repeater process
Waiting
OK
--------------------------- Captured stderr teardown ---------------------------
DEBUG:[cli circuit]:Serializing ClearChannelRequest(sid=92, cid=0)
DEBUG:[cli circuit]:Received 16 bytes.
DEBUG:[cli circuit]:16 bytes -> ClearChannelResponse(sid=92, cid=0)
DEBUG:[cli circuit]:0 bytes are cached. Need more bytes to parse next command.
DEBUG:[cli circuit]:Zero-length recv; sending disconnect notification
=============== 1 failed, 366 passed, 2 skipped in 45.71 seconds ===============