Example #1
0
def upgradeMaster(config, _noMonkey=False):
    if not _noMonkey:  # pragma: no cover
        monkeypatches.patch_all()

    if not base.checkBasedir(config):
        defer.returnValue(1)
        return

    os.chdir(config['basedir'])

    try:
        configFile = base.getConfigFileFromTac(config['basedir'])
    except (SyntaxError, ImportError) as e:
        print("Unable to load 'buildbot.tac' from '%s':" % config['basedir'])
        print(e)

        defer.returnValue(1)
        return
    master_cfg = base.loadConfig(config, configFile)
    if not master_cfg:
        defer.returnValue(1)
        return

    upgradeFiles(config)
    yield upgradeDatabase(config, master_cfg)

    if not config['quiet']:
        print("upgrade complete")

    defer.returnValue(0)
Example #2
0
def _cleanupDatabase(config, _noMonkey=False):

    if not base.checkBasedir(config):
        defer.returnValue(1)
        return

    config['basedir'] = os.path.abspath(config['basedir'])
    os.chdir(config['basedir'])

    with base.captureErrors((SyntaxError, ImportError),
                            "Unable to load 'buildbot.tac' from '%s':" %
                            (config['basedir'], )):
        configFile = base.getConfigFileFromTac(config['basedir'])

    with base.captureErrors(
            config_module.ConfigErrors, "Unable to load '%s' from '%s':" %
        (configFile, config['basedir'])):
        master_cfg = base.loadConfig(config, configFile)

    if not master_cfg:
        defer.returnValue(1)
        return

    yield doCleanupDatabase(config, master_cfg)

    if not config['quiet']:
        print("cleanup complete")

    defer.returnValue(0)
Example #3
0
def _cleanupDatabase(config, _noMonkey=False):

    if not base.checkBasedir(config):
        return 1

    config['basedir'] = os.path.abspath(config['basedir'])
    os.chdir(config['basedir'])

    with base.captureErrors(
        (SyntaxError, ImportError),
            f"Unable to load 'buildbot.tac' from '{config['basedir']}':"):
        configFile = base.getConfigFileFromTac(config['basedir'])

    with base.captureErrors(
            config_module.ConfigErrors,
            f"Unable to load '{configFile}' from '{config['basedir']}':"):
        master_cfg = base.loadConfig(config, configFile)

    if not master_cfg:
        return 1

    yield doCleanupDatabase(config, master_cfg)

    if not config['quiet']:
        print("cleanup complete")

    return 0
Example #4
0
def _cleanupDatabase(config, _noMonkey=False):

    if not base.checkBasedir(config):
        defer.returnValue(1)
        return

    config["basedir"] = os.path.abspath(config["basedir"])
    os.chdir(config["basedir"])

    with base.captureErrors(
        (SyntaxError, ImportError), "Unable to load 'buildbot.tac' from '%s':" % (config["basedir"],)
    ):
        configFile = base.getConfigFileFromTac(config["basedir"])

    with base.captureErrors(
        config_module.ConfigErrors, "Unable to load '%s' from '%s':" % (configFile, config["basedir"])
    ):
        master_cfg = base.loadConfig(config, configFile)

    if not master_cfg:
        defer.returnValue(1)
        return

    yield doCleanupDatabase(config, master_cfg)

    if not config["quiet"]:
        print("cleanup complete")

    defer.returnValue(0)
Example #5
0
def upgradeMaster(config, _noMonkey=False):
    if not _noMonkey:  # pragma: no cover
        monkeypatches.patch_all()

    if not base.checkBasedir(config):
        defer.returnValue(1)
        return

    os.chdir(config['basedir'])

    try:
        configFile = base.getConfigFileFromTac(config['basedir'])
    except (SyntaxError, ImportError) as e:
        print("Unable to load 'buildbot.tac' from '%s':" % config['basedir'])
        print(e)

        defer.returnValue(1)
        return
    master_cfg = base.loadConfig(config, configFile)
    if not master_cfg:
        defer.returnValue(1)
        return

    upgradeFiles(config)
    yield upgradeDatabase(config, master_cfg)

    if not config['quiet']:
        print("upgrade complete")

    defer.returnValue(0)
Example #6
0
 def test_loadConfig_exception(self):
     @classmethod
     def loadConfig(cls):
         raise RuntimeError()
     self.patch(config_module.FileLoader, 'loadConfig', loadConfig)
     cfg = base.loadConfig(mkconfig())
     self.assertIdentical(cfg, None)
     self.assertInStdout('RuntimeError')
Example #7
0
 def test_loadConfig_ConfigErrors(self):
     @classmethod
     def loadConfig(cls):
         raise config_module.ConfigErrors(['oh noes'])
     self.patch(config_module.FileLoader, 'loadConfig', loadConfig)
     cfg = base.loadConfig(mkconfig())
     self.assertIdentical(cfg, None)
     self.assertInStdout('oh noes')
Example #8
0
 def test_loadConfig(self):
     @classmethod
     def loadConfig(cls):
         return config_module.MasterConfig()
     self.patch(config_module.FileLoader, 'loadConfig', loadConfig)
     cfg = base.loadConfig(mkconfig())
     self.assertIsInstance(cfg, config_module.MasterConfig)
     self.assertInStdout('checking')
Example #9
0
 def test_loadConfig_exception(self):
     @classmethod
     def loadConfig(cls):
         raise RuntimeError()
     self.patch(config_master.FileLoader, 'loadConfig', loadConfig)
     cfg = base.loadConfig(mkconfig())
     self.assertIdentical(cfg, None)
     self.assertInStdout('RuntimeError')
Example #10
0
 def test_loadConfig_ConfigErrors(self):
     @classmethod
     def loadConfig(cls):
         raise config_master.ConfigErrors(['oh noes'])
     self.patch(config_master.FileLoader, 'loadConfig', loadConfig)
     cfg = base.loadConfig(mkconfig())
     self.assertIdentical(cfg, None)
     self.assertInStdout('oh noes')
Example #11
0
 def test_loadConfig(self):
     @classmethod
     def loadConfig(cls):
         return config_master.MasterConfig()
     self.patch(config_master.FileLoader, 'loadConfig', loadConfig)
     cfg = base.loadConfig(mkconfig())
     self.assertIsInstance(cfg, config_master.MasterConfig)
     self.assertInStdout('checking')
Example #12
0
 def test_loadConfig_exception(self):
     @classmethod
     def loadConfig(cls, basedir, filename):
         raise RuntimeError()
     self.patch(config_module.MasterConfig, 'loadConfig', loadConfig)
     cfg = base.loadConfig(mkconfig())
     self.assertIdentical(cfg, None)
     self.assertInStdout('RuntimeError')
Example #13
0
 def test_loadConfig_ConfigErrors(self):
     @classmethod
     def loadConfig(cls, basedir, filename):
         raise config_module.ConfigErrors(['oh noes'])
     self.patch(config_module.MasterConfig, 'loadConfig', loadConfig)
     cfg = base.loadConfig(mkconfig())
     self.assertIdentical(cfg, None)
     self.assertInStdout('oh noes')
Example #14
0
 def test_loadConfig(self):
     @classmethod
     def loadConfig(cls, basedir, filename):
         return config_module.MasterConfig()
     self.patch(config_module.MasterConfig, 'loadConfig', loadConfig)
     cfg = base.loadConfig(mkconfig())
     self.assertIsInstance(cfg, config_module.MasterConfig)
     self.assertInStdout('checking')
Example #15
0
def upgradeMaster(config, _noMonkey=False):
    if not _noMonkey:  # pragma: no cover
        monkeypatches.patch_all()

    if not base.checkBasedir(config):
        return defer.succeed(1)

    os.chdir(config["basedir"])

    try:
        configFile = base.getConfigFileFromTac(config["basedir"])
    except (SyntaxError, ImportError):
        print("Unable to load 'buildbot.tac' from '%s':" % config["basedir"], file=sys.stderr)
        e = traceback.format_exc()
        print(e, file=sys.stderr)
        return defer.succeed(1)
    master_cfg = base.loadConfig(config, configFile)
    if not master_cfg:
        return defer.succeed(1)
    return _upgradeMaster(config, master_cfg)
Example #16
0
def upgradeMaster(config, _noMonkey=False):
    if not _noMonkey:  # pragma: no cover
        monkeypatches.patch_all()

    if not base.checkBasedir(config):
        return defer.succeed(1)

    os.chdir(config['basedir'])

    try:
        configFile = base.getConfigFileFromTac(config['basedir'])
    except (SyntaxError, ImportError):
        print("Unable to load 'buildbot.tac' from '{}':".format(config['basedir'], file=sys.stderr))
        e = traceback.format_exc()
        print(e, file=sys.stderr)
        return defer.succeed(1)
    master_cfg = base.loadConfig(config, configFile)
    if not master_cfg:
        return defer.succeed(1)
    return _upgradeMaster(config, master_cfg)