Index: third_party/buildbot_7_12/buildbot/test/test_changes.py |
diff --git a/third_party/buildbot_7_12/buildbot/test/test_changes.py b/third_party/buildbot_7_12/buildbot/test/test_changes.py |
deleted file mode 100644 |
index 42d47e651504f757975af2c51a0545f04f302ca6..0000000000000000000000000000000000000000 |
--- a/third_party/buildbot_7_12/buildbot/test/test_changes.py |
+++ /dev/null |
@@ -1,247 +0,0 @@ |
-# -*- test-case-name: buildbot.test.test_changes -*- |
- |
-from twisted.trial import unittest |
-from twisted.internet import defer, reactor |
- |
-from buildbot import master |
-from buildbot.changes import pb |
-from buildbot.scripts import runner |
- |
-import sys |
-if sys.version_info[:3] < (2,4,0): |
- from sets import Set as set |
- |
-d1 = {'files': ["Project/foo.c", "Project/bar/boo.c"], |
- 'who': "marvin", |
- 'comments': "Some changes in Project"} |
-d2 = {'files': ["OtherProject/bar.c"], |
- 'who': "zaphod", |
- 'comments': "other changes"} |
-d3 = {'files': ["Project/baz.c", "OtherProject/bloo.c"], |
- 'who': "alice", |
- 'comments': "mixed changes"} |
-d4 = {'files': ["trunk/baz.c", "branches/foobranch/foo.c", "trunk/bar.c"], |
- 'who': "alice", |
- 'comments': "mixed changes"} |
-d5 = {'files': ["Project/foo.c"], |
- 'who': "trillian", |
- 'comments': "Some changes in Project", |
- 'category': "categoryA"} |
- |
-class TestChangePerspective(unittest.TestCase): |
- |
- def setUp(self): |
- self.changes = [] |
- |
- def addChange(self, c): |
- self.changes.append(c) |
- |
- def testNoPrefix(self): |
- p = pb.ChangePerspective(self, None) |
- p.perspective_addChange(d1) |
- self.failUnlessEqual(len(self.changes), 1) |
- c1 = self.changes[0] |
- self.failUnlessEqual(set(c1.files), |
- set(["Project/foo.c", "Project/bar/boo.c"])) |
- self.failUnlessEqual(c1.comments, "Some changes in Project") |
- self.failUnlessEqual(c1.who, "marvin") |
- |
- def testPrefix(self): |
- p = pb.ChangePerspective(self, "Project/") |
- |
- p.perspective_addChange(d1) |
- self.failUnlessEqual(len(self.changes), 1) |
- c1 = self.changes[-1] |
- self.failUnlessEqual(set(c1.files), set(["foo.c", "bar/boo.c"])) |
- self.failUnlessEqual(c1.comments, "Some changes in Project") |
- self.failUnlessEqual(c1.who, "marvin") |
- |
- p.perspective_addChange(d2) # should be ignored |
- self.failUnlessEqual(len(self.changes), 1) |
- |
- p.perspective_addChange(d3) # should ignore the OtherProject file |
- self.failUnlessEqual(len(self.changes), 2) |
- |
- c3 = self.changes[-1] |
- self.failUnlessEqual(set(c3.files), set(["baz.c"])) |
- self.failUnlessEqual(c3.comments, "mixed changes") |
- self.failUnlessEqual(c3.who, "alice") |
- |
- def testPrefix2(self): |
- p = pb.ChangePerspective(self, "Project/bar/") |
- |
- p.perspective_addChange(d1) |
- self.failUnlessEqual(len(self.changes), 1) |
- c1 = self.changes[-1] |
- self.failUnlessEqual(set(c1.files), set(["boo.c"])) |
- self.failUnlessEqual(c1.comments, "Some changes in Project") |
- self.failUnlessEqual(c1.who, "marvin") |
- |
- p.perspective_addChange(d2) # should be ignored |
- self.failUnlessEqual(len(self.changes), 1) |
- |
- p.perspective_addChange(d3) # should ignore this too |
- self.failUnlessEqual(len(self.changes), 1) |
- |
- def testPrefix3(self): |
- p = pb.ChangePerspective(self, "trunk/") |
- |
- p.perspective_addChange(d4) |
- self.failUnlessEqual(len(self.changes), 1) |
- c1 = self.changes[-1] |
- self.failUnlessEqual(set(c1.files), set(["baz.c", "bar.c"])) |
- self.failUnlessEqual(c1.comments, "mixed changes") |
- |
- def testPrefix4(self): |
- p = pb.ChangePerspective(self, "branches/foobranch/") |
- |
- p.perspective_addChange(d4) |
- self.failUnlessEqual(len(self.changes), 1) |
- c1 = self.changes[-1] |
- self.failUnlessEqual(set(c1.files), set(["foo.c"])) |
- self.failUnlessEqual(c1.comments, "mixed changes") |
- |
- def testCategory(self): |
- p = pb.ChangePerspective(self, None) |
- p.perspective_addChange(d5) |
- self.failUnlessEqual(len(self.changes), 1) |
- c1 = self.changes[0] |
- self.failUnlessEqual(c1.category, "categoryA") |
- |
-config_empty = """ |
-BuildmasterConfig = c = {} |
-c['slaves'] = [] |
-c['builders'] = [] |
-c['schedulers'] = [] |
-c['slavePortnum'] = 0 |
-""" |
- |
-config_sender = config_empty + \ |
-""" |
-from buildbot.changes import pb |
-c['change_source'] = pb.PBChangeSource(port=None) |
-""" |
- |
-class Sender(unittest.TestCase): |
- def setUp(self): |
- self.master = master.BuildMaster(".") |
- def tearDown(self): |
- d = defer.maybeDeferred(self.master.stopService) |
- # TODO: something in Twisted-2.0.0 (and probably 2.0.1) doesn't shut |
- # down the Broker listening socket when it's supposed to. |
- # Twisted-1.3.0, and current SVN (which will be post-2.0.1) are ok. |
- # This iterate() is a quick hack to deal with the problem. I need to |
- # investigate more thoroughly and find a better solution. |
- d.addCallback(self.stall, 0.1) |
- return d |
- |
- def stall(self, res, timeout): |
- d = defer.Deferred() |
- reactor.callLater(timeout, d.callback, res) |
- return d |
- |
- def testSender(self): |
- self.master.loadConfig(config_empty) |
- self.master.startService() |
- # TODO: BuildMaster.loadChanges replaces the change_svc object, so we |
- # have to load it twice. Clean this up. |
- d = self.master.loadConfig(config_sender) |
- d.addCallback(self._testSender_1) |
- return d |
- |
- def _testSender_1(self, res): |
- self.cm = cm = self.master.change_svc |
- s1 = list(self.cm)[0] |
- port = self.master.slavePort._port.getHost().port |
- |
- self.options = {'username': "alice", |
- 'master': "localhost:%d" % port, |
- 'files': ["foo.c"], |
- 'category': "categoryA", |
- } |
- |
- d = runner.sendchange(self.options) |
- d.addCallback(self._testSender_2) |
- return d |
- |
- def _testSender_2(self, res): |
- # now check that the change was received |
- self.failUnlessEqual(len(self.cm.changes), 1) |
- c = self.cm.changes.pop() |
- self.failUnlessEqual(c.who, "alice") |
- self.failUnlessEqual(c.files, ["foo.c"]) |
- self.failUnlessEqual(c.comments, "") |
- self.failUnlessEqual(c.revision, None) |
- self.failUnlessEqual(c.category, "categoryA") |
- |
- self.options['revision'] = "r123" |
- self.options['comments'] = "test change" |
- |
- d = runner.sendchange(self.options) |
- d.addCallback(self._testSender_3) |
- return d |
- |
- def _testSender_3(self, res): |
- self.failUnlessEqual(len(self.cm.changes), 1) |
- c = self.cm.changes.pop() |
- self.failUnlessEqual(c.who, "alice") |
- self.failUnlessEqual(c.files, ["foo.c"]) |
- self.failUnlessEqual(c.comments, "test change") |
- self.failUnlessEqual(c.revision, "r123") |
- self.failUnlessEqual(c.category, "categoryA") |
- |
- # test options['logfile'] by creating a temporary file |
- logfile = self.mktemp() |
- f = open(logfile, "wt") |
- f.write("longer test change") |
- f.close() |
- self.options['comments'] = None |
- self.options['logfile'] = logfile |
- |
- d = runner.sendchange(self.options) |
- d.addCallback(self._testSender_4) |
- return d |
- |
- def _testSender_4(self, res): |
- self.failUnlessEqual(len(self.cm.changes), 1) |
- c = self.cm.changes.pop() |
- self.failUnlessEqual(c.who, "alice") |
- self.failUnlessEqual(c.files, ["foo.c"]) |
- self.failUnlessEqual(c.comments, "longer test change") |
- self.failUnlessEqual(c.revision, "r123") |
- self.failUnlessEqual(c.category, "categoryA") |
- |
- # make sure that numeric revisions work too |
- self.options['logfile'] = None |
- del self.options['revision'] |
- self.options['revision_number'] = 42 |
- |
- d = runner.sendchange(self.options) |
- d.addCallback(self._testSender_5) |
- return d |
- |
- def _testSender_5(self, res): |
- self.failUnlessEqual(len(self.cm.changes), 1) |
- c = self.cm.changes.pop() |
- self.failUnlessEqual(c.who, "alice") |
- self.failUnlessEqual(c.files, ["foo.c"]) |
- self.failUnlessEqual(c.comments, "") |
- self.failUnlessEqual(c.revision, 42) |
- self.failUnlessEqual(c.category, "categoryA") |
- |
- # verify --branch too |
- self.options['branch'] = "branches/test" |
- |
- d = runner.sendchange(self.options) |
- d.addCallback(self._testSender_6) |
- return d |
- |
- def _testSender_6(self, res): |
- self.failUnlessEqual(len(self.cm.changes), 1) |
- c = self.cm.changes.pop() |
- self.failUnlessEqual(c.who, "alice") |
- self.failUnlessEqual(c.files, ["foo.c"]) |
- self.failUnlessEqual(c.comments, "") |
- self.failUnlessEqual(c.revision, 42) |
- self.failUnlessEqual(c.branch, "branches/test") |
- self.failUnlessEqual(c.category, "categoryA") |