2011-03-14 James Kozianski <koz@chromium.org>

        Reviewed by Ojan Vafai.

        Add method to make BuildBot return test outputs
        https://bugs.webkit.org/show_bug.cgi?id=54374

        The Builder.latest_cached_build will be used by the new rebaseline
        script to determine the build to use baselines from.

        * Scripts/webkitpy/common/net/buildbot/buildbot.py:
        * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:

git-svn-id: svn://svn.chromium.org/blink/trunk@81106 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent ec43bb1b
2011-03-14 James Kozianski <koz@chromium.org>
Reviewed by Ojan Vafai.
Add method to make BuildBot return test outputs
https://bugs.webkit.org/show_bug.cgi?id=54374
The Builder.latest_cached_build will be used by the new rebaseline
script to determine the build to use baselines from.
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
* Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
2011-03-14 Adam Roben <aroben@apple.com>
Test that WKBundlePageCanHandleRequest returns true for empty document URLs
......
......@@ -42,9 +42,11 @@ import urllib2
from webkitpy.common.net.failuremap import FailureMap
from webkitpy.common.net.layouttestresults import LayoutTestResults
from webkitpy.common.net.regressionwindow import RegressionWindow
from webkitpy.common.net.testoutputset import TestOutputSet
from webkitpy.common.system.logutils import get_logger
from webkitpy.thirdparty.autoinstalled.mechanize import Browser
from webkitpy.common.system.zipfileset import ZipFileSet
from webkitpy.thirdparty.BeautifulSoup import BeautifulSoup
from webkitpy.thirdparty.autoinstalled.mechanize import Browser
_log = get_logger(__file__)
......@@ -92,6 +94,12 @@ class Builder(object):
self._builds_cache[build_number] = build
return build
def latest_cached_build(self):
revision_build_pairs = self.revision_build_pairs_with_results()
revision_build_pairs.sort(key=lambda i: i[1])
latest_build_number = revision_build_pairs[-1][1]
return self.build(latest_build_number)
def force_build(self, username="webkit-patch", comments=None):
def predicate(form):
try:
......@@ -221,6 +229,12 @@ class Build(object):
results_directory = "r%s (%s)" % (self.revision(), self._number)
return "%s/%s" % (self._builder.results_url(), urllib.quote(results_directory))
def results_zip_url(self):
return "%s.zip" % self.results_url()
def results(self):
return TestOutputSet(self._builder.name(), None, ZipFileSet(self.results_zip_url()), include_expected=False)
def _fetch_results_html(self):
results_html = "%s/results.html" % (self.results_url())
# FIXME: This should use NetworkTransaction's 404 handling instead.
......
......@@ -410,6 +410,33 @@ class BuildBotTest(unittest.TestCase):
buildbot._latest_builds_from_builders = mock_builds_from_builders
self.assertEqual(buildbot.last_green_revision(), 1)
def _fetch_build(self, build_number):
if build_number == 5:
return "correct build"
return "wrong build"
def _fetch_revision_to_build_map(self):
return {'r5': 5, 'r2': 2, 'r3': 3}
def test_latest_cached_build(self):
b = Builder('builder', BuildBot())
b._fetch_build = self._fetch_build
b._fetch_revision_to_build_map = self._fetch_revision_to_build_map
self.assertEquals("correct build", b.latest_cached_build())
def results_url(self):
return "some-url"
def test_results_zip_url(self):
b = Build(None, 123, 123, False)
b.results_url = self.results_url
self.assertEquals("some-url.zip", b.results_zip_url())
def test_results(self):
builder = Builder('builder', BuildBot())
b = Build(builder, 123, 123, True)
self.assertTrue(b.results())
if __name__ == '__main__':
unittest.main()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment