Beispiel #1
0
    def test_result_parser_plugins(self):
        """Check basic result parser structure."""

        plugins.initialize_plugins(self.pav_cfg)

        regex = result_parsers.get_plugin('regex')

        plugins._reset_plugins()
Beispiel #2
0
    def _result_parsers_cmd(_, args, outfile=sys.stdout):

        if args.config:
            try:
                res_plugin = result_parsers.get_plugin(args.config)
            except result_parsers.ResultParserError:
                utils.fprint(
                    "Invalid result parser '{}'.".format(args.config),
                    color=utils.RED
                )
                return errno.EINVAL

            config_items = res_plugin.get_config_items()

            class Loader(yaml_config.YamlConfigLoader):
                ELEMENTS = config_items

            Loader().dump(sys.stdout)

        else:

            rps = []
            for rp_name in result_parsers.list_plugins():
                res_plugin = result_parsers.get_plugin(rp_name)
                desc = " ".join(res_plugin.__doc__.split())
                rps.append({
                    'name': rp_name,
                    'description': desc,
                    'path': res_plugin.path
                })

            fields = ['name', 'description']

            if args.verbose:
                fields.append('path')

            utils.draw_table(
                outfile,
                field_info={},
                fields=fields,
                rows=rps,
                title="Available Result Parsers"
            )
Beispiel #3
0
    def _result_parsers_cmd(self, _, args):
        """Show all the result parsers."""

        if args.config:
            try:
                res_plugin = result_parsers.get_plugin(args.config)
            except result_parsers.ResultParserError:
                output.fprint("Invalid result parser '{}'.".format(
                    args.config),
                              color=output.RED)
                return errno.EINVAL

            config_items = res_plugin.get_config_items()

            class Loader(yaml_config.YamlConfigLoader):
                """Loader for just a result parser's config."""
                ELEMENTS = config_items

            Loader().dump(self.outfile)

        else:

            rps = []
            for rp_name in result_parsers.list_plugins():
                res_plugin = result_parsers.get_plugin(rp_name)
                desc = " ".join(str(res_plugin.__doc__).split())
                rps.append({
                    'name': rp_name,
                    'description': desc,
                    'path': res_plugin.path
                })

            fields = ['name', 'description']

            if args.verbose:
                fields.append('path')

            output.draw_table(self.outfile,
                              field_info={},
                              fields=fields,
                              rows=rps,
                              title="Available Result Parsers")
Beispiel #4
0
    def test_result_parser_plugins(self):
        """Check basic result parser structure."""

        # Get an empty pavilion config and set some config dirs on it.
        pav_cfg = config.PavilionConfigLoader().load_empty()

        plugins.initialize_plugins(pav_cfg)

        # We're loading multiple directories of plugins - AT THE SAME TIME!
        pav_cfg.config_dirs = [
            os.path.join(self.TEST_DATA_ROOT, 'pav_config_dir')
        ]

        # We should have exactly one test plugin.
        self.assertEqual(len(result_parsers.list_plugins()), 1)

        regex = result_parsers.get_plugin('regex')

        plugins._reset_plugins()