1. 14 Aug, 2019 6 commits
  2. 13 Aug, 2019 2 commits
    • Felix Lechner's avatar
      Acknowledge prior breakage due to new separate tags layout in d/control. · 06cddaef
      Felix Lechner authored
      The tags layout in separate files broke custom profiles in other
      packages. The packages pkg-perl-tools and pkg-js-tools use custom
      profiles that no longer work with recent version of Lintian.
      The reason is the separation of tags from checks in commit 083e8396
      and others.
      Both packages adjusted their custom profiles in recent uploads.
      Acknowledges the prior breakage in d/control.
      Please see Bug#934100 and Bug#934144 for details.
      Gbp-Dch: ignore
    • 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
  3. 11 Aug, 2019 4 commits
    • Felix Lechner's avatar
      Attempt to fix irregular HTML display of package matlab-gdf in HTML output. (Re. #907425) · 348a9237
      Felix Lechner authored
      As lamby pointed out, the package matlab-gdf that gave rise to the bug
      belongs to the section 'contrib/science'. The section is somewhat
      unusual because it uses a slash.
      No slash was present in the HTML page source (as one might expect for
      an unescaped character) and the output looked a little different from
      what was reported in the bug. (The version and the section were both
      absent.)  Nonetheless, this patch seemed like a reasonable attempt to
      resolve the bug. It is supposed to escape forward slashes to the HTML
      sequence '/' but it is untested.
      It looks like the archive component for individual packages runs
      through the routine html_quote, which is changed here, before being
      passed to Text::Template:
      This commit may or may not close the bug. It needs to be tested.
      Gbp-Dch: ignore
    • Felix Lechner's avatar
      Abort lintian when tag definition is missing a 'Check:' stanza. · 26240c00
      Felix Lechner authored
      The field 'Check' in tag definitions is new and mandatory, but the
      enforcing script t/scripts/tags/desc_fields.t does not run early
      enough to prevent problems even in other scripts (vs. tag-related
      tests). A proper solution requires a re-ordering of test scripts.
      As a start, this aborts Lintian and emits a meaningful error message.
      Gbp-Dch: ignore
    • Felix Lechner's avatar
      Fix instructions on how to run the test suite. · 379ce51f
      Felix Lechner authored
      This does not bring the documentation in line with all recent changes,
      but will hopefully avoid the worst vitriol from readers for its poor
      Fixes the instructions on how to run the test suite.
      Also marks the tutorials for writing tests and checks as out of date.
      Gbp-Dch: ignore
    • Chris Lamb's avatar
      Remove "busses" as a false-positive plural for "bus". Thanks to Jörg... · e6312df8
      Chris Lamb authored
      Remove "busses" as a false-positive plural for "bus". Thanks to Jörg Frings-Fürst for the report. (Closes: #934452)
  4. 08 Aug, 2019 2 commits
  5. 06 Aug, 2019 3 commits
  6. 05 Aug, 2019 2 commits
    • Felix Lechner's avatar
      Proper fix for the null improperly addressed by commit d55f56ec. · 1283833e
      Felix Lechner authored
      Thanks to Guilhem Moulin for the fix!
      Gbp-Dch: ignore
    • Felix Lechner's avatar
      Revert "Fix use of uninitialized value in checks/files.pm." · 244f7624
      Felix Lechner authored
      This reverts commit d55f56ec.
      Commit d55f56ec broke the following semantics:
        $ perl -we 'my $p = "usr/sbin/foo"; print "/$1bin/$2\n" if $p =~ m,^(usr/)?sbin/(.+),;'
        $ perl -we 'my $p = "sbin/foo"; print "/$1bin/$2\n" if $p =~ m,^(usr/)?sbin/(.+),;'
        Use of uninitialized value $1 in concatenation (.) or string at -e line 1.
      So if $fname starts with usr/sbin/ (resp. sbin/) a corresponding name
      with the /usr/bin/ (resp. /bin/) prefix is appended to @bin_binaries.
      It also spews a warning for sbin/; I guess the desired outcome is to
      silence that warning but preserve the overall behavior, right?  This
      is no longer what happens: while names starting with usr/sbin/ are
      dealt with like before, those starting with sbin/ are now ignored.
      More information may be available here:
        lintian/lintian!235 (comment 100475)
      Thanks to Guilhem Moulin for pointing it out!
      Gbp-Dch: ignore
  7. 04 Aug, 2019 5 commits
    • Felix Lechner's avatar
      Mark the test 'changelog-file-become-native' is non-native in the changelog-file check. · 84b9e71a
      Felix Lechner authored
      Per the test's description, it is designed for when a maintainer
      forgets to add Debian revision to an upstream version in the Debian
      changelog. Such a package is always non-native, but the test used a
      native skeleton.  Instead uses a non-native skeleton for the test.
      The inconsistency showed up when version parsing was centralized.
      Also adjusts the test's expected tags for related changes.
      Gbp-Dch: ignore
    • Felix Lechner's avatar
      Use non-native skeleton in test changelog-file-experimental for check changelog-file. · e6c34703
      Felix Lechner authored
      The tag non-consecutive-debian-revision is intended for non-native
      packages, but the test for it uses a native skeleton. The
      inconsistency showed up when version parsing was centralized, and the
      tag disappeared. Instead uses the non-native skeleton to trigger the
      non-native tag.
      Also adjusts the expected tags for related changes.
      Gbp-Dch: ignore
    • Felix Lechner's avatar
      In the test runner, improve error output for tag-related and literal tests. · 95a27afe
      Felix Lechner authored
      For literal tests, the runner now also shows a diff. For tag-related
      tests, the runner highlights missing and unexpected tags in addition
      to showing a diff. The highlighted tags are carefully calculated based
      on the declared checks and disregard unrelated nuisance tags.
      Reuses some code between match strategies for better clarity,
      consistency and maintainability.
      Gbp-Dch: ignore
    • Felix Lechner's avatar
      In Test::Lintian::Output::Universal, return unique tag names. · 50946fca
      Felix Lechner authored
      Somehow these names were no longer unique. Perhaps that part was
      dropped by code changes. This commit enables better error reporting
      for tag mismatches in the test runner.
      Gbp-Dch: ignore
    • Felix Lechner's avatar
      Update t/scripts/harness/check_result.t to newer test format. · c3a3400a
      Felix Lechner authored
      The test case was updated to declare a field Check, which did not
      exist when the script was written. Also, the defaults are properly
      parsed in addition to the test specification.
      The changes are not essential but will make the test work better in
      the future.
      Gbp-Dch: ignore
  8. 03 Aug, 2019 16 commits