[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

DEP-8 pseudo-restriction "hint-dpkg-testsuite-triggers"



I wrote:
> 4. Can we have a way to trigger tests from updates of non-direct
> rdepends ?  At some point in the future maybe we will run tests of
> whole batches of updates and then have some algorithm to chop out
> what the failures are caused by, but for now it would be useful to
> be able to declare a specific indirect dependency for test trigger.
> Maybe an XS- header field ?

In dgit, I wanted to do this because ISTM that some of the most likely
sources of regressions are a handful of indirect dependencies.

Mattia Rizzolo pointed out:
> On Thu, May 03, 2018 at 10:38:45PM +0200, Paul Gevers wrote:
> > Just add it as a test dependency in one of your tests?
> 
> Just to share a bit that doesn't seem to be of public knowledge:
> .dsc have a Testsuite-Triggers field that is autopoulated from the
> d/tests/control file (IIRC).  I believe you are looking exactly for
> this field.

I wanted to add some things to Testsuite-Triggers, rather than replace
the field, so I couldn't just supply it in debian/control.  Instead, I
am adding, in debian/tests/control:

  Tests: hint-testsuite-triggers
  Tests-Directory: tests/tests
  Depends: gnupg, patch, diffutils
  Restrictions: hint-testsuite-triggers

This works, in the sense that it adds the information I wanted to the
Testsuite-Triggers generated by dpkg-source.  And it should cause all
DEP-8 test runners to skip the test because of the unknown
restriction, so it won't add any spurious test load.

I chose to invent the restriction name `hint-dpkg-testsuite-triggers'
for this purpose.  Should this be added to README.package-tests.rst ?

  hint-testsuite-triggers

     This test exists purely as a hint to suggest when rerunning the
     tests is likely to be useful.  Specifically, it influences the
     way dpkg-source generates the Testsuite-Triggeers .dsc header
     from test metadata: the Depends for this test are added to
     Testsuite-Triggers.

     The packages listed as Depends for this test are usually indirect
     dependencies, updates to which are considered likely to cause
     regressions in other tests defined in this package.

     There is currently no way to specify this hint on a per-test
     basis; but in any case the debian.org machinery is not able to
     think about triggering individual tests.

     The test with the hint-testsuite-triggers restriction should not
     actually be run.  Future systems which understand per-test update
     triggering should treat the Depends of the test with this
     restriction, as triggering packages for all tests in this
     debian/tests/control.

I haven't yet pushed the change with this restriction name in it,
anywhere, so if people think a different name is better I'm open to
suggestions.

Thanks,
Ian.

-- 
Ian Jackson <ijackson@chiark.greenend.org.uk>   These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.


Reply to: