in otp.py [0:0]
def __call__(self, parser, namespace, values, option_string=None):
# Test the to_words() function.
value = b'\x9E\x87\x61\x34\xD9\x04\x99\xDD'
words = ' '.join(to_words(value))
assert words == MD5_TESTS[0][3]
print('CORRECT:')
print(' ', ' '.join('%02x%02x' % (value[i*2], value[i*2+1]) for i in range(4)), '--', words)
# Run the tests from RFC 2289.
print('COLUMNS:','Password', 'Seed', 'Count')
for pwd, seed, seq, result in MD5_TESTS:
value = otp_md5(seed.lower().encode() + pwd.encode(), seq)
print('P:'+pwd, 'S:'+seed, 'C:'+str(seq))
words = ' '.join(to_words(value))
print(' ', ' '.join('%02x%02x' % (value[i*2], value[i*2+1]) for i in range(4)), '--', words)
assert words == result
sys.exit(0)