示例#1
0
def test_has_svn_change_source():
    BuildmasterConfig['change_source'].append(SVNPoller(svnurl='svn+ssh://test1.example.com'))
    BuildmasterConfig['change_source'].append(SVNPoller(svnurl='svn+ssh://test2.example.com'))

    assert has_svn_change_source('svn+ssh://test2.example.com')
    assert not has_svn_change_source('http://foobar.com')

    BuildmasterConfig['change_source'] = []
示例#2
0
 def test1(self):
     base = "svn+ssh://svn.twistedmatrix.com/svn/Twisted/trunk"
     s = SVNPoller(base + "/")
     self.failUnlessEqual(s.svnurl, base)  # certify slash-stripping
     prefix = s.determine_prefix(prefix_output)
     self.failUnlessEqual(prefix, "trunk")
     self.failUnlessEqual(s._prefix, prefix)
示例#3
0
    def testChanges(self):
        base = "file:///home/warner/stuff/Projects/BuildBot/trees/svnpoller/_trial_temp/test_vc/repositories/SVN-Repository/sample"
        s = SVNPoller(base, split_file=split_file)
        s._prefix = "sample"
        doc = s.parse_logs(make_changes_output(3))
        newlast, logentries = s._filter_new_logentries(doc, 1)
        # so we see revisions 2 and 3 as being new
        self.failUnlessEqual(newlast, 3)
        changes = s.create_changes(logentries)
        self.failUnlessEqual(len(changes), 2)
        self.failUnlessEqual(changes[0].branch, "branch")
        self.failUnlessEqual(changes[0].revision, '2')
        self.failUnlessEqual(changes[1].branch, "branch")
        self.failUnlessEqual(changes[1].files, ["main.c"])
        self.failUnlessEqual(changes[1].revision, '3')

        # and now pull in r4
        doc = s.parse_logs(make_changes_output(4))
        newlast, logentries = s._filter_new_logentries(doc, newlast)
        self.failUnlessEqual(newlast, 4)
        # so we see revision 4 as being new
        changes = s.create_changes(logentries)
        self.failUnlessEqual(len(changes), 1)
        self.failUnlessEqual(changes[0].branch, None)
        self.failUnlessEqual(changes[0].revision, '4')
        self.failUnlessEqual(changes[0].files, ["version.c"])
示例#4
0
 def testFirstTime(self):
     base = "file:///home/warner/stuff/Projects/BuildBot/trees/svnpoller/_trial_temp/test_vc/repositories/SVN-Repository/sample"
     s = SVNPoller(base, split_file=split_file)
     s._prefix = "sample"
     doc = s.parse_logs(make_changes_output(4))
     logentries = s.get_new_logentries(doc)
     # SVNPoller ignores all changes that happened before it was started
     self.failUnlessEqual(len(logentries), 0)
     self.failUnlessEqual(s.last_change, 4)
示例#5
0
    def watch(self, url, branch):
        repo_url = '%s/%s' % (url, branch)

        if not has_svn_change_source(repo_url):
            BuildmasterConfig['change_source'].append(SVNPoller(
                svnurl=repo_url,
                pollInterval=300 + randrange(0, 60),
                histmax=5))

        BuildmasterConfig['schedulers'].append(SingleBranchScheduler(
            name=scheduler_name(self, 'svn-' + hashify(repo_url)),
            treeStableTimer=60,
            builderNames=[self.name],
            change_filter=ChangeFilter(repository=repo_url)))
示例#6
0
    def test1(self):
        base = "file:///home/warner/stuff/Projects/BuildBot/trees/svnpoller/_trial_temp/test_vc/repositories/SVN-Repository/sample"
        s = SVNPoller(base)
        s._prefix = "sample"
        output = make_changes_output(4)
        doc = s.parse_logs(output)

        newlast, logentries = s._filter_new_logentries(doc, 4)
        self.failUnlessEqual(newlast, 4)
        self.failUnlessEqual(len(logentries), 0)

        newlast, logentries = s._filter_new_logentries(doc, 3)
        self.failUnlessEqual(newlast, 4)
        self.failUnlessEqual(len(logentries), 1)

        newlast, logentries = s._filter_new_logentries(doc, 1)
        self.failUnlessEqual(newlast, 4)
        self.failUnlessEqual(len(logentries), 3)

        newlast, logentries = s._filter_new_logentries(doc, None)
        self.failUnlessEqual(newlast, 4)
        self.failUnlessEqual(len(logentries), 0)
from buildbot.changes.gitpoller import GitPoller
from buildbot.changes.svnpoller import SVNPoller

####### CHANGESOURCES

sources = []

sources.append(
    SVNPoller(
        project="JaCoCo",
        svnurl=
        "http://eclemma.svn.sourceforge.net/svnroot/eclemma/jacoco/trunk",
        pollinterval=10 * 60))
示例#8
0
 def test2(self):
     base = "svn+ssh://svn.twistedmatrix.com/svn/Twisted"
     s = SVNPoller(base)
     self.failUnlessEqual(s.svnurl, base)
     prefix = s.determine_prefix(prefix_output_2)
     self.failUnlessEqual(prefix, "")
示例#9
0
 def test4(self):
     base = "file:///home/warner/stuff/Projects/BuildBot/trees/svnpoller/_trial_temp/test_vc/repositories/SVN-Repository/sample/trunk"
     s = SVNPoller(base)
     self.failUnlessEqual(s.svnurl, base)
     prefix = s.determine_prefix(prefix_output_4)
     self.failUnlessEqual(prefix, "sample/trunk")
示例#10
0
    if len(pieces) > 1 and pieces[0] == 'trunk':
        return (None, '/'.join(pieces[1:]))
    elif len(pieces) > 2 and pieces[0] == 'branches':
        return ('/'.join(pieces[0:2]), '/'.join(pieces[2:]))
    else:
        return None


from buildbot.changes.svnpoller import SVNPoller

c['change_source'] = []
c['change_source'].append(
    SVNPoller(
        svnurl=ea_svnurl,
        split_file=ea_split_file_branches,
        pollInterval=60,  # check every minute
        histmax=10,  # check up to 10 revisions
        revlinktmpl=
        "http://code.google.com/p/eathena-project/source/detail?r=%s"))

####### SCHEDULERS

# Configure the Schedulers, which decide how to react to incoming changes.  In this
# case, just kick off a 'runtests' build

from buildbot.schedulers.triggerable import Triggerable
from buildbot.schedulers.basic import AnyBranchScheduler
from buildbot.schedulers.forcesched import ForceScheduler
from buildbot.schedulers.trysched import Try_Userpass
from buildbot.changes import filter
示例#11
0
    "http://buildbot.schat.me/",
    'slavePortnum':
    9989,
    'slaves': [
        BuildSlave("lucid", schat_passwords.LUCID),
        BuildSlave("lucid64", schat_passwords.LUCID64),
        BuildSlave("win32", schat_passwords.WIN32),
        BuildSlave("macosx", schat_passwords.MACOSX),
        BuildSlave("master", schat_passwords.MASTER),
        BuildSlave("precise", schat_passwords.PRECISE),
        BuildSlave("precise64", schat_passwords.PRECISE64),
    ],
    'change_source': [
        SVNPoller(
            svnurl="https://schat.googlecode.com/svn",
            split_file=split_file_branches,
            pollinterval=60,
        ),
    ],
    'status': [
        html.WebStatus(
            http_port="tcp:8010:interface=127.0.0.1",
            authz=authz,
            revlink='http://code.google.com/p/schat/source/detail?r=%s'),
    ],
    'db': {
        'db_url': "sqlite:///state.sqlite",
    }
}

c['properties'] = {