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: