Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: third_party/buildbot_7_12/buildbot/status/tests.py

Issue 12207158: Bye bye buildbot 0.7.12. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1
2 from twisted.web import resource
3 from twisted.web.error import NoResource
4
5 # these are our test result types. Steps are responsible for mapping results
6 # into these values.
7 SKIP, EXPECTED_FAILURE, FAILURE, ERROR, UNEXPECTED_SUCCESS, SUCCESS = \
8 "skip", "expected failure", "failure", "error", "unexpected success", \
9 "success"
10 UNKNOWN = "unknown" # catch-all
11
12
13 class OneTest(resource.Resource):
14 isLeaf = 1
15 def __init__(self, parent, testName, results):
16 self.parent = parent
17 self.testName = testName
18 self.resultType, self.results = results
19
20 def render(self, request):
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 # turn ourselves into HTML
29 raise NotImplementedError
30
31 class TestResults(resource.Resource):
32 oneTestClass = OneTest
33 def __init__(self):
34 resource.Resource.__init__(self)
35 self.tests = {}
36 def addTest(self, testName, resultType, results=None):
37 self.tests[testName] = (resultType, results)
38 # TODO: .setName and .delete should be used on our Swappable
39 def countTests(self):
40 return len(self.tests)
41 def countFailures(self):
42 failures = 0
43 for t in self.tests.values():
44 if t[0] in (FAILURE, ERROR):
45 failures += 1
46 return failures
47 def summary(self):
48 """Return a short list of text strings as a summary, suitable for
49 inclusion in an Event"""
50 return ["some", "tests"]
51 def describeOneTest(self, testname):
52 return "%s: %s\n" % (testname, self.tests[testname][0])
53 def html(self):
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
64 def render(self, request):
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()
70 def getChild(self, path, request):
71 if self.tests.has_key(path):
72 return self.oneTestClass(self, path, self.tests[path])
73 return NoResource("No such test '%s'" % path)
OLDNEW
« no previous file with comments | « third_party/buildbot_7_12/buildbot/status/status_push.py ('k') | third_party/buildbot_7_12/buildbot/status/tinderbox.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698