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

Re: RFC: A regression test framework for Debian packages?

This one time, at band camp, Jérôme Marant wrote:
>On Mon, Sep 02, 2002 at 08:19:23PM +1000, Jamie Wilkinson wrote:
>> This one time, at band camp, Jérôme Marant wrote:
>> >  In a chrooted environment, we can install deboostrap and
>> >  package dependencies through APT.
>> About 6 months ago I started writing some code in expect to do just this, to
>> test my quake2-data installer package.  I was able to install the package
>> into an UML machine, answer the debconf questions, and check the location of
>> the installed files (being an installer package, not all files installed by
>> the package are in the deb).
>> I haven't touched this code for a long time, but I've been meaning to clean
>> it up and start doing regression testing on parts of the archive.  I envisage
>> being able to run it once a week on the entire archive, testing the
>> ability of every pacakge to cleanly upgrade from woody to sarge, and back
>> again.
>Nice! How does it work exactly? How do you write tests? Do you have scenarii
>or something?

The expect script starts up a user-mode-linux on a pre-built chroot, and
then attempts to install the package in it.  If that succeeds, it tries to
purge it.  Testing an upgrade/downgrade requires a trivial bit of hacking in
the script.  Debconf questions/answers are read from a file, the questions
are watched for in the console output.

It's horridly inefficient, though---I chose uml over chroot because I wanted
ordinary users to be able to run it.

jaq@spacepants.org                           http://spacepants.org/jaq.gpg

Reply to: