• Felix Lechner's avatar
    Remove empty Test-Against: statements in test descriptions. · 5292931c
    Felix Lechner authored
    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
    5292931c
Name
Last commit
Last update
checks Loading commit data...
collection Loading commit data...
commands Loading commit data...
data Loading commit data...
debian Loading commit data...
doc Loading commit data...
frontend Loading commit data...
helpers/coll Loading commit data...
lib Loading commit data...
mail-templates Loading commit data...
man Loading commit data...
private Loading commit data...
profiles Loading commit data...
reporting Loading commit data...
t Loading commit data...
tags Loading commit data...
vendors Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
.mailmap Loading commit data...
.perlcriticrc Loading commit data...
.perltidyrc Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
COPYING Loading commit data...
README.md Loading commit data...