Пример #1
0
    def test_extract_basedir_unicode(self):
        tacfile = textwrap.dedent("""\
            # AUTOMATICALLY GENERATED - DO NOT MODIFY
            # generated: Tue Feb  8 16:32:01 2011 on euclid.r.igoro.us
            from twisted.application import service
            from buildbot.slave.bot import BuildSlave
            from twisted.python.logfile import LogFile
            from twisted.python.log import ILogObserver, FileLogObserver

            maxdelay = 300
            buildmaster_host = None
            passwd = None
            maxRotatedFiles = None
            basedir = u'/builds/slave'
            umask = 002
            slavename = 'linux-ix-slave01'
            usepty = 1
            rotateLength = 1000000
            port = None
            keepalive = None

            application = service.Application('buildslave')
            logfile = LogFile.fromFullPath("twistd.log", rotateLength=rotateLength,
                                        maxRotatedFiles=maxRotatedFiles)
            application.setComponent(ILogObserver, FileLogObserver(logfile).emit)
            s = BuildSlave(buildmaster_host, port, slavename, passwd, basedir,
                        keepalive, usepty, umask=umask, maxdelay=maxdelay)
            s.setServiceParent(application)""")
        bt = runslave.BuildbotTac(self.make_options())
        self.assertEqual(bt.extract_basedir(tacfile), '/builds/slave')
Пример #2
0
 def test_guess_basedir_known_basedirs(self):
     bt = runslave.BuildbotTac(self.make_options())
     for basedir in self.known_basedirs:
         self.patch_os_path_exists(basedir)
         # pass a bogus hostname, so it falls back to os.path.exists
         self.assertEqual(bt.guess_basedir('randombox'), basedir,
                          "guess for %s" % basedir)
Пример #3
0
 def test_extract_basedir_raw(self):
     tacfile = textwrap.dedent("""\
         keepalive = None
         basedir = r'c:\\talos-slave'
         s.setServiceParent(application)""")
     bt = runslave.BuildbotTac(self.make_options())
     self.assertEqual(bt.extract_basedir(tacfile), r'c:\talos-slave')
Пример #4
0
 def test_extract_basedir_dblquote(self):
     tacfile = textwrap.dedent("""\
         keepalive = None
         basedir = "/builds/slave"
         s.setServiceParent(application)""")
     bt = runslave.BuildbotTac(self.make_options())
     self.assertEqual(bt.extract_basedir(tacfile), '/builds/slave')
Пример #5
0
 def test_get_basedir_cached(self):
     # if there are no options and extraction fails, use a guess
     bt = runslave.BuildbotTac(self.make_options())
     bt.extract_basedir = lambda page: None
     bt.guess_basedir = lambda slavename: '/guessed/basedir'
     self.assertEqual(bt.get_basedir(), '/guessed/basedir')
     bt.guess_basedir = lambda slavename: 'SHOULD NOT BE CALLED'
     self.assertEqual(bt.get_basedir(), '/guessed/basedir')
Пример #6
0
 def test_download_good_result_extract_basedir(self):
     bt = runslave.BuildbotTac(self.make_options(slavename='slave13'))
     bt.get_basedir = lambda : self.basedir
     self.patch_urlopen('http://allocator/slave13',
             textwrap.dedent("""\
                 # AUTOMATICALLY GENERATED - DO NOT MODIFY
                 basedir = %r """ % self.basedir))
     self.assertTrue(bt.download())
     self.assertTrue(os.path.exists(os.path.join(self.basedir, 'buildbot.tac')))
Пример #7
0
 def test_get_basedir_failure(self):
     # and if we completely strike out, raise an exception
     bt = runslave.BuildbotTac(self.make_options())
     bt.extract_basedir = lambda page: None
     bt.guess_basedir = lambda slavename: None
     self.assertRaises(runslave.NoBasedirError, lambda: bt.get_basedir())
Пример #8
0
 def test_get_basedir_extract(self):
     # extraction is used if the basedir option is not set
     bt = runslave.BuildbotTac(self.make_options())
     bt.extract_basedir = lambda page: '/extracted/basedir'
     bt.guess_basedir = lambda slavename: '/guessed/basedir'
     self.assertEqual(bt.get_basedir(), '/extracted/basedir')
Пример #9
0
 def test_get_basedir_options(self):
     # options are preferred
     bt = runslave.BuildbotTac(self.make_options(basedir='/given/basedir'))
     bt.extract_basedir = lambda page: '/extracted/basedir'
     bt.guess_basedir = lambda slavename: '/guessed/basedir'
     self.assertEqual(bt.get_basedir(), '/given/basedir')
Пример #10
0
 def test_download_bad_result(self):
     bt = runslave.BuildbotTac(self.make_options(slavename='slave13'))
     self.patch_urlopen('http://allocator/slave13', "this is not a tac")
     self.assertFalse(bt.download())
Пример #11
0
 def test_download_exception(self):
     bt = runslave.BuildbotTac(self.make_options(slavename='slave13'))
     self.patch_urlopen('http://allocator/slave13', raise_exc=True)
     self.assertFalse(bt.download())
Пример #12
0
 def test_guess_basedir_known_hostnames(self):
     bt = runslave.BuildbotTac(self.make_options())
     for hostname, basedir in self.known_hostname.iteritems():
         self.assertEqual(bt.guess_basedir(hostname), basedir)