|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from dill import check |
|
|
import sys |
|
|
|
|
|
from dill.temp import capture |
|
|
|
|
|
|
|
|
|
|
|
def raise_check(func, **kwds): |
|
|
try: |
|
|
with capture('stdout') as out: |
|
|
check(func, **kwds) |
|
|
except Exception: |
|
|
e = sys.exc_info()[1] |
|
|
raise AssertionError(str(e)) |
|
|
else: |
|
|
assert 'Traceback' not in out.getvalue() |
|
|
finally: |
|
|
out.close() |
|
|
|
|
|
|
|
|
f = lambda x:x**2 |
|
|
|
|
|
|
|
|
def test_simple(verbose=None): |
|
|
raise_check(f, verbose=verbose) |
|
|
|
|
|
|
|
|
def test_recurse(verbose=None): |
|
|
raise_check(f, recurse=True, verbose=verbose) |
|
|
|
|
|
|
|
|
def test_byref(verbose=None): |
|
|
raise_check(f, byref=True, verbose=verbose) |
|
|
|
|
|
|
|
|
def test_protocol(verbose=None): |
|
|
raise_check(f, protocol=True, verbose=verbose) |
|
|
|
|
|
|
|
|
def test_python(verbose=None): |
|
|
raise_check(f, python=None, verbose=verbose) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
test_simple() |
|
|
test_recurse() |
|
|
test_byref() |
|
|
test_protocol() |
|
|
test_python() |
|
|
|