This is now in trunk as tools/curtainer
Using vmtest to test a distro installed curtin can be done by
setting CURTIN_VMTEST_CURTIN_EXE
as described in curtin's
doc/topics/integration-testing.rst
.
This document getting CURTIN_VMTEST_CURTIN_EXE
to use an lxc container.
The result is you can easily test curtin at different release versions
without re-deploying your host OS or installing those packages there.
A tool is provided here to easily launch an lxc container and install curtin inside it. That is fairly easily done, but this script just makes it a bit easier.
$ ./setup-curtin-container
Usage: setup-curtin-container [ options ] <image> name
start a container of image (ubuntu-daily:xenial) and install curtin.
options:
--proposed enable proposed
--daily enable daily curtin archive
Example:
$ ./setup-curtin-container --proposed ubuntu-daily:yakkety y-proposed
A tool is provided here that wraps curtin pack (which is the only command that vmtest uses) and copies files from outside the container inside the container.
The result is that it is easy to do:
$ ./setup-curtin-container --proposed ubuntu-daily:yakkety y-proposed
$ PATH=/path/to/this/dir:$PATH
$ export CURTIN_VMTEST_CURTIN_EXE='curtin-from-container y-proposed curtin'
$ nosetests tests/vmtests/test_simple.py:XenialTestSimple