1
2 from twisted.web import resource
3 from twisted.web.error import NoResource
4
5
6
7 SKIP, EXPECTED_FAILURE, FAILURE, ERROR, UNEXPECTED_SUCCESS, SUCCESS = \
8 "skip", "expected failure", "failure", "error", "unexpected success", \
9 "success"
10 UNKNOWN = "unknown"
11
12
14 isLeaf = 1
15 - def __init__(self, parent, testName, results):
19
21 request.setHeader("content-type", "text/html")
22 if request.method == "HEAD":
23 request.setHeader("content-length", len(self.html(request)))
24 return ''
25 return self.html(request)
26
27 - def html(self, request):
28
29 raise NotImplementedError
30
32 oneTestClass = OneTest
36 - def addTest(self, testName, resultType, results=None):
38
40 return len(self.tests)
42 failures = 0
43 for t in self.tests.values():
44 if t[0] in (FAILURE, ERROR):
45 failures += 1
46 return failures
48 """Return a short list of text strings as a summary, suitable for
49 inclusion in an Event"""
50 return ["some", "tests"]
52 return "%s: %s\n" % (testname, self.tests[testname][0])
54 data = "<html>\n<head><title>Test Results</title></head>\n"
55 data += "<body>\n"
56 data += "<pre>\n"
57 tests = self.tests.keys()
58 tests.sort()
59 for testname in tests:
60 data += self.describeOneTest(testname)
61 data += "</pre>\n"
62 data += "</body></html>\n"
63 return data
65 request.setHeader("content-type", "text/html")
66 if request.method == "HEAD":
67 request.setHeader("content-length", len(self.html()))
68 return ''
69 return self.html()
71 if self.tests.has_key(path):
72 return self.oneTestClass(self, path, self.tests[path])
73 return NoResource("No such test '%s'" % path)
74