Units that contain only `pragma No_Body;` should be ignored when
computing an Ada source closure: LibGPR2 assigns them no name (so
gnatcov could crash with an assertion failure), and they cannot have
dependencies anyway.
This allows passing to `gnatcov coverage` traces produced before the
addition of exemption annotations (or gnatcov-unrelated annotation) to
source code.
This commit also adapts `320-varying-scos` tests so that SCOS that are
supposed to be distinct get different column numbers, in order to
correctly exercise the "SCO fingerprint mismatch" behavior.
Following the update to GCC 15 on aarch64-elf, some tests started
misbehaving with -O1. XFAIL the tests while investigations and fixes
are made on the GCC side.
(cherry picked from commit 746e5d02b4)
Some testsuite runs on Windows are done in a directory whose name is
long enough for this group of tests to hit the 256 bytes limit for
filenames on Windows. Shorten this directory name to avoid this problem
in practice.
It seems that the `windows` discriminant is not always set on Windows
hosts (for instance: it is not set on `arm-elf-windows64` testsuite
runs), so use instead `linux-host`, which seems to be always set on all
Linux host, so that the `extra.opt` command is more in line with the
associated comment.
Various PLANS & TORVVCP updates
See merge request eng/das/cov/gnatcoverage-qualification!45
This MR updates the PLANS and TORVVCP documents in various ways:
* Relax restrictions on the allowed values for `--dump-trigger` and `--dump-channel` ;
* Allow use of `--insturment-block` in the `instrument` command, provided that no exceptions are handled and no exceptions occur at runtime;
* Remove erroneous description of the tool operating principle, and corresponding reference documents. These were leftovers from the binary traces qualification kit;
(cherry picked from commit 9a1878fdd2d5af73ee3c6691f7e86e36286c7ed0)
Address QA comments
See merge request eng/das/cov/gnatcoverage-qualification!40
This MR contains multiple commits addressing various comments raised during the first round of QA on the generated kit.
(cherry picked from commit 93fff75cecddb504ec2a1ce1dab3848e50ea7c4c)
Various qualkit updates
See merge request eng/das/cov/gnatcoverage-qualification!36
The modifications include:
* TOR: Refinements over the expected execution environment
* TOR: remove index entry definitions
* PLANS: Remove duplicate revision history section
(cherry picked from commit 772afba72ae4014b866562d04b6f3fd8c5f8d5dd)
Make `gnatcov instrument` refrain from instrumenting Ada source files
that GPRbuild would not compile when given the same project options. For
instance, do not instrument source files that belong to the root project
but which are not in the closure of GPR mains.
Adapt relevant existing testcases to accomodate this new behavior: this
makes source instrumentation behave mor like coverage with binary
traces.