#1139439 dh-elpa: integration tests

#1139439#5
Date:
2026-06-09 01:36:13 UTC
From:
To:
I have modified and adapted the integration tests from dh-make-elpa to
work in dh-elpa. The tests work in a similar fashion as dh-make-elpa: in
a template repo that provides a minimal-ish set of files required for
dh_elpa command, run the command, and compare the output with an
expected repository, and check whether there are any diff. I hope this
provides a way to easily verify changes to the dh_elpa (and dh-elpa.el)
utility, especially debian/*.substvars to check whether the generated
"misc:Depends" and "elpa:Depends" are expected.

During implementation, I found some limitation of how the "dh_elpa"
command works and used some workarounds to make it work.

* The "dh_elpa" perl script uses global path that assumes a installed
  dh-elpa is available. However, the build time test needs to run from
  the source tree. As a result I extended the dh_elpa script to allow
  referencing files from the source tree (as well as other tweaks) to
  make it work during build time. The changes are guarded by a
  "--test-source-root" parameter.

* For multiple file packages, dh_elpa will create a tarball which cannot
  be compared with "diff" directly (which bremner had warned me before).
  For the time being, I just skip the tarball files as the unpacked
  directory is also available in the generated templates so their
  contents are still part of the comparisons.

I hope the diff tests can give more confidence when modifying dh_elpa,
especially for testing ideas like in Bug#1138884.

The changes are in an "integration-test" branch[1], and the diff against
master branch can be seen here[2]. An overview of how the tests work can
be found at the README.org[3].

Reviews and suggestions welcome!

[1] https://salsa.debian.org/emacsen-team/dh-elpa/-/tree/integration-test?ref_type=heads
[2] https://salsa.debian.org/emacsen-team/dh-elpa/-/compare/master...integration-test?from_project_id=18920
[3] https://salsa.debian.org/emacsen-team/dh-elpa/-/blob/integration-test/t/README.org?ref_type=heads

#1139439#10
Date:
2026-06-09 08:58:08 UTC
From:
To:
Xiyue Deng [08/Jun  6:36pm -07] wrote:

I think you should try to cut down the Perl deps.  Most of those aren't
really necessary, I used them for the dh-make-elpa test suite because I
didn't know much Perl at the time.

#1139439#15
Date:
2026-06-10 10:19:43 UTC
From:
To:
Hi Sean,

Sean Whitton <spwhitton@spwhitton.name> writes:

Makes sense. I have reduced the lists of Build-Depends and Depends.
PTAL.

#1139439#20
Date:
2026-06-25 17:38:24 UTC
From:
To:
Xiyue Deng <manphiz@gmail.com> writes:

Friendly ping.