37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
|
""" test reporting functionality. """
|
||
|
|
||
|
import py
|
||
|
from py.__.test.rsession import repevent
|
||
|
|
||
|
def test_wrapcall_ok():
|
||
|
l = []
|
||
|
def ok(x):
|
||
|
return x+1
|
||
|
i = repevent.wrapcall(l.append, ok, 1)
|
||
|
assert i == 2
|
||
|
assert len(l) == 2
|
||
|
assert isinstance(l[0], repevent.CallStart)
|
||
|
assert isinstance(l[1], repevent.CallFinish)
|
||
|
assert repr(l[0])
|
||
|
assert repr(l[1])
|
||
|
|
||
|
def test_wrapcall_exception():
|
||
|
l = []
|
||
|
def fail(x):
|
||
|
raise ValueError
|
||
|
py.test.raises(ValueError, "repevent.wrapcall(l.append, fail, 1)")
|
||
|
assert len(l) == 2
|
||
|
assert isinstance(l[0], repevent.CallStart)
|
||
|
assert isinstance(l[1], repevent.CallException)
|
||
|
|
||
|
def test_reporter_methods_sanity():
|
||
|
""" Checks if all the methods of reporter are sane
|
||
|
"""
|
||
|
from py.__.test.rsession.rsession import RemoteReporter
|
||
|
from py.__.test.rsession import repevent
|
||
|
|
||
|
for method in dir(RemoteReporter):
|
||
|
|
||
|
if method.startswith("report_") and method != "report_unknown":
|
||
|
assert method[len('report_'):] in repevent.__dict__
|