[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