#1147535 lintian: the no-tests tag seems broken

Package:
lintian
Source:
lintian
Submitter:
Louis-Philippe Véronneau
Date:
2026-09-12 21:41:01 UTC
Severity:
normal
#1147535#5
Date:
2026-09-12 19:14:52 UTC
From:
To:
I have not debugged this, but the no-tests tag seems broken.

1. Only 1 package triggers it [1], which seems highly improbable.

2. We don't have any tests it in the lintian codebase (it's one of the
'known-missing' tags). The fact none of the current test packages
triggers it also smells.

[1]: https://udd.debian.org/lintian-tag/no-tests?affected=yes

#1147535#10
Date:
2026-09-12 21:38:25 UTC
From:
To:
This package has debian/tests as a "file". And apparently the logic in
`resolve_path` works in a way that when this happens, it switches to resolving
via parent directory.

So resolve_path('debian/tests/control') transforms into 'debian/control' for this
particular package.

I've opened an MR to handle this very special case and will merge it after pipeline
passes (change is simple).

The description states

"""
Explanation: The autopackage test suite does not define any tests via
 either the <code>Tests</code> field or the <code>Test-Command</code>
 field.
See-Also: https://salsa.debian.org/ci-team/autopkgtest/tree/master/doc/README.package-tests.rst
"""

And this is the code in question

163     $self->pointed_hint('no-tests', $section_pointer)
164       unless $section->declares('Tests') || $section->declares('Test-Command');

So this means it flags things that *have* a d/t/control but do not have tests declared there. I just
tried with some random stuff written into d/t/control and the package does not seem to even *build*
with such a configuration.

So I suppose this is a redundant tag and can simply be dropped. Instead we could have a new tag for
flagging packages without autopkgtests.

All that said, I am closing this bug report since the original concern is not an actual issue.

Best,
Nilesh