Package: autopkgtest
Version: 5.4.1
Severity: wishlist

Hi,

please provide a means to specify that a test is to be skipped when its
dependencies are not satisfiable. This is needed since what is a dependency
for a particluar test case might be just one of many *alternative* 
dependencies of the package, of just a Recommends/Suggests.

My particular use case is the package why3 which Recommends [1]

        alt-ergo | cvc3 | cvc4 | why3-coq | spass | z3

These are all backends with which why3 can talk. I have tests [2] for 
each of these backends, the control entry for these tests look like
this:

  Tests: why3+alt-ergo
  Depends: why3, alt-ergo

As you can see, alt-ergo is strict dependency for this test, but it is
only one of many alternative recommends for the package. 

Now, some of these backends are not available on all architectures [3]. I
was told to use the "flaky" restriction in this case but this is not
the right solution since if the backend package is available and the
test fails when it is executed then I still want the red lights to go on.

An alternative solution in my use case would be to use the "skippable"
restriction, apt-get install the backend in the test and exit 77 when
this fails, but this would mean using root access without a good reason.

In fact, I think skipping a test in case the test dependencies cannot be
satisfied should even be the default behaviour since checking package
dependencies is not the job of autopkgtest (we have testing migration
and qa.debian.net/dose for that) but I could live with it if you do
not agree with that ;-)

-Ralf.

[1] https://sources.debian.org/src/why3/1.0.0-1/debian/control/
[2] https://sources.debian.org/src/why3/1.0.0-1/debian/tests/control/
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895104


-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (700, 'testing'), (80, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.17.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE=en_US:en 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages autopkgtest depends on:
ii  apt-utils       1.6.3
ii  libdpkg-perl    1.19.0.5
ii  procps          2:3.3.15-2
ii  python3         3.6.5-3
ii  python3-debian  0.1.32

Versions of packages autopkgtest recommends:
ii  autodep8  0.13

Versions of packages autopkgtest suggests:
pn  lxc               <none>
pn  lxd-client        <none>
pn  ovmf              <none>
pn  qemu-efi-aarch64  <none>
pn  qemu-efi-arm      <none>
pn  qemu-system       <none>
pn  qemu-utils        <none>
pn  schroot           <none>

-- no debconf information

Reply via email to