Exemple #1
0
    def gen_envinfo(self, sepfile=None):

        if sepfile:
            self.rstf = RSTfile(sepfile)

        self.rstf.write(rest.chapter("Verification Environment"))

        self.gen_suite_environ()
        self.rstf.write("~\n")
        self.gen_suite_options()

        if sepfile:
            self.rstf.close()
Exemple #2
0
    def gen_tssummary(self, sepfile):

        if sepfile:
            self.rstf = RSTfile(sepfile)

        self.rstf.write(".. _tssummary:\n")

        self.rstf.write(rest.chapter("Testsuite Status summary"))

        RSTtable(title=None,
                 text="This table summarizes status and expectation counters "
                 "for each test category across the entire testsuite.  Please "
                 "refer to the :ref:`tctable` section of this report for an "
                 "explanation of the legend. ",
                 columns=self.sumcolumns(),
                 contents=self.sumcontents()).dump_to(self.rstf)

        if sepfile:
            self.rstf.close()
Exemple #3
0
    def gen_tctables(self, sepfile=None):

        if sepfile:
            self.rstf = RSTfile(sepfile)

        self.rstf.write(".. _tctable:\n")

        self.rstf.write(rest.chapter("Testcase Execution summary"))

        # Arrange to get a single description and legend followed by a set of
        # tables with data for each category.

        RSTtable(
            title=None,
            text=(
                "The following tables list all the testcases that were "
                "executed, with their execution status and a set of "
                "expectation counters."
                "\n\n"
                "*Expectations* there refer to expected coverage assessment "
                "diagnostics stated as embedded comments within the test "
                "sources. *Violations* refer to "
                "deviations with respect to a given coverage criterion, "
                "that tests trigger on purpose and which we *expect* the "
                "tool to detect. For example, a test arranging not to execute "
                "a specific statement triggers a statement coverage violation "
                "on purpose, which the tool must report for the test to pass. "
                "The `scv` counter for a testcase is then the number of "
                "such statement coverage violations, triggered by the tests "
                "executed for this testcase and that the testsuite harness "
                "has verified the tool did detect."
                "\n\n"
                "The possible test execution statuses are: "
                "*passed* when all the expectations were satisfied and no "
                "other violation was reported, *xfail* (expected failure) "
                "when the results reported by the tool don't conform to "
                "requirements for an understood and acknowledged reason, and "
                "*failed* otherwise."
                "\n\n"
                "The set of tables is partitioned according to "
                "language/coverage-criterion associations described by "
                "section titles. The text in square brackets at the end "
                "of each section title is a common prefix to the Testcase "
                "Identifier column, just not repeated on every line. These "
                "identifiers match those used in the TOR document so can "
                "be used to look up results from testcase descriptions or "
                "vice-versa."
                "\n\n"
                "A general summary of all the results is provided in the "
                ":ref:`tssummary` section of this report.\n"),
            columns=self.tccolumns(),
            contents=None,
        ).dump_to(self.rstf)

        [
            RSTtable(title=("%s tests [ %s/... ]" % (cat.name, cat.qmprefix)),
                     text=None,
                     columns=self.tccolumns(),
                     contents=[self.tcdict_for(qd)
                               for qd in cat.qdl]).dump_to(self.rstf)
            for cat in self.categories if cat.qdl and not cat.internal
        ]

        if sepfile:
            self.rstf.close()
Exemple #4
0
    def gen_index(self, sepfiles):

        self.rstf = RSTfile("index.rst")
        self.rstf.write(rest.chapter('GNATcoverage Software Test Results'))
        self.rstf.write(rest.toctree(sepfiles, depth=1))
        self.rstf.close()