[Pkg-rust-maintainers] Bug#1080448: debcargo: allow further customisations to autopkgtest control file: skipping tests and architectures

Julian Gilbey jdg at debian.org
Wed Sep 4 09:20:10 BST 2024


Package: debcargo
Version: 2.6.1-6+b1
Severity: wishlist

(1) The debcargo.toml setting "test_is_broken" currently marks a test
as flaky.  However, there are some tests that are known by upstream
not to work with some features, for example with serde_json, which
upstream does not test with the "alloc" feature.  (I probably haven't
explained this well.)  The current implementation of marking these
tests as flaky means that the tests are pointlessly run.  It would be
good to have an option such as "skip_test" which omits the entire
stanza from debian/tests/control rather than just marking them as
flaky.

(2) There are some tests that take too long to compile to succeed on
riscv64, so it would be helpful to have an option to set the
Architecture field in the debian/tests/control file stanzas, something
like:

architecture = "!riscv64"

Together, this would give debcargo.toml sections such as:

[packages."lib+alloc"]
skip_test = true

[packages."lib+slow_feature"]
architecture = "!riscv64"

leading to debian/tests/control not having a section with "--features
alloc", and having a section reading:

Test-Command: /usr/share/cargo/bin/cargo-auto-test my_crate 1.2.3 --all-targets --no-default-features --features slow_feature
Features: test-name=librust-my-crate-dev:slow_feature
Depends: dh-cargo (>= 18), [...], @
Restrictions: allow-stderr, skip-not-installable
Architecture: !riscv64


Having these two facilities (the second one in particular) would
reduce the need to manually override the generated
debian/tests/control file (of which there are currently 62 in the
repository).

Best wishes,

   Julian



More information about the Pkg-rust-maintainers mailing list