[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Added Autopkgtests for BitSeq – Request for Review



Hi Harish,

harish chavre, on 2025-04-03:
> I have successfully added autopkgtests for the bitseq
> package. I would appreciate it if you could review the changes
> and let me know if any modifications are needed.

Thanks for your work investigating how to prepare an autopkgtest
suite for the bitseq package, I have taken a close look at your
implementation and you will find my comments below.  It's a bit
more involved than I anticipated when discussing yesterday, but
that would be a good opportunity to learn things.  :)

  * d/t/simple-commands-run: this script is a good start for
    defining a set of superficial checks.  It is always a good
    idea to make sure that the basics options, such as --help,
    are operating properly.  At least it is better than nothing,
    and it already allows catching a few classes of issues.
    Note that such superficial checks are not eligible to
    autopkgtest migration bonus however, and must be marked as
    such in d/t/control with a restriction "superficial".

  * d/t/test_bitseq.py: this file is not invoked by your
    d/control file.  My impression is that it was supposed to be
    invoked via pytest, given the conventions followed for the
    name of the script and remain in the source code of the
    package, but I may have wrongly guessed.  Can you confirm
    the purpose of the file?  If is not used by the package,
    then it is better to not have it within the package, as
    otherwise it creates clutter and makes the package source
    code overall harder to understand.

  * d/t/pytest: I was a bit confused by this file until it
    occured to me that it might have been initially purposed to
    trigger the tests in test_bitseq.py.  I tend to find your
    direct invocations via shell script easier to understand
    than the idea of running commands via Python pytest script.
    However I note that the script is a variation of superficial
    checks that will have no chance to fail even in case of
    problems, due to the following construction:

    	python3 "/usr/bin/$script" --help || echo "Warning: $script may not have a --help option"

    The "|| echo …" condition will be met as soon as any failure
    occurs in the script.  Notably, a script that used to work
    with --help and suddently crashes will still pass by issuing
    the warning.  If the script is lacking --help support, then
    it is better to not attempt to run it and find another way
    to make sure it is nevertheless usable.  By the way, please
    could you find a better name for that script?  Even if it
    runs pytest, it is not a pytest implementation and creates
    confusion when trying to understand how the autopkgtests are
    wrapped.  I would probably go as far as merging the content
    of the script d/t/pytest into d/t/simple-commands-run as
    they seem to share similar purpose, but you may have other
    ideas in mind.

  * d/t/control: the needs-root restriction will enforce the run
    of autopkgtest via the root account.  This may be necessary
    for testing servers on well known ports and other corner
    cases, but in general, and especially with scientific and
    medical applications, this restriction should not be needed.
    Please remove the needs-root restriction and make sure that
    the test suite is written in such a way that it can run
    without needing administrative permissions.

If that can help you wrap up more involved autopkgtests for
bitseq, I have found by reading the project's README.md file
that upstream have a wiki page[1] in which they document how to
use bitseq.  Getting some test data along may be the trickiest
part, because you would need to ensure that data you want to use
is DFSG compliant, or be reasonably lightweight to avoid
cluttering the package.  I usually resolve that problem by
repurposing test or example data from other existing packages
when I work on a package lacking such data.  Also, the Debian
Med team accumulated already many autopkgtest over time, so
don't hesitate to look them up for inspiration[2].

[1]: https://github.com/BitSeq/BitSeq/wiki/Basic-usage
[2]: https://salsa.debian.org/med-team/abpoa/-/blob/master/debian/tests/run-unit-test?ref_type=heads

As a side note, you probably want to setup your .gitconfig so
that your Author field in your git commits matches your actual
contact address.  Currently it shows like this, which is not
helpful contact address to trigger discussions when needed:

	Author: root <root@HARISH.harish.dev>

You would probably prefer reading your real email address here.

And that is all for now.  I hope I was not too overwhelming with
my review.  Again, Thanks for your work in attempting to improve
the quality of the bitseq package!

Have a nice day,  :)
-- 
  .''`.  Étienne Mollier <emollier@debian.org>
 : :' :  pgp: 8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
 `. `'   sent from /dev/pts/3, please excuse my verbosity
   `-    on air: Moon Safari - Lover's End Pt. III: Skellefteå…

Attachment: signature.asc
Description: PGP signature


Reply to: