Exemplo n.º 1
0
    def add_command(cls, commands):
        parser = commands.add_parser(
            "version",
            help="framework version report",
            epilog=epilog(),
            description=
            "Generate simple report that shows the framework version that was used.",
            formatter_class=HelpFormatter)

        parser.add_argument("input",
                            metavar="input",
                            type=argtype.file("r", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help="input log, default: stdin",
                            default="-")
        parser.add_argument("output",
                            metavar="output",
                            type=argtype.file("w", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help='output file, default: stdout',
                            default="-")

        parser.set_defaults(func=cls())
Exemplo n.º 2
0
    def add_command(cls, commands):
        parser = commands.add_parser("details",
                                     help="details",
                                     epilog=epilog(),
                                     description="Show details.",
                                     formatter_class=HelpFormatter)

        parser.add_argument("--name",
                            metavar="name",
                            type=str,
                            help="test name",
                            default="")
        parser.add_argument("--log",
                            metavar="input",
                            type=argtype.file("r", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help="input log, default: stdin",
                            default="-")
        parser.add_argument("--output",
                            metavar="output",
                            type=argtype.file("w", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help='output, default: stdout',
                            default="-")

        parser.set_defaults(func=cls())
Exemplo n.º 3
0
 def add_arguments(cls, parser):
     parser.add_argument("--log",
                         metavar="pattern",
                         type=argtype.logfile("r",
                                              bufsize=1,
                                              encoding="utf-8"),
                         nargs="+",
                         help="log file pattern",
                         required=True)
     parser.add_argument(
         "--log-link",
         metavar="attribute",
         help=
         "attribute that is used as a link for the log, default: job.url",
         type=str,
         default="job.url")
     parser.add_argument("--only",
                         metavar="pattern",
                         nargs="+",
                         help="compare only selected tests",
                         type=str,
                         required=False)
     parser.add_argument("--order-by",
                         metavar="attribute",
                         type=str,
                         help="attribute that is used to order the logs")
     parser.add_argument(
         "--sort",
         metavar="direction",
         type=str,
         help="sort direction. Either 'asc' or 'desc', default: asc",
         choices=["asc", "desc"],
         default="asc")
     parser.add_argument("--format",
                         metavar="type",
                         type=str,
                         help="output format, default: md (Markdown)",
                         choices=["md"],
                         default="md")
     parser.add_argument("output",
                         metavar="output",
                         type=argtype.file("w", bufsize=1,
                                           encoding="utf-8"),
                         nargs="?",
                         help='output file, default: stdout',
                         default="-")
     parser.add_argument("--copyright",
                         metavar="name",
                         help="add copyright notice",
                         type=str)
     parser.add_argument("--confidential",
                         help="mark as confidential",
                         action="store_true")
     parser.add_argument("--logo",
                         metavar="path",
                         type=argtype.file("rb"),
                         help='use logo image (.png)')
Exemplo n.º 4
0
    def add_command(cls, commands):
        parser = commands.add_parser("slick", help="slick transform", epilog=epilog(),
            description="Transform log into a slick format.",
            formatter_class=HelpFormatter)

        parser.add_argument("input", metavar="input", type=argtype.file("r", bufsize=1, encoding="utf-8"),
                nargs="?", help="input log, default: stdin", default="-")
        parser.add_argument("output", metavar="output", type=argtype.file("w", bufsize=1, encoding="utf-8"),
                nargs="?", help='output file, default: stdout', default="-")

        parser.set_defaults(func=cls())
Exemplo n.º 5
0
    def add_command(cls, commands):
        parser = commands.add_parser("toc", help="generate table of contents", epilog=epilog(),
            description="Genarate table of contents for a document.",
            formatter_class=HelpFormatter)

        parser.add_argument("input", metavar="input", type=argtype.file("r", bufsize=1, encoding="utf-8"),
                nargs="?", help="input file, default: stdin", default="-")
        parser.add_argument("output", metavar="output", type=argtype.file("w", bufsize=1, encoding="utf-8"),
                nargs="?", help='output file, default: stdout', default="-")

        parser.set_defaults(func=cls())
Exemplo n.º 6
0
    def add_command(cls, commands):
        parser = commands.add_parser("compact", help="compact transform", epilog=epilog(),
            description="Transform log into compact raw log containing only test results.",
            formatter_class=HelpFormatter)

        parser.add_argument("--with-steps", action="store_true", help="include test steps, default: False")
        parser.add_argument("input", metavar="input", type=argtype.file("r", bufsize=1, encoding="utf-8"),
                nargs="?", help="input log, default: stdin", default="-")
        parser.add_argument("output", metavar="output", type=argtype.file("w", bufsize=1, encoding="utf-8"),
                nargs="?", help='output file, default: stdout', default="-")

        parser.set_defaults(func=cls())
Exemplo n.º 7
0
    def add_command(cls, commands):
        parser = commands.add_parser("metrics",
                                     help="metrics report",
                                     epilog=epilog(),
                                     description="Generate metrics report.",
                                     formatter_class=HelpFormatter)

        parser.add_argument("input",
                            metavar="input",
                            type=argtype.logfile("r",
                                                 bufsize=1,
                                                 encoding="utf-8"),
                            nargs="?",
                            help="input log, default: stdin",
                            default="-")
        parser.add_argument("output",
                            metavar="output",
                            type=argtype.file("w", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help='output file, default: stdout',
                            default="-")
        parser.add_argument(
            "--format",
            metavar="type",
            type=str,
            help="output format choices: 'openmetrics', default: openmetrics",
            choices=["openmetrics"],
            default="openmetrics")

        parser.set_defaults(func=cls())
Exemplo n.º 8
0
    def add_command(cls, commands):
        parser = commands.add_parser("traceability", help="requirements traceability report", epilog=epilog(),
            description="Generate requirements traceability report.",
            formatter_class=HelpFormatter)

        parser.add_argument("input", metavar="input", type=argtype.logfile("r", bufsize=1, encoding="utf-8"),
                nargs="?", help="input log, default: stdin", default="-")
        parser.add_argument("output", metavar="output", type=argtype.file("w", bufsize=1, encoding="utf-8"),
                nargs="?", help='output file, default: stdout', default="-")
        parser.add_argument("--copyright", metavar="name", help="add copyright notice", type=str)
        parser.add_argument("--confidential", help="mark as confidential", action="store_true")
        parser.add_argument("--logo", metavar="path", type=argtype.file("rb"),
                help='use logo image (.png)')
        parser.add_argument("--title", metavar="name", help="custom title", type=str)

        parser.set_defaults(func=cls())
Exemplo n.º 9
0
    def add_command(cls, commands):
        parser = commands.add_parser("results", help="results report", epilog=epilog(),
            description="Generate results report.",
            formatter_class=HelpFormatter)

        parser.add_argument("input", metavar="input", type=argtype.logfile("r", bufsize=1, encoding="utf-8"),
                nargs="?", help="input log, default: stdin", default="-")
        parser.add_argument("output", metavar="output", type=argtype.file("w", bufsize=1, encoding="utf-8"),
                nargs="?", help='output file, default: stdout', default="-")
        parser.add_argument("-a", "--artifacts", metavar="link", type=str, help='link to the artifacts')
        parser.add_argument("--format", metavar="type", type=str,
            help="output format choices: 'md', 'json', default: md (Markdown)", choices=["md", "json"], default="md")
        parser.add_argument("--copyright", metavar="name", help="add copyright notice", type=str)
        parser.add_argument("--confidential", help="mark as confidential", action="store_true")
        parser.add_argument("--logo", metavar="path", type=argtype.file("rb"),
                help='use logo image (.png)')
        parser.add_argument("--title", metavar="name", help="custom title", type=str)

        parser.set_defaults(func=cls())
Exemplo n.º 10
0
    def add_command(cls, commands):
        parser = commands.add_parser("decompress", help="decompress transform", epilog=epilog(),
            description="Transform file into a decompressed format.",
            formatter_class=HelpFormatter)

        parser.add_argument("input", metavar="input", type=argtype.logfile("rb"),
                nargs="?", help="input file, default: stdin", default="-")
        parser.add_argument("output", metavar="output", type=argtype.file("wb"),
                nargs="?", help='output file, default: stdout', default="-")

        parser.set_defaults(func=cls())
Exemplo n.º 11
0
    def add_command(cls, commands):
        parser = commands.add_parser("fails", help="fails transform", epilog=epilog(),
            description="Transform log into a fails summary format.",
            formatter_class=HelpFormatter)

        parser.add_argument("input", metavar="input", type=argtype.logfile("r", bufsize=1, encoding="utf-8"),
                nargs="?", help="input log, default: stdin", default="-")
        parser.add_argument("output", metavar="output", type=argtype.file("w", bufsize=1, encoding="utf-8"),
                nargs="?", help="output file, default: stdout", default="-")
        parser.add_argument("-n", "--new", action="store_true", help="show only new fails", default=False)

        parser.set_defaults(func=cls())
Exemplo n.º 12
0
    def add_command(cls, commands):
        parser = commands.add_parser(
            "srs-coverage",
            help="SRS (Software Requirements Specification) coverage report",
            epilog=epilog(),
            description=
            "Generate SRS (Software Requirements Specification) coverage report.",
            formatter_class=HelpFormatter)

        parser.add_argument("srs",
                            metavar="srs",
                            type=argtype.file("r", bufsize=1,
                                              encoding="utf-8"),
                            nargs=1,
                            help="source file")
        parser.add_argument("input",
                            metavar="input",
                            type=argtype.logfile("r",
                                                 bufsize=1,
                                                 encoding="utf-8"),
                            nargs="?",
                            help="input log, default: stdin",
                            default="-")
        parser.add_argument("output",
                            metavar="output",
                            type=argtype.file("w", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help='output file, default: stdout',
                            default="-")
        parser.add_argument("--only",
                            metavar="status",
                            type=str,
                            nargs="+",
                            help="verification status",
                            choices=["satisfied", "unsatisfied", "untested"],
                            default=["satisfied", "unsatisfied", "untested"])
        parser.set_defaults(func=cls())
Exemplo n.º 13
0
    def add_command(cls, commands):
        parser = commands.add_parser(
            "log",
            help="retrieve last temporary test log",
            epilog=epilog(),
            description="Retrieve last temporary test log.",
            formatter_class=HelpFormatter)

        parser.add_argument("output",
                            metavar="output",
                            type=argtype.file("wb"),
                            help='output file, stdout: \'-\'')

        parser.set_defaults(func=cls())
Exemplo n.º 14
0
    def add_command(cls, commands):
        parser = commands.add_parser("convert",
                                     help="convert document",
                                     epilog=epilog(),
                                     description="Convert markdown document.",
                                     formatter_class=HelpFormatter)

        parser.add_argument("input",
                            metavar="input",
                            type=argtype.file("r", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help="input file, default: stdin",
                            default="-")
        parser.add_argument("output",
                            metavar="output",
                            type=argtype.file("w", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help='output file, default: stdout',
                            default="-")
        parser.add_argument("-f",
                            "--format",
                            metavar="format",
                            type=str,
                            help="format, default: html",
                            choices=["html"],
                            default="html")
        parser.add_argument("-s",
                            "--stylesheet",
                            metavar="css",
                            type=argtype.file("r", bufsize=1,
                                              encoding="utf-8"),
                            help="custom stylesheet",
                            default=stylesheet)

        parser.set_defaults(func=cls())
Exemplo n.º 15
0
    def add_command(cls, commands):
        parser = commands.add_parser(
            "fails",
            help="fails report",
            epilog=epilog(),
            description="Generate report showing only failed tests.",
            formatter_class=HelpFormatter)

        parser.add_argument("input",
                            metavar="input",
                            type=argtype.file("r", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help="input log, default: stdin",
                            default="-")
        parser.add_argument("output",
                            metavar="output",
                            type=argtype.file("w", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help='output file, default: stdout',
                            default="-")

        parser.set_defaults(func=cls())
Exemplo n.º 16
0
    def handle(self, args):
        ppid = os.getppid()

        found = False

        for file in sorted(glob.glob(
                os.path.join(templog_dirname(), templog_glob(ppid))),
                           reverse=True):
            match = templog_parser.match(file)
            if not match:
                continue

            found = True
            with argtype.file("rb")(file) as fd:
                args.output.write(fd.read())

            break

        if not found:
            raise FileNotFoundError("no test logs found")
Exemplo n.º 17
0
    def add_command(cls, commands):
        parser = commands.add_parser("messages",
                                     help="messages",
                                     epilog=epilog(),
                                     description="Show messages.",
                                     formatter_class=HelpFormatter)

        parser.add_argument("name",
                            metavar="name",
                            type=str,
                            help="test name",
                            default=".*?",
                            nargs="?")
        parser.add_argument("--log",
                            metavar="input",
                            type=argtype.logfile("r",
                                                 bufsize=1,
                                                 encoding="utf-8"),
                            nargs="?",
                            help="input log, default: stdin",
                            default="-")
        parser.add_argument("--output",
                            metavar="output",
                            type=argtype.file("w", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help='output, default: stdout',
                            default="-")
        format_choices = ["nice", "raw", "short", "slick"]
        parser.add_argument(
            "--format",
            "-f",
            metavar="name",
            type=str,
            choices=format_choices,
            default="nice",
            help=f"output format, choices are {format_choices}, default: nice")
        parser.set_defaults(func=cls())
Exemplo n.º 18
0
    def add_command(cls, commands):
        parser = commands.add_parser(
            "requirements-coverage",
            help="requirements coverage report",
            epilog=epilog(),
            description="Generate requirements coverage report.",
            formatter_class=HelpFormatter)

        parser.add_argument("requirements",
                            metavar="source",
                            type=str,
                            help="requirements source file")
        parser.add_argument("input",
                            metavar="input",
                            type=argtype.file("r", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help="input log, default: stdin",
                            default="-")
        parser.add_argument("output",
                            metavar="output",
                            type=argtype.file("w", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help='output file, default: stdout',
                            default="-")
        parser.add_argument(
            "--show",
            metavar="status",
            type=str,
            nargs="+",
            help=
            "verification status. Choices: 'satisfied', 'unsatisfied', 'untested'",
            choices=["satisfied", "unsatisfied", "untested"],
            default=["satisfied", "unsatisfied", "untested"])
        parser.add_argument(
            "--input-link",
            metavar="attribute",
            help=
            "attribute that is used as a link to the input log, default: job.url",
            type=str,
            default="job.url")
        parser.add_argument("--format",
                            metavar="type",
                            type=str,
                            help="output format, default: md (Markdown)",
                            choices=["md"],
                            default="md")
        parser.add_argument("--copyright",
                            metavar="name",
                            help="add copyright notice",
                            type=str)
        parser.add_argument("--confidential",
                            help="mark as confidential",
                            action="store_true")
        parser.add_argument("--logo",
                            metavar="path",
                            type=argtype.file("rb"),
                            help='use logo image (.png)')

        parser.set_defaults(func=cls())
Exemplo n.º 19
0
    def add_command(cls, commands):
        parser = commands.add_parser(
            "coverage",
            help="requirements coverage report",
            epilog=epilog(),
            description="Generate requirements coverage report.",
            formatter_class=HelpFormatter)

        parser.add_argument(
            "requirements",
            metavar="requirements",
            type=partial(argtype.path, special=["-"]),
            help="requirements source file, default: '-' (from input log)",
            nargs="?",
            default="-")
        parser.add_argument("input",
                            metavar="input",
                            type=argtype.logfile("r",
                                                 bufsize=1,
                                                 encoding="utf-8"),
                            nargs="?",
                            help="input log, default: stdin",
                            default="-")
        parser.add_argument("output",
                            metavar="output",
                            type=argtype.file("w", bufsize=1,
                                              encoding="utf-8"),
                            nargs="?",
                            help='output file, default: stdout',
                            default="-")
        parser.add_argument(
            "--show",
            metavar="status",
            type=str,
            nargs="+",
            help=
            "verification status. Choices: 'satisfied', 'unsatisfied', 'untested'",
            choices=["satisfied", "unsatisfied", "untested"],
            default=["satisfied", "unsatisfied", "untested"])
        parser.add_argument(
            "--input-link",
            metavar="attribute",
            help=
            "attribute that is used as a link to the input log, default: job.url",
            type=str,
            default="job.url")
        parser.add_argument("--format",
                            metavar="type",
                            type=str,
                            help="output format, default: md (Markdown)",
                            choices=["md"],
                            default="md")
        parser.add_argument("--copyright",
                            metavar="name",
                            help="add copyright notice",
                            type=str)
        parser.add_argument("--confidential",
                            help="mark as confidential",
                            action="store_true")
        parser.add_argument("--logo",
                            metavar="path",
                            type=argtype.file("rb"),
                            help='use logo image (.png)')
        parser.add_argument("--title",
                            metavar="name",
                            help="custom title",
                            type=str)
        parser.add_argument(
            "--only",
            metavar="name",
            type=str,
            default=[],
            nargs="+",
            help=
            ("name of one or more specifications for which to generate coverage report"
             ", default: include all specifications. Only a unique part of the name can be specified."
             ))

        parser.set_defaults(func=cls())