コード例 #1
0
    def test_specific_dir_config(self):
        parser = posless.ArgumentParser(
            formatter_class=parserconf.FilteredHelpFormatter)
        parserconf.addargs(parser, config_dirname='foo')
        self._populate_parser(parser)
        args = parser.parse_args()

        suffix = os.path.join('foo', parserconf.DEFAULT_CONFIG_FILENAME)
        self.assertTrue(args.config_file.endswith(suffix), args.config_file)
コード例 #2
0
ファイル: simple_bxilogger.py プロジェクト: sarrautem/bxibase
# Please contact Bull S. A. S. for details about its license.
###############################################################################
"""
Simple program for unit tests of BXI Log Python library.
See testparserconf.py for details.
"""

import bxi.base.log as bxilog

import bxi.base.posless as posless
import bxi.base.parserconf as bxiparserconf

if __name__ == "__main__":

    parser = posless.ArgumentParser(
        description='Unit Testing ParserConf',
        formatter_class=bxiparserconf.FilteredHelpFormatter)
    bxiparserconf.addargs(parser)
    args = parser.parse_args()

    bxilog.panic("A panic message")
    bxilog.alert("An alert message")
    bxilog.critical("A critical message")
    bxilog.error("An error message")
    bxilog.warning("A warning message")
    bxilog.notice("A notice message")
    bxilog.output("An output message")
    bxilog.info("An info message")
    bxilog.debug("A debug message")
    bxilog.fine("A fine message")
    bxilog.trace("A trace message")
コード例 #3
0
ファイル: task.py プロジェクト: OpenBXI/bxiutil
                for node in nodes:
                    _LOGGER.warning("%s terminated with %s: %s", node, ret,
                                    task.node_buffer(node))

    if task.num_timeout():
        _LOGGER.warning("%d timeout reached: %s", task.num_timeout(),
                        ", ".join(task.iter_keys_timeout()))
        rc = 1

    return rc


if "__main__" == __name__:
    import bxi.base.posless as argparse

    PARSER = argparse.ArgumentParser()
    PARSER.add_argument("--timeout", "-t", default=5, type=int)
    PARSER.add_argument("--loglevel",
                        "-l",
                        default=":debug,bxi:output",
                        type=str)
    PARSER.add_argument("cmd", default="uname -r", type=str)
    PARSER.add_argument("--topo", type=str, default="")
    PARSER.add_argument("--nodes", "-w", type=str, default="")
    PARSER.add_argument("--no-remote", action="store_true", default=False)
    ARGS = PARSER.parse_args()

    bxilog.basicConfig(cfg_items=ARGS.loglevel)
    del ARGS.loglevel

    tasked(**vars(ARGS))
コード例 #4
0
    def test_def(self):
        # Hack around posless/argparse problem with argv parsing.
        SAVED_ARGV = sys.argv
        sys.argv = [sys.argv[0], '--config-dir', self.bxiconfigdir]
        parser = posless.ArgumentParser(
            formatter_class=parserconf.FilteredHelpFormatter)

        parserconf.addargs(parser, domain_name='bar')
        self._populate_parser(parser)
        args = parser.parse_args()

        suffix = os.path.join(self.bxiconfigdir,
                              parserconf.DEFAULT_CONFIG_FILENAME)
        self.assertTrue(args.config_file.endswith(suffix), args.config_file)
        self.assertEquals(args.variable, 'Default_Value')
        self.assertEquals(args.stuff, 'Default_stuff')

        bxilog.cleanup()
        fileconf = os.path.join(self.bxiconfigdir,
                                parserconf.DEFAULT_CONFIG_FILENAME)
        with open(fileconf, 'w') as f:
            f.write("""
[My Section]
    variable = 'foo'
""")
        parser = posless.ArgumentParser(
            formatter_class=parserconf.FilteredHelpFormatter)

        parserconf.addargs(parser, domain_name='bar')
        self._populate_parser(parser)
        args = parser.parse_args()

        self.assertEquals(os.path.basename(args.config_file),
                          parserconf.DEFAULT_CONFIG_FILENAME)
        self.assertEquals(args.variable, 'foo')
        self.assertEquals(args.stuff, 'Default_stuff')

        bxilog.cleanup()
        fileconf = os.path.join(self.bxiconfigdir, 'bar.conf')
        with open(fileconf, 'w') as f:
            f.write("""
[My Section]
    variable = 'bar'
""")
        parser = posless.ArgumentParser(
            formatter_class=parserconf.FilteredHelpFormatter)

        parserconf.addargs(parser, domain_name='bar')
        self._populate_parser(parser)
        args = parser.parse_args()

        self.assertEquals(args.config_file, fileconf)
        self.assertEquals(args.variable, 'bar')
        self.assertEquals(args.stuff, 'Default_stuff')

        bxilog.cleanup()
        fileconf = os.path.join(self.bxiconfigdir,
                                os.path.basename(sys.argv[0]) + '.conf')
        with open(fileconf, 'w') as f:
            f.write("""
[My Section]
    variable = 'baz'
""")
        parser = posless.ArgumentParser(
            formatter_class=parserconf.FilteredHelpFormatter)

        parserconf.addargs(parser, domain_name='bar')
        self._populate_parser(parser)
        args = parser.parse_args()

        self.assertEquals(args.config_file, fileconf)
        self.assertEquals(args.variable, 'baz')
        self.assertEquals(args.stuff, 'Default_stuff')

        bxilog.cleanup()
        fileconf = os.path.join(self.bxiconfigdir, 'specific.conf')
        with open(fileconf, 'w') as f:
            f.write("""
[My Section]
    variable = 'spec'
""")
        sys.argv = [sys.argv[0], '--config-file', fileconf]
        parser = posless.ArgumentParser(
            formatter_class=parserconf.FilteredHelpFormatter)

        parserconf.addargs(parser, domain_name='bar')
        self._populate_parser(parser)
        args = parser.parse_args()
        self.assertEquals(args.config_file, fileconf)
        self.assertEquals(args.variable, 'spec')
        self.assertEquals(args.stuff, 'Default_stuff')

        os.environ['VAR'] = 'env'
        bxilog.cleanup()
        parser = posless.ArgumentParser(
            formatter_class=parserconf.FilteredHelpFormatter)

        parserconf.addargs(parser, domain_name='bar')
        self._populate_parser(parser)
        args = parser.parse_args()
        self.assertEquals(args.config_file, fileconf)
        self.assertEquals(args.variable, 'env')
        self.assertEquals(args.stuff, 'Default_stuff')

        bxilog.cleanup()
        parser = posless.ArgumentParser(
            formatter_class=parserconf.FilteredHelpFormatter)
        sys.argv = [
            sys.argv[0], '--config-file', fileconf, '--variable',
            'command_line'
        ]
        parserconf.addargs(parser, domain_name='bar')
        self._populate_parser(parser)
        args = parser.parse_args()
        self.assertEquals(args.config_file, fileconf)
        self.assertEquals(args.variable, 'command_line')
        self.assertEquals(args.stuff, 'Default_stuff')

        sys.argv = SAVED_ARGV