[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Wed Apr 7 23:22:03 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit a13858fd27267cfe4cc02a4e6e085a4d51447d45
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