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

Re: DEP8 tests using the built package source



On Sun, Mar 16, 2014 at 08:39:38PM +0100, Stephen Kitt wrote:
> On Sun, 16 Mar 2014 15:41:15 -0300, Antonio Terceiro <terceiro@debian.org>
> wrote:
> > not subscribed to debian-mentors, please Cc: me explicitly if you still
> > need my input.
> 
> Noted, thanks for noticing :-).

Thanks to Jakub for pinging me on IRC about your email. :)

> > >> Stephen Kitt <skitt@debian.org>, 2014-03-15, 14:53:
> > > A local adt-run using an unstable chroot or qemu works, whether run from
> > > the built or unbuilt source tree. But the tests fail on ci.debian.net; as
> > > far as I can tell it doesn't try to build the source package before
> > > running the tests, so they fail (see
> > > http://ci.debian.net/data/unstable-amd64/packages/libe/libevdev/2014-03-14.log
> > > for the last run).
> > 
> > This is related to the way that the version of debci on ci.debian.net
> > invokes adt-run. I am about to deploy a new version that does The Right
> > Thing (TM) and should probably fix the issue you are seeing.
> 
> Excellent!
> 
> > > Jakub Wilk
> > >> ==> debian/tests/control <== Tests: check Restrictions:
> > >> needs-root build-needed rw-build-tree Depends: @builddeps@
> > >
> > > It's probably unrelated to the problem you're observing, but this
> > > Depends is certainly incorrect. The specification says that “tests
> > > must test the INSTALLED version of the program”, but there is
> > > nothing in Depends to ensure that the program is in fact
> > > installed.
> > 
> > ... this is an important point. You have to make sure that the any
> > tests will run against the code that is _installed_ and not against
> > the code that was just built. Also, it would be really nice on the
> > test infrastructure if you could build strictly the bits you need to
> > the tests instead of building everything. e.g. the ideal would be
> > build _only_ the unit test files (assuming they need to be built)
> > and not all the other code (since you are supposed to run the tests
> > against the installed version of the package)
> 
> Indeed, thanks to Jakub for pointing that out. I've reworked the
> upstream tests to build using the installed package.
> 
> Your point concerning building only the required bits effectively
> means that we shouldn't use "build-needed" in the tests/control
> "Restrictions" field, but manually control the build only for the
> purposes of running the tests, am I right?

most probably, yes.

It's always a compromise.  Sometimes it's reasonably easy to patch the
upstream test suite to make it not expect locally-built binaries, not
use local includes etc. Sometimes it may be a lot harder, so YMMV.

-- 
Antonio Terceiro <terceiro@debian.org>

Attachment: signature.asc
Description: Digital signature


Reply to: