mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-22 22:32:23 +00:00
83 lines
3.3 KiB
Python
83 lines
3.3 KiB
Python
# Copyright (c) 2003-2006 Bryce "Zooko" Wilcox-O'Hearn
|
|
# mailto:zooko@zooko.com
|
|
# http://zooko.com/
|
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
# copy of this work to deal in this work without restriction (including the
|
|
# rights to use, modify, distribute, sublicense, and/or sell copies)
|
|
|
|
"""
|
|
Tests useful in assertion checking, prints out nicely formated messages too.
|
|
"""
|
|
|
|
from humanreadable import hr
|
|
|
|
from twisted.python import log
|
|
|
|
def _assert(___cond=False, *___args, **___kwargs):
|
|
if ___cond:
|
|
return True
|
|
msgbuf=[]
|
|
if ___args:
|
|
msgbuf.append("%s %s" % tuple(map(hr, (___args[0], type(___args[0]),))))
|
|
msgbuf.extend([", %s %s" % tuple(map(hr, (arg, type(arg),))) for arg in ___args[1:]])
|
|
if ___kwargs:
|
|
msgbuf.append(", %s: %s %s" % ((___kwargs.items()[0][0],) + tuple(map(hr, (___kwargs.items()[0][1], type(___kwargs.items()[0][1]),)))))
|
|
else:
|
|
if ___kwargs:
|
|
msgbuf.append("%s: %s %s" % ((___kwargs.items()[0][0],) + tuple(map(hr, (___kwargs.items()[0][1], type(___kwargs.items()[0][1]),)))))
|
|
msgbuf.extend([", %s: %s %s" % tuple(map(hr, (k, v, type(v),))) for k, v in ___kwargs.items()[1:]])
|
|
|
|
raise AssertionError, "".join(msgbuf)
|
|
|
|
return False
|
|
|
|
def precondition(___cond=False, *___args, **___kwargs):
|
|
try:
|
|
if ___cond:
|
|
return True
|
|
msgbuf=["precondition", ]
|
|
if ___args or ___kwargs:
|
|
msgbuf.append(": ")
|
|
if ___args:
|
|
msgbuf.append("%s %s" % tuple(map(hr, (___args[0], type(___args[0]),))))
|
|
msgbuf.extend([", %s %s" % tuple(map(hr, (arg, type(arg),))) for arg in ___args[1:]])
|
|
if ___kwargs:
|
|
msgbuf.append(", %s: %s %s" % ((___kwargs.items()[0][0],) + tuple(map(hr, (___kwargs.items()[0][1], type(___kwargs.items()[0][1]),)))))
|
|
else:
|
|
if ___kwargs:
|
|
msgbuf.append("%s: %s %s" % ((___kwargs.items()[0][0],) + tuple(map(hr, (___kwargs.items()[0][1], type(___kwargs.items()[0][1]),)))))
|
|
msgbuf.extend([", %s: %s %s" % tuple(map(hr, (k, v, type(v),))) for k, v in ___kwargs.items()[1:]])
|
|
except Exception, le:
|
|
log.msg("assertutil.precondition(): INTERNAL ERROR IN pyutil.assertutil. %s %s %s" % (type(le), repr(le), le.args,))
|
|
log.err()
|
|
raise le
|
|
except:
|
|
log.msg("assertutil.precondition(): INTERNAL ERROR IN pyutil.assertutil.")
|
|
log.err()
|
|
raise
|
|
|
|
raise AssertionError, "".join(msgbuf)
|
|
|
|
return False
|
|
|
|
def postcondition(___cond=False, *___args, **___kwargs):
|
|
if ___cond:
|
|
return True
|
|
msgbuf=["postcondition", ]
|
|
if ___args or ___kwargs:
|
|
msgbuf.append(": ")
|
|
if ___args:
|
|
msgbuf.append("%s %s" % tuple(map(hr, (___args[0], type(___args[0]),))))
|
|
msgbuf.extend([", %s %s" % tuple(map(hr, (arg, type(arg),))) for arg in ___args[1:]])
|
|
if ___kwargs:
|
|
msgbuf.append(", %s: %s %s" % ((___kwargs.items()[0][0],) + tuple(map(hr, (___kwargs.items()[0][1], type(___kwargs.items()[0][1]),)))))
|
|
else:
|
|
if ___kwargs:
|
|
msgbuf.append("%s: %s %s" % ((___kwargs.items()[0][0],) + tuple(map(hr, (___kwargs.items()[0][1], type(___kwargs.items()[0][1]),)))))
|
|
msgbuf.extend([", %s: %s %s" % tuple(map(hr, (k, v, type(v),))) for k, v in ___kwargs.items()[1:]])
|
|
|
|
raise AssertionError, "".join(msgbuf)
|
|
|
|
return False
|
|
|