On 10/05/2012 12:53 PM, Kashyap Chamarthy wrote:
Eric, Let me know how I can help you test here.
Other ideas of things to test - pass invalid arguments, and make sure
you get sane error messages (for example, a file that doesn't exist, or
omit --base, omit --top, specify --base and --top out of order)
Test regular files vs. raw block devices in the backing chain.
Test commits into the base file when it is not of type qcow2.
Testing with relative vs. absolute naming will eventually be helpful,
although right now we know of some relative name handling bugs that
qemu.git is still trying to iron out.
Obviously, testing with SELinux enforcing will be helpful, once I get
further patches submitted to attempt that, but for now, you will
probably hit failures unless you have selinux in permissive mode.
Try testing the case of a backing file smaller than the top file being
committed:
base(1M) <- snap(2M) <- active(3M)
and with data located at various offsets (here, it may be easier to test
via hot-plugging a dummy device to an existing guest, and then using dd
within the guest to write to that hot-plug device); committing snap into
base should make base expand to be the size of snap but not the size of
active.
Whatever else you can dream up - the more tests we come up with, the
better this code will be :) That is, knowing HOW people want to use it
will make it easier to ensure that those use cases work.
If you can write libvirt-tck tests that cover your tests, that would be
even nicer, as then we would have a framework for easily repeating the
tests and ensure we don't regress.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org