diff options
| author | Gabriel Hurley <gabriel@strikeawe.com> | 2012-02-23 14:21:10 -0800 |
|---|---|---|
| committer | Brian Waldon <bcwaldon@gmail.com> | 2012-02-25 11:47:04 -0800 |
| commit | b4d35d621908557ac3fba70cbacac7500f79a352 (patch) | |
| tree | 9c32c5979e4f925ce5a6268cd05397f3204b2c3d | |
| parent | 99575a0465bb40d293623c6ec24c4c50c742ca3a (diff) | |
| download | keystone-b4d35d621908557ac3fba70cbacac7500f79a352.tar.gz keystone-b4d35d621908557ac3fba70cbacac7500f79a352.tar.xz keystone-b4d35d621908557ac3fba70cbacac7500f79a352.zip | |
Adds AUTHORS file generated from git log (and de-duplicated).
Also adds a unit test (copied from Glance) to check that the
AUTHORS file is up-to-date.
Change-Id: I365d74ecef49f8e10a5edd4b7c768bb88c697a17
| -rw-r--r-- | AUTHORS | 101 | ||||
| -rw-r--r-- | tests/test_authors.py | 63 |
2 files changed, 164 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..2f335622 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,101 @@ +Adam Gandelman <adamg@canonical.com> +Adipudi Praveena <padipudi@padipudi.(none)> +Akira YOSHIYAMA <akirayoshiyama@gmail.com> +Alan Pevec <apevec@redhat.com> +Alex Silva <alex.silva@M1BPAGY.(none)> +Alvaro Lopez Garcia <aloga@ifca.unican.es> +Andy Smith <github@anarkystic.com> +Anne Gentle <anne.gentle@rackspace.com> +annegentle <anne@openstack.org> +Anthony Young <sleepsonthefloor@gmail.com> +Brian Lamar <brian.lamar@gmail.com> +Brian Lamar <brian.lamar@rackspace.com> +Brian Waldon <bcwaldon@gmail.com> +Brian Waldon <brian.waldon@rackspace.com> +bsirish <sirish.bitra@gmail.com> +Carlos Marin <carlos.marin@rackspace.com> +Chmouel Boudjnah <chmouel@chmouel.com> +Chuck Short <chuck.short@canonical.com> +Cole Robinson <crobinso@redhat.com> +Dan Prince <dan.prince@rackspace.com> +Dan Prince <dprince@redhat.com> +dcramer <david.cramer@rackspace.com> +Dean Troyer <dtroyer@gmail.com> +Devin Carlen <devin.carlen@gmail.com> +Dolph Mathews <dolph.mathews@gmail.com> +Dolph Mathews <dolph.mathews@rackspace.com> +Ed Leafe <ed@leafe.com> +Édouard Thuleau <edouard1.thuleau@orange.com> +Eoghan Glynn <eglynn@redhat.com> +Ewan Mellor <ewan.mellor@citrix.com> +Gabriel Hurley <gabriel@strikeawe.com> +Ghe Rivero <ghe@debian.org> +gholt <gholt@brim.net> +Guang Yee <guang.yee@hp.com> +Ionuț Arțăriși <iartarisi@suse.cz> +jabdul <abdulkader.j@hcl.com> +James E. Blair <corvus@gnu.org> +James E. Blair <james.blair@rackspace.com> +James E. Blair <jeblair@hp.com> +Jason Cannavale <jason@cannavale.com> +Jay Pipes <jaypipes@gmail.com> +Jay Pipes <jpipes@uberbox.gateway.2wire.net> +Jesse Andrews <anotherjesse@gmail.com> +Joe Heck <heckj@mac.com> +Joe Savak <joe.savak@rackspace.com> +John Dickinson <me@not.mn> +John Eo <john.eo@rackspace.com> +John Eo <joon.eo@gmail.com> +Jorge L. Williams <jorge.williams@rackspace.com> +Joseph W. Breu <breu@breu.org> +Josh Kearney <josh@jk0.org> +Julien Danjou <julien.danjou@enovance.com> +Justin Santa Barbara <justin@fathomdb.com> +Justin Shepherd <jshepher@rackspace.com> +Kevin L. Mitchell <kevin.mitchell@rackspace.com> +Khaled Hussein <khaled.hussein@gmail.com> +Khaled Hussein <khaled.hussein@rackspace.com> +Kiall Mac Innes <kiall@managedit.ie> +KnightHacker <khaled.hussein@rackspace.com> +Liem Nguyen <liem_m_nguyen@hp.com> +Liem Nguyen <liem.m.nguyen@hp.com> +lzyeval <lzyeval@gmail.com> +Mark Gius <mgius7096@gmail.com> +Mark McLoughlin <markmc@redhat.com> +Michael Still <mikal@stillhq.com> +Monty Taylor <mordred@inaugust.com> +Pádraig Brady <P@draigBrady.com> +Paul Voccio <paul@substation9.com> +Pete Zaitcev <zaitcev@kotori.zaitcev.us> +Ralf Haferkamp <rhafer@suse.de> +Ramana Juvvadi <ramana@venus.lekha.org> +Ramana Juvvadi <rjuvvadi@hcl.com> +Ramana Juvvadi <rrjuvvadi@gmail.com> +Robin Norwood <robin.norwood@gmail.com> +root <root@bsirish.(none)> +root <root@newapps.(none)> +saikrishna1511@gmail.com <psaikrishna@ubudesk1004.(none)> +Sai Krishna <saikrishna1511@gmail.com> +Salvatore Orlando <salvatore.orlando@eu.citrix.com> +Sandy Walsh <sandy@sandywalsh.com> +Shevek <shevek@nebula.com> +sirish bitra <sirish.bitra@gmail.com> +sirish.bitra <sirish.bitra@gmail.com> +sirishbitra <sirish.bitra@gmail.com> +Sony K. Philip <sony@hcleai.com> +termie <github@anarkystic.com> +Thierry Carrez <thierry@openstack.org> +Todd Willey <todd@rubidine.com> +Todd Willey <xtoddx@gmail.com> +Vishvananda Ishaya <vishvananda@gmail.com> +vishvananda <vishvananda@gmail.com> +Will Kelly <the.william.kelly@gmail.com> +Yaguang Tang <heut2008@gmail.com> +Yogeshwar Srikrishnan <yoga80@yahoo.com> +Yun Mao <yunmao@gmail.com> +Yuriy Taraday <yorik.sar@gmail.com> +Zhongyue Luo <lzyeval@gmail.com> +Ziad Sawalha <gihub@highbridgellc.com> +ziadsawalha <github@highbridgellc.com> +Ziad Sawalha <github@highbridgellc.com> +Ziad Sawalha <ziad.sawalha@rackspace.com> diff --git a/tests/test_authors.py b/tests/test_authors.py new file mode 100644 index 00000000..b9c3d101 --- /dev/null +++ b/tests/test_authors.py @@ -0,0 +1,63 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2012 OpenStack LLC +# Copyright 2012 Nebula Inc +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import commands +import os +import unittest + + +def parse_mailmap(mailmap='.mailmap'): + mapping = {} + if os.path.exists(mailmap): + fp = open(mailmap, 'r') + for l in fp: + l = l.strip() + if not l.startswith('#') and ' ' in l: + canonical_email, alias = l.split(' ') + mapping[alias] = canonical_email + return mapping + + +def str_dict_replace(s, mapping): + for s1, s2 in mapping.iteritems(): + s = s.replace(s1, s2) + return s + + +class AuthorsTestCase(unittest.TestCase): + def test_authors_up_to_date(self): + root = os.path.normpath(os.path.join(os.path.dirname(__file__), '..')) + contributors = set() + missing = set() + authors_file = open(os.path.join(root, 'AUTHORS'), 'r').read() + + if os.path.exists(os.path.join(root, '.git')): + mailmap = parse_mailmap(os.path.join(root, '.mailmap')) + for email in commands.getoutput('git log --format=%ae').split(): + if not email: + continue + if "jenkins" in email and "openstack.org" in email: + continue + email = '<' + email + '>' + contributors.add(str_dict_replace(email, mailmap)) + + for contributor in contributors: + if not contributor in authors_file: + missing.add(contributor) + + self.assertTrue(len(missing) == 0, + '%r not listed in AUTHORS file.' % missing) |
