Improved test coverage
Fixed possible exception in UDP socket maintainance thread during shutdownmaster
parent
0f53577143
commit
09a2e81d3d
10
bencode.py
10
bencode.py
|
@ -92,6 +92,7 @@ def bdecode_proc(msg, pos):
|
|||
v, pos = bdecode_proc(msg, pos)
|
||||
result.append(v)
|
||||
return (result, pos + 1)
|
||||
raise BTFailure("invalid bencoded data (invalid token)! %r" % msg)
|
||||
|
||||
def bdecode_extra(msg):
|
||||
try:
|
||||
|
@ -110,6 +111,13 @@ def bdecode(msg):
|
|||
return result
|
||||
|
||||
if __name__ == '__main__':
|
||||
import logging
|
||||
logging.basicConfig()
|
||||
test = {b'k1': 145, b'k2': {b'sk1': list(range(10)), b'sk2': b'0'*60}}
|
||||
for x in range(100000):
|
||||
for x in range(100):
|
||||
assert(bdecode(bencode(test)) == test)
|
||||
for test_bytes in [b'd5:keyi0ee', b'x3:keyi0ee', b'd3:keyi0ee...']:
|
||||
try:
|
||||
bdecode(test_bytes)
|
||||
except BTFailure as ex:
|
||||
logging.exception('expected bdecode exception')
|
||||
|
|
12
krpc.py
12
krpc.py
|
@ -156,10 +156,20 @@ class KRPCPeer(object):
|
|||
|
||||
if __name__ == '__main__':
|
||||
logging.basicConfig()
|
||||
logging.getLogger().setLevel(logging.INFO)
|
||||
logging.getLogger().setLevel(logging.DEBUG)
|
||||
# Implement an echo message
|
||||
peer = KRPCPeer(('0.0.0.0', 1111), handle_query = lambda send_krpc_response, rec, source_connection:
|
||||
send_krpc_response(message = 'Hello %s!' % rec[b'a'][b'message']))
|
||||
query = peer.send_krpc_query(('localhost', 1111), 'echo', message = 'World')
|
||||
logging.getLogger().critical('result = %r' % query.get_result(2))
|
||||
query1 = peer.send_krpc_query(('localhost', 1111), 'echo', message = 'World')
|
||||
peer.shutdown()
|
||||
query2 = peer.send_krpc_query(('localhost', 1111), 'echo', message = 'World')
|
||||
try:
|
||||
query1.get_result()
|
||||
except Exception:
|
||||
logging.exception('expected query exception')
|
||||
try:
|
||||
query2.get_result()
|
||||
except Exception:
|
||||
logging.exception('expected query exception')
|
||||
|
|
Loading…
Reference in New Issue