diff options
Diffstat (limited to 'WebKitTools/Scripts/webkitpy/common/config')
10 files changed, 0 insertions, 1125 deletions
diff --git a/WebKitTools/Scripts/webkitpy/common/config/__init__.py b/WebKitTools/Scripts/webkitpy/common/config/__init__.py deleted file mode 100644 index ef65bee..0000000 --- a/WebKitTools/Scripts/webkitpy/common/config/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# Required for Python to search this directory for module files diff --git a/WebKitTools/Scripts/webkitpy/common/config/build.py b/WebKitTools/Scripts/webkitpy/common/config/build.py deleted file mode 100644 index c45f122..0000000 --- a/WebKitTools/Scripts/webkitpy/common/config/build.py +++ /dev/null @@ -1,138 +0,0 @@ -# Copyright (C) 2010 Apple Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR -# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -"""Functions relating to building WebKit""" - -import re - - -def _should_file_trigger_build(target_platform, file): - # The directories and patterns lists below map directory names or - # regexp patterns to the bot platforms for which they should trigger a - # build. Mapping to the empty list means that no builds should be - # triggered on any platforms. Earlier directories/patterns take - # precendence over later ones. - - # FIXME: The patterns below have only been verified to be correct on - # Windows. We should implement this for other platforms and start using - # it for their bots. Someone familiar with each platform will have to - # figure out what the right set of directories/patterns is for that - # platform. - assert(target_platform == "win") - - directories = [ - # Directories that shouldn't trigger builds on any bots. - ("BugsSite", []), - ("PageLoadTests", []), - ("PlanetWebKit", []), - ("WebCore/manual-tests", []), - ("WebKitExamplePlugins", []), - ("WebKitSite", []), - ("android", []), - ("brew", []), - ("efl", []), - ("haiku", []), - ("iphone", []), - ("opengl", []), - ("opentype", []), - ("openvg", []), - ("wx", []), - ("wince", []), - - # Directories that should trigger builds on only some bots. - ("JavaScriptGlue", ["mac"]), - ("LayoutTests/platform/mac", ["mac", "win"]), - ("LayoutTests/platform/mac-snowleopard", ["mac-snowleopard", "win"]), - ("WebCore/image-decoders", ["chromium"]), - ("cairo", ["gtk", "wincairo"]), - ("cf", ["chromium-mac", "mac", "qt", "win"]), - ("chromium", ["chromium"]), - ("cocoa", ["chromium-mac", "mac"]), - ("curl", ["gtk", "wincairo"]), - ("gobject", ["gtk"]), - ("gpu", ["chromium", "mac"]), - ("gstreamer", ["gtk"]), - ("gtk", ["gtk"]), - ("mac", ["chromium-mac", "mac"]), - ("mac-leopard", ["mac-leopard"]), - ("mac-snowleopard", ["mac-snowleopard"]), - ("mac-wk2", ["mac-snowleopard", "win"]), - ("objc", ["mac"]), - ("qt", ["qt"]), - ("skia", ["chromium"]), - ("soup", ["gtk"]), - ("v8", ["chromium"]), - ("win", ["chromium-win", "win"]), - ] - patterns = [ - # Patterns that shouldn't trigger builds on any bots. - (r"(?:^|/)Makefile$", []), - (r"/ARM", []), - (r"/CMake.*", []), - (r"/ChangeLog.*$", []), - (r"/LICENSE[^/]+$", []), - (r"ARM(?:v7)?\.(?:cpp|h)$", []), - (r"MIPS\.(?:cpp|h)$", []), - (r"WinCE\.(?:cpp|h|mm)$", []), - (r"\.(?:bkl|mk)$", []), - - # Patterns that should trigger builds on only some bots. - (r"/GNUmakefile\.am$", ["gtk"]), - (r"/\w+Chromium\w*\.(?:cpp|h|mm)$", ["chromium"]), - (r"Mac\.(?:cpp|h|mm)$", ["mac"]), - (r"\.exp$", ["mac"]), - (r"\.gypi?", ["chromium"]), - (r"\.order$", ["mac"]), - (r"\.pr[io]$", ["qt"]), - (r"\.xcconfig$", ["mac"]), - (r"\.xcodeproj/", ["mac"]), - ] - - base_platform = target_platform.split("-")[0] - - # See if the file is in one of the known directories. - for directory, platforms in directories: - if re.search(r"(?:^|/)%s/" % directory, file): - return target_platform in platforms or base_platform in platforms - - # See if the file matches a known pattern. - for pattern, platforms in patterns: - if re.search(pattern, file): - return target_platform in platforms or base_platform in platforms - - # See if the file is a platform-specific test result. - match = re.match("LayoutTests/platform/(?P<platform>[^/]+)/", file) - if match: - # See if the file is a test result for this platform, our base - # platform, or one of our sub-platforms. - return match.group("platform") in (target_platform, base_platform) or match.group("platform").startswith("%s-" % target_platform) - - # The file isn't one we know about specifically, so we should assume we - # have to build. - return True - - -def should_build(target_platform, changed_files): - """Returns true if the changed files affect the given platform, and - thus a build should be performed. target_platform should be one of the - platforms used in the build.webkit.org master's config.json file.""" - return any(_should_file_trigger_build(target_platform, file) for file in changed_files) diff --git a/WebKitTools/Scripts/webkitpy/common/config/build_unittest.py b/WebKitTools/Scripts/webkitpy/common/config/build_unittest.py deleted file mode 100644 index 3e70ff0..0000000 --- a/WebKitTools/Scripts/webkitpy/common/config/build_unittest.py +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright (C) 2010 Apple Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR -# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import unittest - -from webkitpy.common.config import build - - -class ShouldBuildTest(unittest.TestCase): - _should_build_tests = [ - (["BugsSite/foo", "WebCore/bar"], ["*"]), - (["BugsSite/foo"], []), - (["JavaScriptCore/JavaScriptCore.xcodeproj/foo"], ["mac-leopard", "mac-snowleopard"]), - (["JavaScriptGlue/foo", "WebCore/bar"], ["*"]), - (["JavaScriptGlue/foo"], ["mac-leopard", "mac-snowleopard"]), - (["LayoutTests/foo"], ["*"]), - (["LayoutTests/platform/chromium-linux/foo"], ["chromium-linux"]), - (["LayoutTests/platform/chromium-win/fast/compact/001-expected.txt"], ["chromium-win"]), - (["LayoutTests/platform/mac-leopard/foo"], ["mac-leopard"]), - (["LayoutTests/platform/mac-snowleopard/foo"], ["mac-snowleopard", "win"]), - (["LayoutTests/platform/mac-wk2/Skipped"], ["mac-snowleopard", "win"]), - (["LayoutTests/platform/mac/foo"], ["mac-leopard", "mac-snowleopard", "win"]), - (["LayoutTests/platform/win-xp/foo"], ["win"]), - (["LayoutTests/platform/win-wk2/foo"], ["win"]), - (["LayoutTests/platform/win/foo"], ["win"]), - (["WebCore/mac/foo"], ["chromium-mac", "mac-leopard", "mac-snowleopard"]), - (["WebCore/win/foo"], ["chromium-win", "win"]), - (["WebCore/platform/graphics/gpu/foo"], ["mac-leopard", "mac-snowleopard"]), - (["WebCore/platform/wx/wxcode/win/foo"], []), - (["WebCore/rendering/RenderThemeMac.mm", "WebCore/rendering/RenderThemeMac.h"], ["mac-leopard", "mac-snowleopard"]), - (["WebCore/rendering/RenderThemeChromiumLinux.h"], ["chromium-linux"]), - (["WebCore/rendering/RenderThemeWinCE.h"], []), - ] - - def test_should_build(self): - for files, platforms in self._should_build_tests: - # FIXME: We should test more platforms here once - # build._should_file_trigger_build is implemented for them. - for platform in ["win"]: - should_build = platform in platforms or "*" in platforms - self.assertEqual(build.should_build(platform, files), should_build, "%s should%s have built but did%s (files: %s)" % (platform, "" if should_build else "n't", "n't" if should_build else "", str(files))) - - -if __name__ == "__main__": - unittest.main() diff --git a/WebKitTools/Scripts/webkitpy/common/config/committers.py b/WebKitTools/Scripts/webkitpy/common/config/committers.py deleted file mode 100644 index b451721..0000000 --- a/WebKitTools/Scripts/webkitpy/common/config/committers.py +++ /dev/null @@ -1,331 +0,0 @@ -# Copyright (c) 2009, Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# WebKit's Python module for committer and reviewer validation - - -class Committer: - - def __init__(self, name, email_or_emails, irc_nickname=None): - self.full_name = name - if isinstance(email_or_emails, str): - self.emails = [email_or_emails] - else: - self.emails = email_or_emails - self.irc_nickname = irc_nickname - self.can_review = False - - def bugzilla_email(self): - # FIXME: We're assuming the first email is a valid bugzilla email, - # which might not be right. - return self.emails[0] - - def __str__(self): - return '"%s" <%s>' % (self.full_name, self.emails[0]) - - -class Reviewer(Committer): - - def __init__(self, name, email_or_emails, irc_nickname=None): - Committer.__init__(self, name, email_or_emails, irc_nickname) - self.can_review = True - - -# This is intended as a canonical, machine-readable list of all non-reviewer -# committers for WebKit. If your name is missing here and you are a committer, -# please add it. No review needed. All reviewers are committers, so this list -# is only of committers who are not reviewers. - - -committers_unable_to_review = [ - Committer("Aaron Boodman", "aa@chromium.org", "aboodman"), - Committer("Abhishek Arya", "inferno@chromium.org", "inferno-sec"), - Committer("Adam Langley", "agl@chromium.org", "agl"), - Committer("Albert J. Wong", "ajwong@chromium.org"), - Committer("Alejandro G. Castro", ["alex@igalia.com", "alex@webkit.org"]), - Committer("Alexander Kellett", ["lypanov@mac.com", "a-lists001@lypanov.net", "lypanov@kde.org"], "lypanov"), - Committer("Alexander Pavlov", "apavlov@chromium.org", "apavlov"), - Committer("Andre Boule", "aboule@apple.com"), - Committer("Andrei Popescu", "andreip@google.com", "andreip"), - Committer("Andrew Wellington", ["andrew@webkit.org", "proton@wiretapped.net"], "proton"), - Committer("Andrey Kosyakov", "caseq@chromium.org", "caseq"), - Committer("Andras Becsi", ["abecsi@webkit.org", "abecsi@inf.u-szeged.hu"], "bbandix"), - Committer("Andy Estes", "aestes@apple.com", "estes"), - Committer("Anthony Ricaud", "rik@webkit.org", "rik"), - Committer("Anton Muhin", "antonm@chromium.org", "antonm"), - Committer("Balazs Kelemen", "kbalazs@webkit.org", "kbalazs"), - Committer("Ben Murdoch", "benm@google.com", "benm"), - Committer("Benjamin C Meyer", ["ben@meyerhome.net", "ben@webkit.org"], "icefox"), - Committer("Benjamin Otte", ["otte@gnome.org", "otte@webkit.org"], "otte"), - Committer("Benjamin Poulain", ["benjamin.poulain@nokia.com", "ikipou@gmail.com"]), - Committer("Brent Fulgham", "bfulgham@webkit.org", "bfulgham"), - Committer("Brett Wilson", "brettw@chromium.org", "brettx"), - Committer("Brian Weinstein", "bweinstein@apple.com", "bweinstein"), - Committer("Cameron McCormack", "cam@webkit.org", "heycam"), - Committer("Carol Szabo", "carol.szabo@nokia.com"), - Committer("Chang Shu", "Chang.Shu@nokia.com"), - Committer("Chris Evans", "cevans@google.com"), - Committer("Chris Petersen", "cpetersen@apple.com", "cpetersen"), - Committer("Chris Rogers", "crogers@google.com", "crogers"), - Committer("Christian Dywan", ["christian@twotoasts.de", "christian@webkit.org"]), - Committer("Collin Jackson", "collinj@webkit.org"), - Committer("David Smith", ["catfish.man@gmail.com", "dsmith@webkit.org"], "catfishman"), - Committer("Dean Jackson", "dino@apple.com", "dino"), - Committer("Diego Gonzalez", ["diegohcg@webkit.org", "diego.gonzalez@openbossa.org"], "diegohcg"), - Committer("Dirk Pranke", "dpranke@chromium.org"), - Committer("Drew Wilson", "atwilson@chromium.org", "atwilson"), - Committer("Eli Fidler", "eli@staikos.net", "QBin"), - Committer("Enrica Casucci", "enrica@apple.com"), - Committer("Erik Arvidsson", "arv@chromium.org", "arv"), - Committer("Eric Roman", "eroman@chromium.org", "eroman"), - Committer("Evan Martin", "evan@chromium.org", "evmar"), - Committer("Evan Stade", "estade@chromium.org", "estade"), - Committer("Fady Samuel", "fsamuel@chromium.org", "fsamuel"), - Committer("Feng Qian", "feng@chromium.org"), - Committer("Fumitoshi Ukai", "ukai@chromium.org", "ukai"), - Committer("Gabor Loki", "loki@webkit.org", "loki04"), - Committer("Girish Ramakrishnan", ["girish@forwardbias.in", "ramakrishnan.girish@gmail.com"]), - Committer("Graham Dennis", ["Graham.Dennis@gmail.com", "gdennis@webkit.org"]), - Committer("Greg Bolsinga", "bolsinga@apple.com"), - Committer("Gyuyoung Kim", ["gyuyoung.kim@samsung.com", "gyuyoung@gmail.com", "gyuyoung@webkit.org"], "gyuyoung"), - Committer("Hans Wennborg", "hans@chromium.org", "hwennborg"), - Committer("Hayato Ito", "hayato@chromium.org", "hayato"), - Committer("Hin-Chung Lam", ["hclam@google.com", "hclam@chromium.org"]), - Committer("Ilya Tikhonovsky", "loislo@chromium.org", "loislo"), - Committer("Jakob Petsovits", ["jpetsovits@rim.com", "jpetso@gmx.at"], "jpetso"), - Committer("Jakub Wieczorek", "jwieczorek@webkit.org", "fawek"), - Committer("James Hawkins", ["jhawkins@chromium.org", "jhawkins@google.com"], "jhawkins"), - Committer("Jay Civelli", "jcivelli@chromium.org", "jcivelli"), - Committer("Jens Alfke", ["snej@chromium.org", "jens@apple.com"]), - Committer("Jer Noble", "jer.noble@apple.com", "jernoble"), - Committer("Jeremy Moskovich", ["playmobil@google.com", "jeremy@chromium.org"], "jeremymos"), - Committer("Jessie Berlin", ["jberlin@webkit.org", "jberlin@apple.com"]), - Committer("Jesus Sanchez-Palencia", ["jesus@webkit.org", "jesus.palencia@openbossa.org"], "jeez_"), - Committer("Jocelyn Turcotte", "jocelyn.turcotte@nokia.com", "jturcotte"), - Committer("Jochen Eisinger", "jochen@chromium.org", "jochen__"), - Committer("John Abd-El-Malek", "jam@chromium.org", "jam"), - Committer("John Gregg", ["johnnyg@google.com", "johnnyg@chromium.org"], "johnnyg"), - Committer("Joost de Valk", ["joost@webkit.org", "webkit-dev@joostdevalk.nl"], "Altha"), - Committer("Julie Parent", ["jparent@google.com", "jparent@chromium.org"], "jparent"), - Committer("Julien Chaffraix", ["jchaffraix@webkit.org", "julien.chaffraix@gmail.com"]), - Committer("Jungshik Shin", "jshin@chromium.org"), - Committer("Justin Schuh", "jschuh@chromium.org", "jschuh"), - Committer("Keishi Hattori", "keishi@webkit.org", "keishi"), - Committer("Kelly Norton", "knorton@google.com"), - Committer("Kent Hansen", "kent.hansen@nokia.com", "khansen"), - Committer("Kimmo Kinnunen", ["kimmo.t.kinnunen@nokia.com", "kimmok@iki.fi", "ktkinnun@webkit.org"], "kimmok"), - Committer("Kinuko Yasuda", "kinuko@chromium.org", "kinuko"), - Committer("Krzysztof Kowalczyk", "kkowalczyk@gmail.com"), - Committer("Kwang Yul Seo", ["kwangyul.seo@gmail.com", "skyul@company100.net", "kseo@webkit.org"], "kwangseo"), - Committer("Leandro Pereira", ["leandro@profusion.mobi", "leandro@webkit.org"], "acidx"), - Committer("Levi Weintraub", "lweintraub@apple.com"), - Committer("Lucas De Marchi", ["lucas.demarchi@profusion.mobi", "demarchi@webkit.org"], "demarchi"), - Committer("Luiz Agostini", ["luiz@webkit.org", "luiz.agostini@openbossa.org"], "lca"), - Committer("Mads Ager", "ager@chromium.org"), - Committer("Marcus Voltis Bulach", "bulach@chromium.org"), - Committer("Mario Sanchez Prada", ["msanchez@igalia.com", "mario@webkit.org"], "msanchez"), - Committer("Matt Delaney", "mdelaney@apple.com"), - Committer("Matt Lilek", ["webkit@mattlilek.com", "pewtermoose@webkit.org"]), - Committer("Matt Perry", "mpcomplete@chromium.org"), - Committer("Maxime Britto", ["maxime.britto@gmail.com", "britto@apple.com"]), - Committer("Maxime Simon", ["simon.maxime@gmail.com", "maxime.simon@webkit.org"], "maxime.simon"), - Committer("Michael Nordman", "michaeln@google.com", "michaeln"), - Committer("Michael Saboff", "msaboff@apple.com"), - Committer("Michelangelo De Simone", "michelangelo@webkit.org", "michelangelo"), - Committer("Mihai Parparita", "mihaip@chromium.org", "mihaip"), - Committer("Mike Belshe", ["mbelshe@chromium.org", "mike@belshe.com"]), - Committer("Mike Fenton", ["mifenton@rim.com", "mike.fenton@torchmobile.com"], "mfenton"), - Committer("Mike Thole", ["mthole@mikethole.com", "mthole@apple.com"]), - Committer("Mikhail Naganov", "mnaganov@chromium.org"), - Committer("MORITA Hajime", "morrita@google.com", "morrita"), - Committer("Nico Weber", ["thakis@chromium.org", "thakis@google.com"], "thakis"), - Committer("Noam Rosenthal", "noam.rosenthal@nokia.com", "noamr"), - Committer("Pam Greene", "pam@chromium.org", "pamg"), - Committer("Patrick Gansterer", ["paroga@paroga.com", "paroga@webkit.org"], "paroga"), - Committer("Pavel Podivilov", "podivilov@chromium.org", "podivilov"), - Committer("Peter Kasting", ["pkasting@google.com", "pkasting@chromium.org"], "pkasting"), - Committer("Philippe Normand", ["pnormand@igalia.com", "philn@webkit.org"], "philn-tp"), - Committer("Pierre d'Herbemont", ["pdherbemont@free.fr", "pdherbemont@apple.com"], "pdherbemont"), - Committer("Pierre-Olivier Latour", "pol@apple.com", "pol"), - Committer("Renata Hodovan", "reni@webkit.org", "reni"), - Committer("Robert Hogan", ["robert@webkit.org", "robert@roberthogan.net", "lists@roberthogan.net"], "mwenge"), - Committer("Roland Steiner", "rolandsteiner@chromium.org"), - Committer("Ryosuke Niwa", "rniwa@webkit.org", "rniwa"), - Committer("Satish Sampath", "satish@chromium.org"), - Committer("Scott Violet", "sky@chromium.org", "sky"), - Committer("Stephen White", "senorblanco@chromium.org", "senorblanco"), - Committer("Tony Gentilcore", "tonyg@chromium.org", "tonyg-cr"), - Committer("Trey Matteson", "trey@usa.net", "trey"), - Committer("Tristan O'Tierney", ["tristan@otierney.net", "tristan@apple.com"]), - Committer("Vangelis Kokkevis", "vangelis@chromium.org", "vangelis"), - Committer("Victor Wang", "victorw@chromium.org", "victorw"), - Committer("Vitaly Repeshko", "vitalyr@chromium.org"), - Committer("William Siegrist", "wsiegrist@apple.com", "wms"), - Committer("Xiaomei Ji", "xji@chromium.org", "xji"), - Committer("Yael Aharon", "yael.aharon@nokia.com"), - Committer("Yaar Schnitman", ["yaar@chromium.org", "yaar@google.com"]), - Committer("Yong Li", ["yong.li.webkit@gmail.com", "yong.li@torchmobile.com"], "yong"), - Committer("Yongjun Zhang", "yongjun.zhang@nokia.com"), - Committer("Yuta Kitamura", "yutak@chromium.org", "yutak"), - Committer("Yuzo Fujishima", "yuzo@google.com", "yuzo"), - Committer("Zhenyao Mo", "zmo@google.com", "zhenyao"), - Committer("Zoltan Herczeg", "zherczeg@webkit.org", "zherczeg"), - Committer("Zoltan Horvath", ["zoltan@webkit.org", "hzoltan@inf.u-szeged.hu", "horvath.zoltan.6@stud.u-szeged.hu"], "zoltan"), -] - - -# This is intended as a canonical, machine-readable list of all reviewers for -# WebKit. If your name is missing here and you are a reviewer, please add it. -# No review needed. - - -reviewers_list = [ - Reviewer("Ada Chan", "adachan@apple.com", "chanada"), - Reviewer("Adam Barth", "abarth@webkit.org", "abarth"), - Reviewer("Adam Roben", "aroben@apple.com", "aroben"), - Reviewer("Adam Treat", ["treat@kde.org", "treat@webkit.org", "atreat@rim.com"], "manyoso"), - Reviewer("Adele Peterson", "adele@apple.com", "adele"), - Reviewer("Alexey Proskuryakov", ["ap@webkit.org", "ap@apple.com"], "ap"), - Reviewer("Alice Liu", "alice.liu@apple.com", "aliu"), - Reviewer("Alp Toker", ["alp@nuanti.com", "alp@atoker.com", "alp@webkit.org"], "alp"), - Reviewer("Anders Carlsson", ["andersca@apple.com", "acarlsson@apple.com"], "andersca"), - Reviewer("Andreas Kling", ["kling@webkit.org", "andreas.kling@nokia.com"], "kling"), - Reviewer("Antonio Gomes", ["tonikitoo@webkit.org", "agomes@rim.com"], "tonikitoo"), - Reviewer("Antti Koivisto", ["koivisto@iki.fi", "antti@apple.com", "antti.j.koivisto@nokia.com"], "anttik"), - Reviewer("Ariya Hidayat", ["ariya.hidayat@gmail.com", "ariya@sencha.com", "ariya@webkit.org"], "ariya"), - Reviewer("Beth Dakin", "bdakin@apple.com", "dethbakin"), - Reviewer("Brady Eidson", "beidson@apple.com", "bradee-oh"), - Reviewer("Cameron Zwarich", ["zwarich@apple.com", "cwzwarich@apple.com", "cwzwarich@webkit.org"]), - Reviewer("Chris Blumenberg", "cblu@apple.com", "cblu"), - Reviewer("Chris Marrin", "cmarrin@apple.com", "cmarrin"), - Reviewer("Chris Fleizach", "cfleizach@apple.com", "cfleizach"), - Reviewer("Chris Jerdonek", "cjerdonek@webkit.org", "cjerdonek"), - Reviewer(u"Csaba Osztrogon\u00e1c", "ossy@webkit.org", "ossy"), - Reviewer("Dan Bernstein", ["mitz@webkit.org", "mitz@apple.com"], "mitzpettel"), - Reviewer("Daniel Bates", "dbates@webkit.org", "dydz"), - Reviewer("Darin Adler", "darin@apple.com", "darin"), - Reviewer("Darin Fisher", ["fishd@chromium.org", "darin@chromium.org"], "fishd"), - Reviewer("David Harrison", "harrison@apple.com", "harrison"), - Reviewer("David Hyatt", "hyatt@apple.com", "hyatt"), - Reviewer("David Kilzer", ["ddkilzer@webkit.org", "ddkilzer@apple.com"], "ddkilzer"), - Reviewer("David Levin", "levin@chromium.org", "dave_levin"), - Reviewer("Dimitri Glazkov", "dglazkov@chromium.org", "dglazkov"), - Reviewer("Dirk Schulze", "krit@webkit.org", "krit"), - Reviewer("Dmitry Titov", "dimich@chromium.org", "dimich"), - Reviewer("Don Melton", "gramps@apple.com", "gramps"), - Reviewer("Dumitru Daniliuc", "dumi@chromium.org", "dumi"), - Reviewer("Eric Carlson", "eric.carlson@apple.com"), - Reviewer("Eric Seidel", "eric@webkit.org", "eseidel"), - Reviewer("Gavin Barraclough", "barraclough@apple.com", "gbarra"), - Reviewer("Geoffrey Garen", "ggaren@apple.com", "ggaren"), - Reviewer("George Staikos", ["staikos@kde.org", "staikos@webkit.org"]), - Reviewer("Gustavo Noronha Silva", ["gns@gnome.org", "kov@webkit.org", "gustavo.noronha@collabora.co.uk"], "kov"), - Reviewer("Holger Freyther", ["zecke@selfish.org", "zecke@webkit.org"], "zecke"), - Reviewer("James Robinson", ["jamesr@chromium.org", "jamesr@google.com"], "jamesr"), - Reviewer("Jan Alonzo", ["jmalonzo@gmail.com", "jmalonzo@webkit.org"], "janm"), - Reviewer("Jeremy Orlow", "jorlow@chromium.org", "jorlow"), - Reviewer("Jian Li", "jianli@chromium.org", "jianli"), - Reviewer("John Sullivan", "sullivan@apple.com", "sullivan"), - Reviewer("Jon Honeycutt", "jhoneycutt@apple.com", "jhoneycutt"), - Reviewer("Joseph Pecoraro", ["joepeck@webkit.org", "pecoraro@apple.com"], "JoePeck"), - Reviewer("Justin Garcia", "justin.garcia@apple.com", "justing"), - Reviewer("Ken Kocienda", "kocienda@apple.com"), - Reviewer("Kenneth Rohde Christiansen", ["kenneth@webkit.org", "kenneth.christiansen@openbossa.org", "kenneth.christiansen@gmail.com"], "kenne"), - Reviewer("Kenneth Russell", "kbr@google.com", "kbr_google"), - Reviewer("Kent Tamura", "tkent@chromium.org", "tkent"), - Reviewer("Kevin Decker", "kdecker@apple.com", "superkevin"), - Reviewer("Kevin McCullough", "kmccullough@apple.com", "maculloch"), - Reviewer("Kevin Ollivier", ["kevino@theolliviers.com", "kevino@webkit.org"], "kollivier"), - Reviewer("Lars Knoll", ["lars@trolltech.com", "lars@kde.org", "lars.knoll@nokia.com"], "lars"), - Reviewer("Laszlo Gombos", "laszlo.1.gombos@nokia.com", "lgombos"), - Reviewer("Maciej Stachowiak", "mjs@apple.com", "othermaciej"), - Reviewer("Mark Rowe", "mrowe@apple.com", "bdash"), - Reviewer("Martin Robinson", ["mrobinson@webkit.org", "mrobinson@igalia.com", "martin.james.robinson@gmail.com"], "mrobinson"), - Reviewer("Nate Chapin", "japhet@chromium.org", "japhet"), - Reviewer("Nikolas Zimmermann", ["zimmermann@kde.org", "zimmermann@physik.rwth-aachen.de", "zimmermann@webkit.org"], "wildfox"), - Reviewer("Ojan Vafai", "ojan@chromium.org", "ojan"), - Reviewer("Oliver Hunt", "oliver@apple.com", "olliej"), - Reviewer("Pavel Feldman", "pfeldman@chromium.org", "pfeldman"), - Reviewer("Richard Williamson", "rjw@apple.com", "rjw"), - Reviewer("Rob Buis", ["rwlbuis@gmail.com", "rwlbuis@webkit.org"], "rwlbuis"), - Reviewer("Sam Weinig", ["sam@webkit.org", "weinig@apple.com"], "weinig"), - Reviewer("Shinichiro Hamaji", "hamaji@chromium.org", "hamaji"), - Reviewer("Simon Fraser", "simon.fraser@apple.com", "smfr"), - Reviewer("Simon Hausmann", ["hausmann@webkit.org", "hausmann@kde.org", "simon.hausmann@nokia.com"], "tronical"), - Reviewer("Stephanie Lewis", "slewis@apple.com", "sundiamonde"), - Reviewer("Steve Block", "steveblock@google.com", "steveblock"), - Reviewer("Steve Falkenburg", "sfalken@apple.com", "sfalken"), - Reviewer("Tim Omernick", "timo@apple.com"), - Reviewer("Timothy Hatcher", ["timothy@apple.com", "timothy@hatcher.name"], "xenon"), - Reviewer("Tony Chang", "tony@chromium.org", "tony^work"), - Reviewer(u"Tor Arne Vestb\u00f8", ["vestbo@webkit.org", "tor.arne.vestbo@nokia.com"], "torarne"), - Reviewer("Vicki Murley", "vicki@apple.com"), - Reviewer("Xan Lopez", ["xan.lopez@gmail.com", "xan@gnome.org", "xan@webkit.org"], "xan"), - Reviewer("Yury Semikhatsky", "yurys@chromium.org", "yurys"), - Reviewer("Zack Rusin", "zack@kde.org", "zackr"), -] - - -class CommitterList: - - # Committers and reviewers are passed in to allow easy testing - - def __init__(self, - committers=committers_unable_to_review, - reviewers=reviewers_list): - self._committers = committers + reviewers - self._reviewers = reviewers - self._committers_by_email = {} - - 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: - for email in committer.emails: - self._committers_by_email[email] = committer - return self._committers_by_email - - def committer_by_name(self, name): - # This could be made into a hash lookup if callers need it to be fast. - for committer in self.committers(): - if committer.full_name == name: - return committer - - def committer_by_email(self, email): - return self._email_to_committer_map().get(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/webkitpy/common/config/committers_unittest.py b/WebKitTools/Scripts/webkitpy/common/config/committers_unittest.py deleted file mode 100644 index 068c0ee..0000000 --- a/WebKitTools/Scripts/webkitpy/common/config/committers_unittest.py +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright (C) 2009 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import unittest -from webkitpy.common.config.committers import CommitterList, Committer, Reviewer - -class CommittersTest(unittest.TestCase): - - def test_committer_lookup(self): - committer = Committer('Test One', 'one@test.com', 'one') - reviewer = Reviewer('Test Two', ['two@test.com', 'two@rad.com', 'so_two@gmail.com']) - committer_list = CommitterList(committers=[committer], reviewers=[reviewer]) - - # Test valid committer and reviewer lookup - self.assertEqual(committer_list.committer_by_email('one@test.com'), committer) - self.assertEqual(committer_list.reviewer_by_email('two@test.com'), reviewer) - self.assertEqual(committer_list.committer_by_email('two@test.com'), reviewer) - self.assertEqual(committer_list.committer_by_email('two@rad.com'), reviewer) - self.assertEqual(committer_list.reviewer_by_email('so_two@gmail.com'), reviewer) - - # Test valid committer and reviewer lookup - self.assertEqual(committer_list.committer_by_name("Test One"), committer) - self.assertEqual(committer_list.committer_by_name("Test Two"), reviewer) - self.assertEqual(committer_list.committer_by_name("Test Three"), None) - - # Test that the first email is assumed to be the Bugzilla email address (for now) - self.assertEqual(committer_list.committer_by_email('two@rad.com').bugzilla_email(), 'two@test.com') - - # Test that a known committer is not returned during reviewer lookup - self.assertEqual(committer_list.reviewer_by_email('one@test.com'), None) - - # Test that unknown email address fail both committer and reviewer lookup - self.assertEqual(committer_list.committer_by_email('bar@bar.com'), None) - self.assertEqual(committer_list.reviewer_by_email('bar@bar.com'), None) - - # Test that emails returns a list. - self.assertEqual(committer.emails, ['one@test.com']) - - self.assertEqual(committer.irc_nickname, 'one') - - # 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() diff --git a/WebKitTools/Scripts/webkitpy/common/config/committervalidator.py b/WebKitTools/Scripts/webkitpy/common/config/committervalidator.py deleted file mode 100644 index b7b2990..0000000 --- a/WebKitTools/Scripts/webkitpy/common/config/committervalidator.py +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright (c) 2009 Google Inc. All rights reserved. -# Copyright (c) 2009 Apple Inc. All rights reserved. -# Copyright (c) 2010 Research In Motion Limited. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import os - -from webkitpy.common.system.ospath import relpath -from webkitpy.common.config import committers - - -class CommitterValidator(object): - - def __init__(self, bugzilla): - self._bugzilla = bugzilla - - # _view_source_url belongs in some sort of webkit_config.py module. - def _view_source_url(self, local_path): - return "http://trac.webkit.org/browser/trunk/%s" % local_path - - def _checkout_root(self): - # FIXME: This is a hack, we would have this from scm.checkout_root - # if we had any way to get to an scm object here. - components = __file__.split(os.sep) - tools_index = components.index("WebKitTools") - return os.sep.join(components[:tools_index]) - - def _committers_py_path(self): - # extension can sometimes be .pyc, we always want .py - (path, extension) = os.path.splitext(committers.__file__) - # FIXME: When we're allowed to use python 2.6 we can use the real - # os.path.relpath - path = relpath(path, self._checkout_root()) - return ".".join([path, "py"]) - - def _flag_permission_rejection_message(self, setter_email, flag_name): - # Should come from some webkit_config.py - contribution_guidlines = "http://webkit.org/coding/contributing.html" - # This could be queried from the status_server. - queue_administrator = "eseidel@chromium.org" - # This could be queried from the tool. - queue_name = "commit-queue" - committers_list = self._committers_py_path() - message = "%s does not have %s permissions according to %s." % ( - setter_email, - flag_name, - self._view_source_url(committers_list)) - message += "\n\n- If you do not have %s rights please read %s for instructions on how to use bugzilla flags." % ( - flag_name, contribution_guidlines) - message += "\n\n- If you have %s rights please correct the error in %s by adding yourself to the file (no review needed). " % ( - flag_name, committers_list) - message += "The %s restarts itself every 2 hours. After restart the %s will correctly respect your %s rights." % ( - queue_name, queue_name, flag_name) - return message - - def _validate_setter_email(self, patch, result_key, rejection_function): - committer = getattr(patch, result_key)() - # If the flag is set, and we don't recognize the setter, reject the - # flag! - setter_email = patch._attachment_dictionary.get("%s_email" % result_key) - if setter_email and not committer: - rejection_function(patch.id(), - self._flag_permission_rejection_message(setter_email, - result_key)) - return False - return True - - def _reject_patch_if_flags_are_invalid(self, patch): - return (self._validate_setter_email( - patch, "reviewer", self.reject_patch_from_review_queue) - and self._validate_setter_email( - patch, "committer", self.reject_patch_from_commit_queue)) - - def patches_after_rejecting_invalid_commiters_and_reviewers(self, patches): - return [patch for patch in patches if self._reject_patch_if_flags_are_invalid(patch)] - - def reject_patch_from_commit_queue(self, - attachment_id, - additional_comment_text=None): - comment_text = "Rejecting patch %s from commit-queue." % attachment_id - self._bugzilla.set_flag_on_attachment(attachment_id, - "commit-queue", - "-", - comment_text, - additional_comment_text) - - def reject_patch_from_review_queue(self, - attachment_id, - additional_comment_text=None): - comment_text = "Rejecting patch %s from review queue." % attachment_id - self._bugzilla.set_flag_on_attachment(attachment_id, - 'review', - '-', - comment_text, - additional_comment_text) diff --git a/WebKitTools/Scripts/webkitpy/common/config/committervalidator_unittest.py b/WebKitTools/Scripts/webkitpy/common/config/committervalidator_unittest.py deleted file mode 100644 index 61fa3bf..0000000 --- a/WebKitTools/Scripts/webkitpy/common/config/committervalidator_unittest.py +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright (C) 2010 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import unittest - -from .committervalidator import CommitterValidator - - -class CommitterValidatorTest(unittest.TestCase): - def test_flag_permission_rejection_message(self): - validator = CommitterValidator(bugzilla=None) - self.assertEqual(validator._committers_py_path(), "WebKitTools/Scripts/webkitpy/common/config/committers.py") - expected_messsage = """foo@foo.com does not have review permissions according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/common/config/committers.py. - -- If you do not have review rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags. - -- If you have review rights please correct the error in WebKitTools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed). The commit-queue restarts itself every 2 hours. After restart the commit-queue will correctly respect your review rights.""" - self.assertEqual(validator._flag_permission_rejection_message("foo@foo.com", "review"), expected_messsage) diff --git a/WebKitTools/Scripts/webkitpy/common/config/irc.py b/WebKitTools/Scripts/webkitpy/common/config/irc.py deleted file mode 100644 index 950c573..0000000 --- a/WebKitTools/Scripts/webkitpy/common/config/irc.py +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2009 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -server="irc.freenode.net" -port=6667 -channel="#webkit" diff --git a/WebKitTools/Scripts/webkitpy/common/config/ports.py b/WebKitTools/Scripts/webkitpy/common/config/ports.py deleted file mode 100644 index d268865..0000000 --- a/WebKitTools/Scripts/webkitpy/common/config/ports.py +++ /dev/null @@ -1,249 +0,0 @@ -# Copyright (C) 2009, Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# WebKit's Python module for understanding the various ports - -import os -import platform - -from webkitpy.common.system.executive import Executive - - -class WebKitPort(object): - - # We might need to pass scm into this function for scm.checkout_root - @classmethod - def script_path(cls, script_name): - return os.path.join("WebKitTools", "Scripts", script_name) - - @staticmethod - def port(port_name): - ports = { - "chromium": ChromiumPort, - "chromium-xvfb": ChromiumXVFBPort, - "gtk": GtkPort, - "mac": MacPort, - "win": WinPort, - "qt": QtPort, - "efl": EflPort, - } - default_port = { - "Windows": WinPort, - "Darwin": MacPort, - } - # Do we really need MacPort as the ultimate default? - return ports.get(port_name, default_port.get(platform.system(), MacPort)) - - @staticmethod - def makeArgs(): - args = '--makeargs="-j%s"' % Executive().cpu_count() - if os.environ.has_key('MAKEFLAGS'): - args = '--makeargs="%s"' % os.environ['MAKEFLAGS'] - return args - - @classmethod - def name(cls): - raise NotImplementedError("subclasses must implement") - - @classmethod - def flag(cls): - raise NotImplementedError("subclasses must implement") - - @classmethod - def update_webkit_command(cls): - return [cls.script_path("update-webkit")] - - @classmethod - def build_webkit_command(cls, build_style=None): - command = [cls.script_path("build-webkit")] - if build_style == "debug": - command.append("--debug") - if build_style == "release": - command.append("--release") - return command - - @classmethod - def run_javascriptcore_tests_command(cls): - return [cls.script_path("run-javascriptcore-tests")] - - @classmethod - def run_webkit_tests_command(cls): - return [cls.script_path("run-webkit-tests")] - - @classmethod - def run_python_unittests_command(cls): - return [cls.script_path("test-webkitpy")] - - @classmethod - def run_perl_unittests_command(cls): - return [cls.script_path("test-webkitperl")] - - @classmethod - def layout_tests_results_path(cls): - return "/tmp/layout-test-results/results.html" - - -class MacPort(WebKitPort): - - @classmethod - def name(cls): - return "Mac" - - @classmethod - def flag(cls): - return "--port=mac" - - @classmethod - def _system_version(cls): - version_string = platform.mac_ver()[0] # e.g. "10.5.6" - version_tuple = version_string.split('.') - return map(int, version_tuple) - - @classmethod - def is_leopard(cls): - return tuple(cls._system_version()[:2]) == (10, 5) - - -class WinPort(WebKitPort): - - @classmethod - def name(cls): - return "Win" - - @classmethod - def flag(cls): - # FIXME: This is lame. We should autogenerate this from a codename or something. - return "--port=win" - - -class GtkPort(WebKitPort): - - @classmethod - def name(cls): - return "Gtk" - - @classmethod - def flag(cls): - return "--port=gtk" - - @classmethod - def build_webkit_command(cls, build_style=None): - command = WebKitPort.build_webkit_command(build_style=build_style) - command.append("--gtk") - command.append(WebKitPort.makeArgs()) - return command - - @classmethod - def run_webkit_tests_command(cls): - command = WebKitPort.run_webkit_tests_command() - command.append("--gtk") - return command - - -class QtPort(WebKitPort): - - @classmethod - def name(cls): - return "Qt" - - @classmethod - def flag(cls): - return "--port=qt" - - @classmethod - def build_webkit_command(cls, build_style=None): - command = WebKitPort.build_webkit_command(build_style=build_style) - command.append("--qt") - command.append(WebKitPort.makeArgs()) - return command - - -class EflPort(WebKitPort): - - @classmethod - def name(cls): - return "Efl" - - @classmethod - def flag(cls): - return "--port=efl" - - @classmethod - def build_webkit_command(cls, build_style=None): - command = WebKitPort.build_webkit_command(build_style=build_style) - command.append("--efl") - command.append(WebKitPort.makeArgs()) - return command - - -class ChromiumPort(WebKitPort): - - @classmethod - def name(cls): - return "Chromium" - - @classmethod - def flag(cls): - return "--port=chromium" - - @classmethod - def update_webkit_command(cls): - command = WebKitPort.update_webkit_command() - command.append("--chromium") - return command - - @classmethod - def build_webkit_command(cls, build_style=None): - command = WebKitPort.build_webkit_command(build_style=build_style) - command.append("--chromium") - return command - - @classmethod - def run_webkit_tests_command(cls): - return [ - cls.script_path("new-run-webkit-tests"), - "--chromium", - "--use-drt", - "--no-pixel-tests", - ] - - @classmethod - def run_javascriptcore_tests_command(cls): - return None - - -class ChromiumXVFBPort(ChromiumPort): - - @classmethod - def flag(cls): - return "--port=chromium-xvfb" - - @classmethod - def run_webkit_tests_command(cls): - # FIXME: We should find a better way to do this. - return ["xvfb-run"] + ChromiumPort.run_webkit_tests_command() diff --git a/WebKitTools/Scripts/webkitpy/common/config/ports_unittest.py b/WebKitTools/Scripts/webkitpy/common/config/ports_unittest.py deleted file mode 100644 index 3bdf0e6..0000000 --- a/WebKitTools/Scripts/webkitpy/common/config/ports_unittest.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2009, Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import unittest - -from webkitpy.common.config.ports import * - - -class WebKitPortTest(unittest.TestCase): - def test_mac_port(self): - self.assertEquals(MacPort.name(), "Mac") - self.assertEquals(MacPort.flag(), "--port=mac") - self.assertEquals(MacPort.run_webkit_tests_command(), [WebKitPort.script_path("run-webkit-tests")]) - self.assertEquals(MacPort.build_webkit_command(), [WebKitPort.script_path("build-webkit")]) - self.assertEquals(MacPort.build_webkit_command(build_style="debug"), [WebKitPort.script_path("build-webkit"), "--debug"]) - self.assertEquals(MacPort.build_webkit_command(build_style="release"), [WebKitPort.script_path("build-webkit"), "--release"]) - - class TestIsLeopard(MacPort): - @classmethod - def _system_version(cls): - return [10, 5] - self.assertTrue(TestIsLeopard.is_leopard()) - - def test_gtk_port(self): - self.assertEquals(GtkPort.name(), "Gtk") - self.assertEquals(GtkPort.flag(), "--port=gtk") - self.assertEquals(GtkPort.run_webkit_tests_command(), [WebKitPort.script_path("run-webkit-tests"), "--gtk"]) - self.assertEquals(GtkPort.build_webkit_command(), [WebKitPort.script_path("build-webkit"), "--gtk", WebKitPort.makeArgs()]) - self.assertEquals(GtkPort.build_webkit_command(build_style="debug"), [WebKitPort.script_path("build-webkit"), "--debug", "--gtk", WebKitPort.makeArgs()]) - - def test_qt_port(self): - self.assertEquals(QtPort.name(), "Qt") - self.assertEquals(QtPort.flag(), "--port=qt") - self.assertEquals(QtPort.run_webkit_tests_command(), [WebKitPort.script_path("run-webkit-tests")]) - self.assertEquals(QtPort.build_webkit_command(), [WebKitPort.script_path("build-webkit"), "--qt", WebKitPort.makeArgs()]) - self.assertEquals(QtPort.build_webkit_command(build_style="debug"), [WebKitPort.script_path("build-webkit"), "--debug", "--qt", WebKitPort.makeArgs()]) - - def test_chromium_port(self): - self.assertEquals(ChromiumPort.name(), "Chromium") - self.assertEquals(ChromiumPort.flag(), "--port=chromium") - self.assertEquals(ChromiumPort.run_webkit_tests_command(), [WebKitPort.script_path("new-run-webkit-tests"), "--chromium", "--use-drt", "--no-pixel-tests"]) - self.assertEquals(ChromiumPort.build_webkit_command(), [WebKitPort.script_path("build-webkit"), "--chromium"]) - self.assertEquals(ChromiumPort.build_webkit_command(build_style="debug"), [WebKitPort.script_path("build-webkit"), "--debug", "--chromium"]) - self.assertEquals(ChromiumPort.update_webkit_command(), [WebKitPort.script_path("update-webkit"), "--chromium"]) - - def test_chromium_xvfb_port(self): - self.assertEquals(ChromiumXVFBPort.run_webkit_tests_command(), ["xvfb-run", "WebKitTools/Scripts/new-run-webkit-tests", "--chromium", "--use-drt", "--no-pixel-tests"]) - -if __name__ == '__main__': - unittest.main() |