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

Bits from the autopkgtest maintainer



Hello Debian developers,

A lot has happened on the DEP-8 [1]/autopkgtest[2] front in the last months,
and today's autopkgtest 2.9 upload marks the completion of a lot of
long-standing feature, usability, and documentation development.

New documentation
-----------------
The manpages were overhauled to clarify what all the adt-run options do, and
some missing pages were added. There is now also a new document [3] which
introduces how to run autopkgtests in the most common use cases, as well as the
available virtualization servers (schroot, lxc, etc.) together with their
most important properties and pros/cons. This should be the first thing to read
for new users of autopkgtest, before diving into the individual manpages.

See /usr/share/doc/autopkgtest/README.running-tests.gz and the manpages for
adt-run and adt-virt-* for details.


New virtualization servers
--------------------------
autopkgtest now provides two new virt servers:

 * adt-virt-lxc: Run tests in containers. This comes with a script
   adt-build-lxc(1) which conveniently builds an appropriate container for a
   Debian or Ubuntu release. See the manpages for details, and
   README.running-tests.gz for an overview of this server.

 * adt-virt-qemu: Run tests in QEMU/KVM. This comes with a script
   adt-buildvm-ubuntu-cloud(1) which conveniently builds an appropriate VM
   image for an Ubuntu release. See the manpages for details, and
   README.running-tests.gz for an overview of this server.

   I'd really like to have a script to build a VM image for current
   Debian sid. As Debian doesn't have daily VM images to base this on, I
   appreciate ideas how to approach this.

See the respective manpages for details.


New test declarations
---------------------
Tests can declare one of the new "isolation-container" or "isolation-machine"
restrictions if running them in a schroot/container is not sufficient. Package
maintainers are advised to do that in their package test to avoid
confusing/alarming failures in CI if the test is known to need a stronger
isolation (for example, the udisks2 test can only work in a VM and thus will
get "isolation-machine").

Tests can now depend on "@builddeps@" which expands to the source package's
build dependencies. This is useful if you have many build dependencies which
are only necessary for running the test suite and you don't want to replicate
them in the test Depends:.

See README.package-tests.gz for details.


Usability
---------
adt-run's command line interface got some cleanup, dropping a few rarely used
and confusing options like --tmp-dir, providing short alternatives for common
options, improving the default behavior, allowing you to specify "schroot"
instead of "adt-virt-schroot", and more. Most scenarios can now be run with
only very few options/arguments. See README.running-tests.gz for details on that.

The --output-dir contents is much cleaner now.  Tests can now also specify
additional artifacts which get exported to the --output-dir, which is now
suitable for verbatim publication to CI frontends like debci
(http://ci.debian.net) or Jenkins.

adt-run now also uses dpkg-buildpackage to build packages instead of calling
the bare debian/rules build, which fixes long-standing problems with the
application of quilt patches and definition of dpkg-buildflags variables.

Deprecation of cron-/xen-based test running scripts
---------------------------------------------------
The autopkgtest-xenlvm package ships various adt-testreport-* and
adt-openbugs-* scripts which haven't been maintained in many years. They
have now officially been deprecated in favour of http://ci.debian.net, debci,
and/or jenkins, and will now say so with a message on startup of each script.
We believe nobody is actually using them, but if you do, please mail [4].


Self-Testing
------------
autopkgtest now has a set of integration tests which provide fairly good
coverage on various test scenarios and all runners except the Xen one (which
is currently an unmaintained step-child). This has greatly helped to identify
bugs, crashes, and missing corner cases, as well as allowing larger-scale
code rewriting.


http://ci.debian.net / debci
----------------------------
http://ci.debian.net is a new service that will continuously run package
tests declared in the DEP-8 format, using autopkgtest. Each package will
get its test suite run whenever there is a new version of itself, or of
any package in its dependency chain (except the base system), or
periodically to account for changes in the base system. The service is
backed up by a tool called debci[5] which is being prepared to be
uploaded to the Debian archive, and is in heavy development.


Contact
-------
As usual, if you find a bug or have a suggestion for a small improvement,
please file a bug against autopkgtest. If you want to help out with autopkgtest
development or the services around it (like http://ci.debian.net), or want to
discuss bigger new features, please do that on the mailing list [4].


Thanks for your attention!

Martin Pitt


[1] http://dep.debian.net/deps/dep8/
[2] http://metadata.ftp-master.debian.org/changelogs/main/a/autopkgtest/unstable_changelog
[3] http://anonscm.debian.org/gitweb/?p=autopkgtest/autopkgtest.git;a=blob_plain;f=doc/README.running-tests
[4] http://lists.alioth.debian.org/mailman/listinfo/autopkgtest-devel
[5] http://anonscm.debian.org/gitweb/?p=collab-maint/debci.git


-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)

Attachment: signature.asc
Description: Digital signature


Reply to: