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

Unified Diff: media/tools/layout_tests/bug.py

Issue 7693018: Intial checkin of layout test analyzer. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Minor modifications. Created 9 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: media/tools/layout_tests/bug.py
diff --git a/media/tools/layout_tests/bug.py b/media/tools/layout_tests/bug.py
new file mode 100644
index 0000000000000000000000000000000000000000..acfeede788eee794bac0697d6790c5ed6e09e7d1
--- /dev/null
+++ b/media/tools/layout_tests/bug.py
@@ -0,0 +1,56 @@
+#!/usr/bin/python
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import re
+
+
+class Bug:
+ """A class representing a bug.
+
+ TODO(imasaki): add more functionalities here if bug-tracker API is available.
+ For example, you can get the name bug owner.
dennis_jeffrey 2011/08/24 17:40:47 'name bug' --> 'name of a bug'
imasaki1 2011/08/25 23:57:03 Done.
+ """
+ CHROME_BUG_URL = 'http://crbug.com/'
+ WEBKIT_BUG_URL = 'http://webkit.org/b/'
+ # Type enum for the bug.
+ WEBKIT = 0
+ CHROMIUM = 1
+ OTHERS = 2
+
+ def __init__(self, bug_txt):
+ """Initialize the object using raw bug text (such as BUGWK2322).
+
+ The raw bug text is used in the test expectation file. According to
+ http://trac.webkit.org/wiki/TestExpectations#Modifiers, currently,
+ BUGWK12345, BUGCR12345, BUGV8_12345, BUGDPRANKE are possible.
dennis_jeffrey 2011/08/24 17:40:47 It looks like the "raw bug text" and the "modifier
imasaki1 2011/08/25 23:57:03 Done.
+ """
+ self.bug_txt = bug_txt
+ pattern_for_webkit_bug = r'BUGWK(\d+)'
+ match = re.search(pattern_for_webkit_bug, bug_txt)
+ if match:
+ self.type = self.WEBKIT
+ self.url = self.WEBKIT_BUG_URL + match.group(1)
+ return
+ pattern_for_chrome_bug = r'BUGCR(\d+)'
+ match = re.search(pattern_for_chrome_bug, bug_txt)
+ if match:
+ self.type = self.CHROMIUM
+ self.url = self.CHROME_BUG_URL + match.group(1)
+ return
+ pattern_for_other_bug = r'BUG(\S+)'
+ match = re.search(pattern_for_other_bug, bug_txt)
+ if match:
+ self.type = self.OTHERS
+ self.url = 'mailto:%s@chromium.org' % match.group(1).lower()
+ return
+ self.url = ''
+
+ def ToString(self):
dennis_jeffrey 2011/08/24 17:40:47 Instead of calling this function ToString, how abo
imasaki1 2011/08/25 23:57:03 Done.
+ """Get a HTML link representation of a bug.
+
+ Returns:
+ a string for HTML link representation of a bug.
+ """
+ return '<a href="%s">%s</a>' % (self.url, self.bug_txt)

Powered by Google App Engine
This is Rietveld 408576698