[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.16-1409-g5afdf4d
eric at webkit.org
eric at webkit.org
Thu Dec 3 13:26:40 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 22271b336507b47c859628eaa8e915ba5a3663ef
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Nov 4 09:15:56 2009 +0000
2009-11-04 Eric Seidel <eric at webkit.org>
Reviewed by Adam Barth.
committers.py needs a way to store non-bugzilla email addresses
https://bugs.webkit.org/show_bug.cgi?id=31037
Make Committer and Reviewer constructors take a single email or a list of emails.
Change committer_by_bugzilla_email functions to committer_by_email to support lookup by any email.
Expose reviewers(), used by validate-committer-lists on bug 30970.
* Scripts/modules/committers.py:
* Scripts/modules/committers_unittest.py: Added tests for the new code.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 97df154..6fdcd92 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,17 @@
+2009-11-04 Eric Seidel <eric at webkit.org>
+
+ Reviewed by Adam Barth.
+
+ committers.py needs a way to store non-bugzilla email addresses
+ https://bugs.webkit.org/show_bug.cgi?id=31037
+
+ Make Committer and Reviewer constructors take a single email or a list of emails.
+ Change committer_by_bugzilla_email functions to committer_by_email to support lookup by any email.
+ Expose reviewers(), used by validate-committer-lists on bug 30970.
+
+ * Scripts/modules/committers.py:
+ * Scripts/modules/committers_unittest.py: Added tests for the new code.
+
2009-11-03 Yuzo Fujishima <yuzo at google.com>
Reviewed by David Levin.
diff --git a/WebKitTools/Scripts/modules/bugzilla.py b/WebKitTools/Scripts/modules/bugzilla.py
index fe81b48..6773293 100644
--- a/WebKitTools/Scripts/modules/bugzilla.py
+++ b/WebKitTools/Scripts/modules/bugzilla.py
@@ -228,10 +228,10 @@ class Bugzilla:
return None
def _validate_reviewer(self, patch, reject_invalid_patches):
- return self._validate_setter_email(patch, 'reviewer', self.committers.reviewer_by_bugzilla_email, self.reject_patch_from_review_queue, reject_invalid_patches)
+ return self._validate_setter_email(patch, 'reviewer', self.committers.reviewer_by_email, self.reject_patch_from_review_queue, reject_invalid_patches)
def _validate_committer(self, patch, reject_invalid_patches):
- return self._validate_setter_email(patch, 'committer', self.committers.committer_by_bugzilla_email, self.reject_patch_from_commit_queue, reject_invalid_patches)
+ return self._validate_setter_email(patch, 'committer', self.committers.committer_by_email, self.reject_patch_from_commit_queue, reject_invalid_patches)
def fetch_reviewed_patches_from_bug(self, bug_id, reject_invalid_patches=False):
reviewed_patches = []
diff --git a/WebKitTools/Scripts/modules/committers.py b/WebKitTools/Scripts/modules/committers.py
index acfaa1c..4f67941 100644
--- a/WebKitTools/Scripts/modules/committers.py
+++ b/WebKitTools/Scripts/modules/committers.py
@@ -29,17 +29,20 @@
# WebKit's Python module for committer and reviewer validation
class Committer:
- def __init__(self, name, email):
+ def __init__(self, name, email_or_emails):
self.full_name = name
- self.bugzilla_email = email
+ if isinstance(email_or_emails, str):
+ self.emails = [email_or_emails]
+ else:
+ self.emails = email_or_emails
self.can_review = False
def __str__(self):
- return '"%s" <%s>' % (self.full_name, self.bugzilla_email)
+ return '"%s" <%s>' % (self.full_name, self.emails[0])
class Reviewer(Committer):
- def __init__(self, name, email):
- Committer.__init__(self, name, email)
+ def __init__(self, name, email_or_emails):
+ Committer.__init__(self, name, email_or_emails)
self.can_review = True
# This is intended as a cannonical, machine-readable list of all non-reviewer committers for WebKit.
@@ -181,17 +184,21 @@ class CommitterList:
def committers(self):
return self._committers
+ def reviewers(self):
+ return self._reviewers
+
def _email_to_committer_map(self):
if not len(self._committers_by_email):
for committer in self._committers:
- self._committers_by_email[committer.bugzilla_email] = committer
+ for email in committer.emails:
+ self._committers_by_email[email] = committer
return self._committers_by_email
- def committer_by_bugzilla_email(self, bugzilla_email):
- return self._email_to_committer_map().get(bugzilla_email)
+ def committer_by_email(self, email):
+ return self._email_to_committer_map().get(email)
- def reviewer_by_bugzilla_email(self, bugzilla_email):
- committer = self.committer_by_bugzilla_email(bugzilla_email)
+ def reviewer_by_email(self, email):
+ committer = self.committer_by_email(email)
if committer and not committer.can_review:
return None
return committer
diff --git a/WebKitTools/Scripts/modules/committers_unittest.py b/WebKitTools/Scripts/modules/committers_unittest.py
index 045e20e..cf9f486 100644
--- a/WebKitTools/Scripts/modules/committers_unittest.py
+++ b/WebKitTools/Scripts/modules/committers_unittest.py
@@ -33,20 +33,30 @@ class CommittersTest(unittest.TestCase):
def test_committer_lookup(self):
committer = Committer('Test One', 'one at test.com')
- reviewer = Reviewer('Test Two', 'two at test.com')
+ reviewer = Reviewer('Test Two', ['two at test.com', 'two at rad.com', 'so_two at gmail.com'])
committer_list = CommitterList(committers=[committer], reviewers=[reviewer])
# Test valid committer and reviewer lookup
- self.assertEqual(committer_list.committer_by_bugzilla_email('one at test.com'), committer)
- self.assertEqual(committer_list.reviewer_by_bugzilla_email('two at test.com'), reviewer)
- self.assertEqual(committer_list.committer_by_bugzilla_email('two at test.com'), reviewer)
+ self.assertEqual(committer_list.committer_by_email('one at test.com'), committer)
+ self.assertEqual(committer_list.reviewer_by_email('two at test.com'), reviewer)
+ self.assertEqual(committer_list.committer_by_email('two at test.com'), reviewer)
+ self.assertEqual(committer_list.committer_by_email('two at rad.com'), reviewer)
+ self.assertEqual(committer_list.reviewer_by_email('so_two at gmail.com'), reviewer)
# Test that a known committer is not returned during reviewer lookup
- self.assertEqual(committer_list.reviewer_by_bugzilla_email('one at test.com'), None)
+ self.assertEqual(committer_list.reviewer_by_email('one at test.com'), None)
# Test that unknown email address fail both committer and reviewer lookup
- self.assertEqual(committer_list.committer_by_bugzilla_email('bar at bar.com'), None)
- self.assertEqual(committer_list.reviewer_by_bugzilla_email('bar at bar.com'), None)
+ self.assertEqual(committer_list.committer_by_email('bar at bar.com'), None)
+ self.assertEqual(committer_list.reviewer_by_email('bar at bar.com'), None)
+
+ # Test that emails returns a list.
+ self.assertEqual(committer.emails, ['one at test.com'])
+
+ # Test that committers returns committers and reviewers and reviewers() just reviewers.
+ self.assertEqual(committer_list.committers(), [committer, reviewer])
+ self.assertEqual(committer_list.reviewers(), [reviewer])
+
if __name__ == '__main__':
unittest.main()
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list