Stefano Zacchiroli writes ("Re: package testing, autopkgtest, and all that"): > I find "INSTALLED version of the program" to be ambiguous. It might > refer to installed in the sense of 'debian/rules install' (or, to be > more precise, 'debian/rules binary', given that 'install' is not > dictated by policy). In that case the tests will use executables > available under debian/tmp/* or the like. > > Alternatively, it might refer to the currently installed *package*. In > that case the tests will use executables installed along their $PATH.
The latter. > The latter case needs some setup magic to install the just built > package, but is more convenient for many software rely on hard-coded > paths and do not permit to override them at runtime. The former case as > converse pro/cons. No, autopkgtest will install (dpkg -i, ultimately) the relevant stuff. The tests just need to execute it. I'd be happy to take suggestions for how to improve the wording to make this clearer. > > Depends: <dpkg dependcy field syntax> > > > > Declares that the specified packages must be installed for the > > test to go ahead. `@' stands for the package(s) generated by the > > source package containing the tests; each dependency (strictly, > > or-clause, which may contain `|'s but not commas) containing `@' > > is replicated once for each such binary package, with the binary > > package name substituted for each `@' (but normally `@' should > > occur only once and without a version restriction). > > From this text alone, it's not clear to me how this work with source > packages which generate multiple binary packages. Are all binary > packages AND-ed together as a single dependency for the test? Each dependency or-clause is replicated for each binary package. Since the or-clauses are anded by dpkg, that's very like anding together all the packages. > Given that large source packages can easily generate non-co-installable > binary packages, in those cases the maintainer should cherry pick the > specific dependencies test-by-test, am I reading it right? Yes; otherwise the test dependencies would be unsatisfiable. > > If no Depends field is present, `Depends: @' is assumed. Note > > that the source tree's Build-Dependencies are _not_ necessarily > > installed, and if you specify any Depends, no binary packages from > > the source are installed unless explicitly requested. > > So, to specify no test dependencies at all, "Depends: " is the way to > go, right? (In one of the two scenarios I've described in the beginning > this is a completely useless corner-case scenario, while in the other it > is not). Specifying no test dependencies at all is definitely wrong, because there would be no software installed to be tested. Ian. -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/19782.45420.877853.707...@chiark.greenend.org.uk