| Index: third_party/buildbot_7_12/buildbot/test/test_webparts.py
|
| diff --git a/third_party/buildbot_7_12/buildbot/test/test_webparts.py b/third_party/buildbot_7_12/buildbot/test/test_webparts.py
|
| deleted file mode 100644
|
| index 71dd59e367522092e071d909f70b01555f6e88fb..0000000000000000000000000000000000000000
|
| --- a/third_party/buildbot_7_12/buildbot/test/test_webparts.py
|
| +++ /dev/null
|
| @@ -1,141 +0,0 @@
|
| -
|
| -import os
|
| -from twisted.trial import unittest
|
| -from twisted.internet import defer
|
| -from twisted.web import client
|
| -from twisted.web.error import Error as WebError
|
| -from buildbot.slave.commands import rmdirRecursive
|
| -from buildbot.status import html
|
| -from test_web import BaseWeb, base_config, ConfiguredMaster
|
| -from buildbot.scripts import runner
|
| -
|
| -class Webparts(BaseWeb, unittest.TestCase):
|
| -
|
| - def find_webstatus(self, master):
|
| - return filter(lambda child: isinstance(child, html.WebStatus),
|
| - list(master))
|
| -
|
| - def startMaster(self, extraconfig):
|
| - config = base_config + extraconfig
|
| - rmdirRecursive("test_webparts")
|
| - os.mkdir("test_webparts")
|
| - runner.upgradeMaster({'basedir': "test_webparts",
|
| - 'quiet': True,
|
| - })
|
| - self.master = m = ConfiguredMaster("test_webparts", config)
|
| - m.startService()
|
| - # hack to find out what randomly-assigned port it is listening on
|
| - port = list(self.find_webstatus(m)[0])[0]._port.getHost().port
|
| - self.baseurl = "http://localhost:%d/" % port
|
| -
|
| - def reconfigMaster(self, extraconfig):
|
| - config = base_config + extraconfig
|
| - d = self.master.loadConfig(config)
|
| - def _done(res):
|
| - m = self.master
|
| - port = list(self.find_webstatus(m)[0])[0]._port.getHost().port
|
| - self.baseurl = "http://localhost:%d/" % port
|
| - d.addCallback(_done)
|
| - return d
|
| -
|
| - def getAndCheck(self, url, substring, show=False):
|
| - d = client.getPage(url)
|
| - def _show_weberror(why):
|
| - why.trap(WebError)
|
| - self.fail("error for %s: %s" % (url, why))
|
| - d.addErrback(_show_weberror)
|
| - d.addCallback(self._getAndCheck, substring, show)
|
| - return d
|
| - def _getAndCheck(self, page, substring, show):
|
| - if show:
|
| - print page
|
| - self.failUnlessIn(substring, page,
|
| - "Couldn't find substring '%s' in page:\n%s" %
|
| - (substring, page))
|
| -
|
| - def testInit(self):
|
| - extraconfig = """
|
| -from twisted.web import static
|
| -ws = html.WebStatus(http_port=0)
|
| -c['status'] = [ws]
|
| -ws.putChild('child.html', static.Data('I am the child', 'text/plain'))
|
| -"""
|
| - self.startMaster(extraconfig)
|
| - d = self.getAndCheck(self.baseurl + "child.html",
|
| - "I am the child")
|
| - return d
|
| - testInit.timeout = 10
|
| -
|
| - def testStatic(self):
|
| - extraconfig = """
|
| -from twisted.web import static
|
| -ws = html.WebStatus(http_port=0)
|
| -c['status'] = [ws]
|
| -ws.putChild('child.html', static.Data('I am the child', 'text/plain'))
|
| -"""
|
| - self.startMaster(extraconfig)
|
| - os.mkdir(os.path.join("test_webparts", "public_html", "subdir"))
|
| - f = open(os.path.join("test_webparts", "public_html", "foo.html"), "wt")
|
| - f.write("see me foo\n")
|
| - f.close()
|
| - f = open(os.path.join("test_webparts", "public_html", "subdir",
|
| - "bar.html"), "wt")
|
| - f.write("see me subdir/bar\n")
|
| - f.close()
|
| - d = self.getAndCheck(self.baseurl + "child.html", "I am the child")
|
| - d.addCallback(lambda res:
|
| - self.getAndCheck(self.baseurl+"foo.html",
|
| - "see me foo"))
|
| - d.addCallback(lambda res:
|
| - self.getAndCheck(self.baseurl+"subdir/bar.html",
|
| - "see me subdir/bar"))
|
| - return d
|
| -
|
| - def _check(self, res, suburl, substring, show=False):
|
| - d = self.getAndCheck(self.baseurl + suburl, substring, show)
|
| - return d
|
| -
|
| - def testPages(self):
|
| - extraconfig = """
|
| -ws = html.WebStatus(http_port=0)
|
| -c['status'] = [ws]
|
| -"""
|
| - self.startMaster(extraconfig)
|
| - d = defer.succeed(None)
|
| - d.addCallback(self._do_page_tests)
|
| - extraconfig2 = """
|
| -ws = html.WebStatus(http_port=0, allowForce=True)
|
| -c['status'] = [ws]
|
| -"""
|
| - d.addCallback(lambda res: self.reconfigMaster(extraconfig2))
|
| - d.addCallback(self._do_page_tests)
|
| - return d
|
| -
|
| - def _do_page_tests(self, res):
|
| - d = defer.succeed(None)
|
| - d.addCallback(self._check, "", "Welcome to the Buildbot")
|
| - d.addCallback(self._check, "waterfall", "current activity")
|
| - d.addCallback(self._check, "about", "Buildbot is a free software")
|
| - d.addCallback(self._check, "changes", "PBChangeSource listener")
|
| - d.addCallback(self._check, "buildslaves", "Build Slaves")
|
| - d.addCallback(self._check, "one_line_per_build",
|
| - "Last 20 finished builds")
|
| - d.addCallback(self._check, "one_box_per_builder", "Latest builds")
|
| - d.addCallback(self._check, "builders", "Builders")
|
| - d.addCallback(self._check, "builders/builder1", "Builder: builder1")
|
| - d.addCallback(self._check, "builders/builder1/builds", "") # dummy
|
| - # TODO: the pages beyond here would be great to test, but that would
|
| - # require causing a build to complete.
|
| - #d.addCallback(self._check, "builders/builder1/builds/1", "")
|
| - # it'd be nice to assert that the Build page has a "Stop Build" button
|
| - #d.addCallback(self._check, "builders/builder1/builds/1/steps", "")
|
| - #d.addCallback(self._check,
|
| - # "builders/builder1/builds/1/steps/compile", "")
|
| - #d.addCallback(self._check,
|
| - # "builders/builder1/builds/1/steps/compile/logs", "")
|
| - #d.addCallback(self._check,
|
| - # "builders/builder1/builds/1/steps/compile/logs/stdio","")
|
| - #d.addCallback(self._check,
|
| - # "builders/builder1/builds/1/steps/compile/logs/stdio/text", "")
|
| - return d
|
| -
|
|
|