1. 23 Mar, 2019 1 commit
  2. 22 Mar, 2019 5 commits
    • Felix Lechner's avatar
      c9e60bd9
    • Felix Lechner's avatar
      In check menus, split file lists without generating extra spaces. · ee239cdb
      Felix Lechner authored
      Commit f3ca0a90 causes a test to fail, but the extra tags generated do
      not name any files. This is presumably because the split operator may
      work differently than intended.
      
      According to https://perldoc.perl.org/functions/split.html, split
      expects regular expressions as the split operator, except in special
      cases. One such case is a string containing a single space, which may
      be of use here. (The logical alternative /\s+/ did not work, but I did
      not try together with 'next unless length $file'.) The special string
      with one space strips any leading spaces first and therefore prevents
      any strings from being generated, which may cause the issue here.
      
      Converts the separator expression to a string (but not a regular
      expression) containing a single string. Also removes a condition for
      empty strings further below that is no longer needed.
      
      Here is the test failure that shows tags without file names, which was
      probably not intended:
      
      Failed test 'Lintian tags match for legacy-binary'
        at /lcl/lechner/lintian/git/lib/Test/Lintian/Run.pm line 385.
      Tags do not match
      --- debian/test-out/tags/checks/menus/legacy-binary/tags.specified.calibrated.universal
      +++ debian/test-out/tags/checks/menus/legacy-binary/tags.actual.parsed.sorted.universal
      +binary (binary): doc-base-file-references-wrong-path binary:39
      +binary (binary): doc-base-file-references-wrong-path binary:31
      +binary (binary): doc-base-file-references-wrong-path binary:25
      +binary (binary): doc-base-file-references-wrong-path binary:25
      Looks like you failed 1 test of 1.
      debian/test-out/tags/checks/menus/legacy-binary/generic.t ................................ Dubious, test returned 1 (wstat 256, 0x100)
      Failed 1/1 subtests
      
      Gbp-Dch: ignore
      ee239cdb
    • Felix Lechner's avatar
      Adjust test 'testsuite-general' after allowing symlinks in testsuite paths. · 9772bfda
      Felix Lechner authored
      Modifies several expected tags after a recent change in check
      'testsuite'.  The paths cannot be resolved, so the new tags appear
      more appropriate.
      
      The check 'testsuite' used to call Lintian::Collect::Package::index to
      ascertain whether files exist. That method dit not allow symbolic
      links and was recently changed to index_resolved_path.
      
      Gbp-Dch: ignore
      9772bfda
    • Felix Lechner's avatar
      Adjust test 'debian-symlink' after allowing symlinks in testsuite paths. · d0aaaa88
      Felix Lechner authored
      Adds a tag triggered by a recent change in check 'testsuite'.
      
      The check 'testsuite' used to call Lintian::Collect::Package::index to
      ascertain whether files exist. That method dit not allow symbolic
      links and was recently changed to index_resolved_path.
      
      This issue arose originally when this test was adapted to use a new
      builder and standard templates. The tag 'inconsistent-testsuite-field'
      appeared. The test seemed to be designed to detect specifically such a
      situation.
      
      In a twist, fixing the bug also triggers the tag, which is added here.
      That is because the check now recognizes the tests, but there is no
      field Testsuite in the dsc. (The check emits the 'inconsistent' tag via
      xor when one is true but not the other.)
      
      The new tag also looks a little bit like a duplicate next to the
      existing tag 'testsuite-autopkgtest-missing'. Perhaps the
      'inconsistent' tag should be removed. The lack of a declaration is
      already handled by the tag 'testsuite-autopkgtest-missing'.
      
      Gbp-Dch: ignore
      d0aaaa88
    • Felix Lechner's avatar
      Allow symlinks in autopkgtest paths. · 201339da
      Felix Lechner authored
      The check 'testsuite' uses Lintian::Collect::Package::index to
      ascertain whether files exist. That method does not allow symbolic
      links. Calls index_resolved_path instead.
      
      This issue arose when the test 'debian-symlink' from the old suite
      'source' was adapted to a new builder. There, the tag
      'inconsistent-testsuite-field' would appear if a Testsuite field were
      present (or if standard templates are used). This test will use the
      standard templates in the future, and should not trigger the tag.
      
      In a twist, fixing the bug also triggers the tag in that test.  That
      is because the check now recognizes the tests, but there is no field
      Testsuite in the dsc. The check emits the 'inconsistent' tag via xor
      when one is true but not the other.
      
      It would probably make sense to split the tag to alert the user more
      meaninfully to either the presence of a surplus specification or the
      lack of a declaration in the dsc.
      
      While it is not common to have links in or around ./debian, the test
      'debian-symlink' appears to be designed specifically as a false
      positive for that scenario.
      201339da
  3. 21 Mar, 2019 1 commit
  4. 20 Mar, 2019 1 commit
  5. 18 Mar, 2019 5 commits
  6. 17 Mar, 2019 1 commit
  7. 16 Mar, 2019 1 commit
  8. 15 Mar, 2019 1 commit
  9. 14 Mar, 2019 3 commits
    • Felix Lechner's avatar
      Get rid of lab queries, too. · 0dc99b32
      Felix Lechner authored
      This is a continuation of the previous commit and could be merged into
      it. Removes the facility to query the lab from the lintian command
      line, a feature also known as lab query.
      
      Gbp-Dch: ignore
      0dc99b32
    • Felix Lechner's avatar
      Static labs are obsolete; all labs are temporary from now on. · a906ce43
      Felix Lechner authored
      Temporary labs are the new default. Static labs have not been used for
      some time in the reporting framework. They are obsolete.
      
      Adjusts or removes many, and hopefully all, references to static labs.
      Removes function arguments, subroutines and instance methods related.
      Removes environment variables and constants.  Adjust the documentation
      throughout.
      
      Also removes 'frontend/lintian-lab-tool'. Does not remove lab queries.
      
      Temporary labs can still be kept after a Lintian run by specifying the
      command line option '--keep-lab'.
      a906ce43
    • Felix Lechner's avatar
      Use IO::Async::Routine for asynchronous removal of temporary labs. · 4888b22c
      Felix Lechner authored
      The IO::Async family of modules includes higher-level facilities that
      may be more convenient than 'spawn_child'. Converts this particular
      use in Lintian::Lab::Entry to an IO::Async::Routine.
      
      Gbp-Dch: ignore
      4888b22c
  10. 12 Mar, 2019 6 commits
    • Felix Lechner's avatar
      For stretch-backports, fix test for 'rules-requires-root-implicitly'. · e3648578
      Felix Lechner authored
      In stretch, control tarballs are compressed with gz, while later
      releases use xz. The test for the tag 'rules-requires-root-implicitly'
      checks all classification tags, including one for the compression
      format. The tag is not needed, but causes failure in
      stretch-backports.  Limits the classification tags to the check
      'control-file'.
      
      Causes the test to pass on stretch-backports, as well.
      e3648578
    • Felix Lechner's avatar
      For stretch-backports, also Build-Depend on XS version of Text::CSV in... · 144f2da8
      Felix Lechner authored
      For stretch-backports, also Build-Depend on XS version of Text::CSV in addition to the pure Perl version.
      
      For some time, Jenkins has produced CI failures for stretch-backports.
      This should fix it.
      
      Text::CSV comes with two backends. One is XS; the other pure Perl. The
      XS version is enabled by default but packaged separately. As a
      recommended package, the XS version is not automatically installed by
      the default resolver on Jenkins (presumably sbuilds's default apt),
      but is installed when manually using sbuild with the option
      '--build-dep-resolver=aptitude' (which was required for the backport
      repo to work). The issue was hard to reproduce.
      
      The error occurs because, for the version in stretch-backports
      (1.33-2), the two backends behave differently.
      
      The pure Perl implementation does not allow an 'escape_char' before a
      field separator. It triggers the error messsage "EUF" seen in the logs
      (internal code 4004).  (As a side note, the 'escape_char' seemed
      primarily intended to escape the 'quote_char', and not the field
      separator.)
      
      Modern versions of the module no longer use the EUF error message or
      the 4004 code.  More significantly, the Perl version currently in
      testing (1.99-1) is not so affected.
      144f2da8
    • Stewart Ferguson's avatar
      Allow *.pth files in Python directories to avoid false-positives for... · b6f2aa51
      Stewart Ferguson authored
      Allow *.pth files in Python directories to avoid false-positives for unknown-file-in-python-module-directory. (Closes: #924417)
      Signed-off-by: Chris Lamb's avatarChris Lamb <lamby@debian.org>
      b6f2aa51
    • Chris Lamb's avatar
    • Felix Lechner's avatar
      In autopkgtest, allow output to stderr to shorten waiting period for uploads. · 21ab8244
      Felix Lechner authored
      Uploads are subject to a ten-day waiting period because autopkgtest
      fails. The flagged test, added recently, passes but announces tags not
      covered in tests to stderr.  Autopkgtest considers stray output a
      failure.  Modifies the autopkgtest config to allow such output.
      
      This should reduce the waiting period.
      21ab8244
    • Chris Lamb's avatar
      Update the long description of the... · 58bce01e
      Chris Lamb authored
      Update the long description of the new-package-should-not-package-python2-module tag to justify further why a changelog entry is more appropriate than an override.
      58bce01e
  11. 11 Mar, 2019 1 commit
  12. 10 Mar, 2019 1 commit
  13. 09 Mar, 2019 1 commit
  14. 08 Mar, 2019 3 commits
  15. 06 Mar, 2019 1 commit
  16. 04 Mar, 2019 1 commit
  17. 03 Mar, 2019 1 commit
  18. 27 Feb, 2019 2 commits
  19. 26 Feb, 2019 4 commits
    • Felix Lechner's avatar
      Show untested tags in test runs. · 7f59c668
      Felix Lechner authored
      This test script checks if all tags known to Lintian are also seen in
      the test suite. The test suite is presently incomplete, and some tags
      are missing. Those tests are automatically marked TODO. For now, the
      missing tags will not cause the test run to fail, but are announced as
      untested.
      
      Once the test suite has full tag coverage, the TODO classification
      should be removed. Then missing tags will trigger a build error.
      7f59c668
    • Felix Lechner's avatar
      Use library modules in tagextract for the various tag output formats instead... · 3ce2533c
      Felix Lechner authored
      Use library modules in tagextract for the various tag output formats instead of routines in the tool.
      
      Use the library routines instead of the ones in the tool. Also deletes
      the routines in the tool.
      
      Gbp-Dch: ignore
      3ce2533c
    • Felix Lechner's avatar
      Add library modules with tag parsing routines for the different output formats. · 29efd217
      Felix Lechner authored
      Move the tag parsing routines for the various output formats from
      tagadjust to modules in the library path. It will allow to keep the
      data in memory without temporary files.
      
      Having these routines available is expected to speed up tag coverage
      calculations, which currently involve a lot of conversions via
      tagextract from the EWI format of the on-disk tag specifications to
      the universal format used for interactive calibration.
      
      At some point, the on-disk format for tags may change to the universal
      format.
      
      Gbp-Dch: ignore
      29efd217
    • Felix Lechner's avatar