5292931c
by Felix Lechner
at 2019-08-13T04:12:06Z
Remove empty Test-Against: statements in test descriptions.
These statements have an effect only during test selection. The normal
course of action should be, after editing a check, to use the check:
selector to ensure your changes work as expected.
You can also use the tag: selector, but that normally just invokes
check: for the check the tag belongs to. Since the other tags in the
check could interact with your selected tag, there is a reasonable
assumption that they might interfere. To locate false positives, it is
therefore best to run all related tests.
The Test-Against: statements change that behavior. They are a holdover
from when the test suite was focused on tags rather than checks. In an
ideal situation, tests are specific to one tag and checks group only
narrowly related tags. (Broad checks like 'files' and unfocused tests
like 'manpages-general' are antithetical to the new design.) The
Test-Against statements change which tests are run when a tag: is
selected. That is all they do.
Broad checks like 'files' group many unrelated tags. The tests
intended for them are usually, but not always, a bit narrower. A
Test-Against: statement says that the test at hand is a good indicator
for false positives only for the listed tags. It prevents the test
from running to find false positives for tags that do not appear in
either 'tags' or Test-Against.
The author would prefer to remove all Test-Against: statements. For
that to happen, broad checks must be split into smaller pieces. An
example would be to remove nodejs-related tags from the check 'files'.
During that effort, Test-Against statements can be helpful to identify
related tags. That's why Test-Against: is still around.
Empty Test-Against statements do not serve that purpose. They only
prevent tests from being run to look for false positive for tags other
then the small subset calculated above. Without it, all tests are run
if they relate to the check the selected tag is in. Removing
Test-Against simply results in more tests being run when the tag:
selector is used. They do nothing else.
Unfortunately, the content of the Test-Against: statements was never
properly verified. The semantics are unclear perhaps to anyone except
the auther. The field is also of limited utility. Finally, the field's
function is not what people may think from looking at old surviving
documentation. The fields should go away when possible.
We are keeping Test-Against: fields that have values so they can aid
in debulking broad checks. The empty statements are herewith deleted.
Gbp-Dch: ignore