- Tools/ChangeLog +15 lines
Lines 1-3 Tools/ChangeLog_sec1
1
2011-08-01  Adam Barth  <abarth@webkit.org>
2
3
        Remove unused functionality from gardeningserver
4
        https://bugs.webkit.org/show_bug.cgi?id=65479
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        We now handle these operations directly from the front-end.  That means
9
        they work even without the gardening server running!
10
11
        Also, add some missing files to the list of static files.
12
13
        * Scripts/webkitpy/tool/servers/gardeningserver.py:
14
        * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
15
1
2011-08-01  Adam Barth  <abarth@webkit.org>
16
2011-08-01  Adam Barth  <abarth@webkit.org>
2
17
3
        Refactor bugzilla.js for use by garden-o-matic
18
        Refactor bugzilla.js for use by garden-o-matic
- Tools/Scripts/webkitpy/tool/servers/gardeningserver.py -17 / +2 lines
Lines 38-43 class GardeningHTTPServer(BaseHTTPServer Tools/Scripts/webkitpy/tool/servers/gardeningserver.py_sec1
38
class GardeningHTTPRequestHandler(ReflectionHandler):
38
class GardeningHTTPRequestHandler(ReflectionHandler):
39
    STATIC_FILE_NAMES = frozenset([
39
    STATIC_FILE_NAMES = frozenset([
40
        "base.js",
40
        "base.js",
41
        "Bugzilla.js",
42
        "builders.js",
41
        "checkout.js",
43
        "checkout.js",
42
        "config.js",
44
        "config.js",
43
        "favicon-green.png",
45
        "favicon-green.png",
Lines 66-88 class GardeningHTTPRequestHandler(Reflec Tools/Scripts/webkitpy/tool/servers/gardeningserver.py_sec2
66
    def _run_webkit_patch(self, args):
68
    def _run_webkit_patch(self, args):
67
        return self.server.tool.executive.run_command([self.server.tool.path()] + args, cwd=self.server.tool.scm().checkout_root)
69
        return self.server.tool.executive.run_command([self.server.tool.path()] + args, cwd=self.server.tool.scm().checkout_root)
68
70
69
    def changelog(self):
70
        revision = self.query['revision'][0]
71
        head_revision = self.server.tool.scm().head_svn_revision()
72
        if revision > head_revision:
73
            # Updating the working copy could conflict with any rebaselines we have in progress.
74
            update_webkit_command = self.server.tool.port().update_webkit_command()
75
            self.server.tool.executive.run_and_throw_if_fail(update_webkit_command, quiet=True, cwd=self.server.tool.scm().checkout_root)
76
        commit_info = self.server.tool.checkout().commit_info_for_revision(revision)
77
        if not commit_info:
78
            self.send_error(404, "File not found")
79
        else:
80
            self._serve_json(commit_info.to_json())
81
82
    def buildbot(self):
83
        builder_statuses = self.server.tool.chromium_buildbot().builder_statuses()
84
        self._serve_json(builder_statuses)
85
86
    def rollout(self):
71
    def rollout(self):
87
        revision = self.query['revision'][0]
72
        revision = self.query['revision'][0]
88
        reason = self.query['reason'][0]
73
        reason = self.query['reason'][0]
- Tools/Scripts/webkitpy/tool/servers/gardeningserver_unittest.py -12 lines
Lines 69-86 class GardeningServerTest(unittest.TestC Tools/Scripts/webkitpy/tool/servers/gardeningserver_unittest.py_sec1
69
        handler.path = path
69
        handler.path = path
70
        OutputCapture().assert_outputs(self, handler.do_POST, expected_stderr=expected_stderr, expected_stdout=expected_stdout)
70
        OutputCapture().assert_outputs(self, handler.do_POST, expected_stderr=expected_stderr, expected_stdout=expected_stdout)
71
71
72
    def test_changelog(self):
73
        expected_stderr = "MOCK run_and_throw_if_fail: ['mock-update-webkit'], cwd=/mock-checkout\n"
74
        expected_stdout = """== Begin JSON Response ==
75
{"bug_id": 42, "author_email": "abarth@webkit.org", "reviewer_text": "Darin Adler", "author_name": "Adam Barth", "changed_files": ["path/to/file", "another/file"]}
76
== End JSON Response ==
77
"""
78
        self._post_to_path("/changelog?revision=2314", expected_stderr=expected_stderr, expected_stdout=expected_stdout)
79
80
    def test_buildbot(self):
81
        expected_stdout = '== Begin JSON Response ==\n[{"is_green": true, "name": "Builder1", "activity": "building"}, {"is_green": true, "name": "Builder2", "activity": "idle"}]\n== End JSON Response ==\n'
82
        self._post_to_path("/buildbot", expected_stdout=expected_stdout, expected_stderr='')
83
84
    def test_rollout(self):
72
    def test_rollout(self):
85
        expected_stderr = "MOCK run_command: ['echo', 'rollout', '--force-clean', '--non-interactive', '2314', 'MOCK rollout reason'], cwd=/mock-checkout\n"
73
        expected_stderr = "MOCK run_command: ['echo', 'rollout', '--force-clean', '--non-interactive', '2314', 'MOCK rollout reason'], cwd=/mock-checkout\n"
86
        expected_stdout = "== Begin Response ==\nsuccess\n== End Response ==\n"
74
        expected_stdout = "== Begin Response ==\nsuccess\n== End Response ==\n"

Return to Bug 65479