[rtems-docs PATCH v2] user/testing: Add coverage analysis instructions

Gedare Bloom gedare at rtems.org
Mon Feb 3 23:26:46 UTC 2020


looks OK to me.

On Mon, Feb 3, 2020 at 3:06 AM Vijay Kumar Banerjee
<vijaykumar9597 at gmail.com> wrote:
>
> ---
>  user/testing/coverage.rst | 68 +++++++++++++++++++++++++++++++++++++++
>  user/testing/index.rst    |  1 +
>  2 files changed, 69 insertions(+)
>  create mode 100644 user/testing/coverage.rst
>
> diff --git a/user/testing/coverage.rst b/user/testing/coverage.rst
> new file mode 100644
> index 0000000..4f2266e
> --- /dev/null
> +++ b/user/testing/coverage.rst
> @@ -0,0 +1,68 @@
> +.. SPDX-License-Identifier: CC-BY-SA-4.0
> +
> +.. Copyright (C) 2019 Vijay Kumar Banerjee <vijaykumar9597 at gmail.com>
> +
> +Coverage Analysis
> +=================
> +
> +RTEMS is used in many critical systems. It is important that the RTEMS Project
> +ensure that the RTEMS product is tested as thoroughly as possible. With this
> +goal in mind, the RTEMS test suite was expanded with the goal that 100% of the
> +RTEMS executive is tested.
> +
> +RTEMS-TESTER takes the following arguments to produce coverage reports:
> +
> +`--coverage :`
> +    When the coverage option is enabled the tester produces coverage reports for
> +    all the symbols in cpukit. To generate a coverage report for a specific
> +    symbol-set ( e.g.: score) the symbol-set is passed as an argument to the
> +    option, e.g.: --coverage=score.
> +
> +`--no-clean :`
> +    Tells the script not to delete the .cov trace files generated while running
> +    the coverage. These trace files are used for debugging purposes and will not
> +    be needed for a normal user.
> +
> +For example: To generate a coverage report of hello.exe for leon3 on SIS, the
> +following command is used:
> +
> +.. code-block:: none
> +
> +    rtems-test \
> +    --rtems-tools=$HOME/development/rtems/5 \
> +    --log=coverage_analysis.log \
> +    --no-clean \
> +    --coverage \
> +    --rtems-bsp=leon3-sis-cov \
> +    $HOME/development/rtems/kernel/leon3/sparc-rtems5/c/leon3/testsuites/samples/hello.exe
> +
> +The command will create the coverage report in the following tree structure:
> +
> +.. code-block:: none
> +
> +    ├── coverage_analysis.log
> +    ├── leon3-sis-coverage
> +    │   └── score
> +    │       ├── annotated.html
> +    │       ├── annotated.txt
> +    │       ├── branch.html
> +    │       ├── branch.txt
> +    │       ├── covoar.css
> +    │       ├── ExplanationsNotFound.txt
> +    │       ├── index.html
> +    │       ├── no_range_uncovered.html
> +    │       ├── no_range_uncovered.txt
> +    │       ├── NotReferenced.html
> +    │       ├── sizes.html
> +    │       ├── sizes.txt
> +    │       ├── summary.txt
> +    │       ├── symbolSummary.html
> +    │       ├── symbolSummary.txt
> +    │       ├── table.js
> +    │       ├── uncovered.html
> +    │       └── uncovered.txt
> +    └── leon3-sis-report.html
> +
> +The html on top of the directory, i.e., leon3-sis-report.html is the top level
> +navigation for the coverage analysis report and will let the user browse through
> +all the generated reports from different subsystems.
> diff --git a/user/testing/index.rst b/user/testing/index.rst
> index a938af4..3d36fab 100644
> --- a/user/testing/index.rst
> +++ b/user/testing/index.rst
> @@ -43,6 +43,7 @@ extension.
>
>     tests
>     configuration
> +   coverage
>     consoles
>     simulation
>     gdb-jtag
> --
> 2.21.1
>


More information about the devel mailing list