Exemple #1
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)
Exemple #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)
Exemple #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
Exemple #4
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)
Exemple #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)
 def test_getConfigFileFromTac_fallback(self):
     """
     When L{getConfigFileFromTac} is passed a C{basedir}
     which doesn't contain a C{buildbot.tac},
     it returns C{master.cfg}
     """
     foundConfigFile = base.getConfigFileFromTac(basedir=self.basedir)
     self.assertEqual(foundConfigFile, 'master.cfg')
 def test_getConfigFileFromTac_fallback(self):
     """
     When L{getConfigFileFromTac} is passed a C{basedir}
     which doesn't contain a C{buildbot.tac},
     it returns C{master.cfg}
     """
     foundConfigFile = base.getConfigFileFromTac(basedir=self.basedir)
     self.assertEqual(foundConfigFile, "master.cfg")
 def test_getConfigFileFromTac_tacWithoutConfigFile(self):
     """
     When L{getConfigFileFromTac} is passed a C{basedir}
     containing a C{buildbot.tac}, but C{buildbot.tac} doesn't
     define C{configfile}, L{getConfigFileFromTac} returns C{master.cfg}
     """
     self._createBuildbotTac()
     foundConfigFile = base.getConfigFileFromTac(basedir=self.basedir)
     self.assertEqual(foundConfigFile, "master.cfg")
 def test_getConfigFileFromTac(self):
     """
     When L{getConfigFileFromTac} is passed a C{basedir}
     containing a C{buildbot.tac}, it reads the location
     of the config file from there.
     """
     self._createBuildbotTac("configfile='other.cfg'")
     foundConfigFile = base.getConfigFileFromTac(basedir=self.basedir)
     self.assertEqual(foundConfigFile, "other.cfg")
 def test_getConfigFileFromTac(self):
     """
     When L{getConfigFileFromTac} is passed a C{basedir}
     containing a C{buildbot.tac}, it reads the location
     of the config file from there.
     """
     self._createBuildbotTac("configfile='other.cfg'")
     foundConfigFile = base.getConfigFileFromTac(basedir=self.basedir)
     self.assertEqual(foundConfigFile, "other.cfg")
 def test_getConfigFileFromTac_tacWithoutConfigFile(self):
     """
     When L{getConfigFileFromTac} is passed a C{basedir}
     containing a C{buildbot.tac}, but C{buildbot.tac} doesn't
     define C{configfile}, L{getConfigFileFromTac} returns C{master.cfg}
     """
     self._createBuildbotTac()
     foundConfigFile = base.getConfigFileFromTac(basedir=self.basedir)
     self.assertEqual(foundConfigFile, 'master.cfg')
 def test_getConfigFileFromTac_usingFile(self):
     """
     Wehn L{getConfigFileFromTac} is passed a C{basedir}
     containing a C{buildbot.tac} which references C{__file__},
     that reference points to C{buildbot.tac}.
     """
     self._createBuildbotTac(textwrap.dedent("""
         from twisted.python.util import sibpath
         configfile = sibpath(__file__, "relative.cfg")
         """))
     foundConfigFile = base.getConfigFileFromTac(basedir=self.basedir)
     self.assertEqual(foundConfigFile, os.path.join(self.basedir, "relative.cfg"))
Exemple #13
0
def checkconfig(config):
    quiet = config.get('quiet')
    configFile = config.get('configFile')

    if os.path.isdir(configFile):
        basedir = configFile
        try:
            configFile = getConfigFileFromTac(basedir)
        except (SyntaxError, ImportError), e:
            if not quiet:
                print "Unable to load 'buildbot.tac' from '%s':" % basedir
                print e
            return 1
Exemple #14
0
def checkconfig(config):
    quiet = config.get('quiet')
    configFile = config.get('configFile', os.getcwd())

    if os.path.isdir(configFile):
        basedir = configFile
        try:
            configFile = getConfigFileFromTac(basedir)
        except (SyntaxError, ImportError), e:
            if not quiet:
                print "Unable to load 'buildbot.tac' from '%s':" % basedir
                print e
            return 1
def upgradeMaster(config, _noMonkey=False):
    if not _noMonkey:  # pragma: no cover
        monkeypatches.patch_all()

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

    os.chdir(config['basedir'])

    try:
        configFile = base.getConfigFileFromTac(config['basedir'])
    except (SyntaxError, ImportError), e:
        print "Unable to load 'buildbot.tac' from '%s':" % config['basedir']
        print e
        defer.returnValue(1)
        return
Exemple #16
0
def checkconfig(config):
    quiet = config.get('quiet')
    configFile = config.get('configFile', os.getcwd())

    if os.path.isdir(configFile):
        basedir = configFile
        try:
            configFile = getConfigFileFromTac(basedir, quiet=quiet)
        except Exception:
            if not quiet:
                # the exception is already printed in base.py
                print("Unable to load 'buildbot.tac' from '%s':" % basedir)
            return 1
    else:
        basedir = os.getcwd()

    return _loadConfig(basedir=basedir, configFile=configFile, quiet=quiet)
Exemple #17
0
def checkconfig(config):
    quiet = config.get('quiet')
    configFile = config.get('configFile', os.getcwd())

    if os.path.isdir(configFile):
        basedir = configFile
        try:
            configFile = getConfigFileFromTac(basedir)
        except (SyntaxError, ImportError) as e:
            if not quiet:
                print("Unable to load 'buildbot.tac' from '%s':" % basedir)
                print(e)
            return 1
    else:
        basedir = os.getcwd()

    return _loadConfig(basedir=basedir, configFile=configFile, quiet=quiet)
Exemple #18
0
def checkconfig(config):
    quiet = config.get("quiet")
    configFile = config.get("configFile", os.getcwd())

    if os.path.isdir(configFile):
        basedir = configFile
        try:
            configFile = getConfigFileFromTac(basedir)
        except (SyntaxError, ImportError) as e:
            if not quiet:
                print("Unable to load 'buildbot.tac' from '%s':" % basedir)
                print(e)
            return 1
    else:
        basedir = os.getcwd()

    return _loadConfig(basedir=basedir, configFile=configFile, quiet=quiet)
Exemple #19
0
def checkconfig(config):
    quiet = config.get('quiet')
    configFile = config.get('configFile', os.getcwd())

    if os.path.isdir(configFile):
        basedir = configFile
        try:
            configFile = getConfigFileFromTac(basedir, quiet=quiet)
        except Exception:
            if not quiet:
                # the exception is already printed in base.py
                print("Unable to load 'buildbot.tac' from '%s':" % basedir)
            return 1
    else:
        basedir = os.getcwd()

    return _loadConfig(basedir=basedir, configFile=configFile, quiet=quiet)
Exemple #20
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)
Exemple #21
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)