Bug#1139439: dh-elpa: integration tests

Xiyue Deng <[email protected]> Wed, 10 Jun 2026 03:19:43 -0700
Newsgroups gmane.linux.debian.devel.emacsen
Message-ID <87zf12elz4.fsf__2821.45193066157$1781086897$gmane$org@debian-hx90.lan>
Hi Sean,

Sean Whitton <[email protected]> writes:

> Xiyue Deng [08/Jun  6:36pm -07] wrote:
>> Package: dh-elpa
>> Version: 2.1.9
>> Severity: wishlist
>>
>> 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].
>
> 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.

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

-- 
Regards,
Xiyue Deng
signature.asc (application/pgp-signature, 857 B)
-----BEGIN PGP SIGNATURE-----

iQJGBAEBCgAwFiEEiKQfd6o81mjI+LWALell7WOCXJMFAmopOj8SHG1hbnBoaXpA
Z21haWwuY29tAAoJEC3pZe1jglyTiYsP/iEt/nuONVZDp6Ew5DF5l9JZzvfSMEGj
ZloJAAhyL3/xitpQMokgoWpsu9NSLj/ACuJIxn3HJWJZ4YV3u9GkUHNY836CQWH7
5f2RkhF6LibigkpTIv+5u40+1s93h7hObPFkzXOPIeVoVehFdfve4aMg+Hwy4Qsd
IEwXo3HpsW188ngbyzeEV5D3EuKJFv2slYcbLiQE+1oQRgKvAvL2SzYyQmC1CazD
VfEBRs/z6TjoufVz+wGICb++Ft62NccjTnfTob9z5yEsgw57OmBe0/vg+UxeAP50
brzud/t7sF+7TrcnGDP/68RmxImjeCuHJEUJSBNjQxOkgDOCdTN2lCunSoIb5Nph
fLPpPOmvhdfv5D/6OLgxanwYnopvnGhKXU2f1vx8jPUfrAsUW/gZttv738uvzXQG
TTE135FYaZsA4vkiPQpjXj1UrP1ZtzEXZFrjwkboxqK8GvYgf9qGR0iuWqrgebMm
feZqQag2QDaIj8QXjHHhWXAZYMXhyOmCoemttHSYhXtaYdVwn/JNM7itC96flJuk
2QsnnHYrmi+MIQZF2smlxxq8zuNerupJHCNHFEW7JN1mNm7g8jvBHBEOCDO2B0Pn
G3q2XVSEN3CA480x/6aoq6z5hw5Ayok6d1bGVIC/aHbCn0tI0QzHDXu60aw7wL27
n4lB/l7407hV
=NZrn
-----END PGP SIGNATURE-----