[Pkg-rust-maintainers] Bug#980723: autopkgtests aren't being run for rust-sequoia-sqv or rust-sequoia-keyring-linter or rust-sequoia-sop
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Thu Jan 21 22:32:04 GMT 2021
Control: reassign 980723 debcargo
Control: retitle 980723 debcargo-built binary crates have no way to run upstream tests
Control: affects 980723 + rust-sequoia-sqv rust-sequoia-sop rust-sequoia-keyring-linter
On Wed 2021-01-20 20:14:45 -0500, Daniel Kahn Gillmor wrote:
> I think this is because some rust packages needed specifically for
> testing are not available in the archive.
Hm, on further investigation, i think it is actually because the
debcargo-based packaging workflow just doesn't run cargo's tests on
binary-only crates.
The upstream tests associated with "cargo test" aren't run during the
build (dh_auto_test) on any crate, fwict, but they *are* run during the
autopkgtest.
I'm glad that they're run during autopkgtest because that means that
they can be re-run without a package rebuild when new versions of
dependencies are uploaded.
But, binary-only crates don't file any rust source in
/usr/share/cargo/registry/ so running (for example)
/usr/share/cargo/bin/cargo-auto-test sequoia-sop 0.22.0
from an unpacked rust-sequoia-sop source tree just yields:
crate directory not found: /usr/share/cargo/registry/sequoia-sop-0.22.0
so they aren't run in autopkgtest for binary-only crates.
I think we might need to rethink how debcargo handles the upstream tests
for binary-only crates. Perhaps the dh --buildsystem cargo needs to
adjust how that's done?
weirdly, i note that rust-sequoia-sop 0.22 has these two lines in
debian/rules:
override_dh_auto_test:
dh_auto_test -- test --all
but rust-sequoia-sqv 1.0.0 does not.
Both source packages are assembled with debcargo 2.4.3, i think, and
their debcargo.toml files don't differ meaningfully.
--dkg
More information about the Pkg-rust-maintainers
mailing list