libvirt.tests: Support multiple devices for multifunction test.

Signed-off-by: Yu Mingfei <yumingfei@cn.fujitsu.com>
libvirt.tests: Add testcases for single_device of multifunction.

Signed-off-by: Yu Mingfei <yumingfei@cn.fujitsu.com>
libvirt.tests: Add testcases for multi_devices in multifunction.

Signed-off-by: Yu Mingfei <yumingfei@cn.fujitsu.com>
virttest: Move nic_script under tap device branch in add_net

nic_script should be parameter for tap devices, so move it to
the right place. And now we can not control guest to use nic_script
or fds with cfg files as tapfds are automatic get by framework functions
only depends on the host env. So update the judgement as if we setup
nic_scritp, will let guest use script, otherwise will try to use fds.

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
virttest.utils_libguestfs: Add functions for file operations.

Signed-off-by: Yu Mingfei <yumingfei@cn.fujitsu.com>
utils_test.libguestfs: Add functions for file operations.

Signed-off-by: Yu Mingfei <yumingfei@cn.fujitsu.com>
libguestfs.tests: Add test module for libguestfs file operations.

Signed-off-by: Yu Mingfei <yumingfei@cn.fujitsu.com>
virttest.utils_misc: Allow null source passed to umount.

Sometimes, we don't know what's source is, but mountpoint
can still be umounted, so allowing to pass null for umount.

Signed-off-by: Yu Mingfei <yumingfei@cn.fujitsu.com>
autotest regression test: add a single VM (server only) mode

I've found that it's useful to check just the autotest installation steps
with a single VM with increased resources, mainly memory.

First 1G of memory is too little to do things like compiling the GWT client,
2G is OK, but 4G is preferrable. On most development machines (mine included),
starting two VMs with 2G or 4G is usually not a good idea.

To set this single VM (server only) mode, simply set the "vms" parameter to
a single (server) VM name.

Also, be a lot more generous about the installation timeout, as based on my
experience, things like downloading GWT and the git trees can take a long
time (YMMV).

Signed-off-by: Cleber Rosa <crosa@redhat.com>
autotest regression test: make the unittests arguments configurable

So that we can run the shorter set of unittests if desired.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
Merge pull request #1154 from yumingfei/multifunction

libvirt.tests: Support multiple devices for multifunction test.
Merge pull request #1350 from clebergnu/autotest_regression

Autotest regression test
qemu.cfg: Typo fix in cdrom_test.cfg

Signed-off-by: Feng Yang <fyang@redhat.com>
Merge pull request #1359 from FengYang/cdrom_test

qemu.cfg: Typo fix in cdrom_test.cfg
SLES11.xml: make serial port can be login

Move chroot-scripts into one section and make serial port setting
part with chrooted as false.

change from V1:
  revert the other lines, just change chroot part.

Signed-off-by: Xiangmin Han <xhan@redhat.com>
Merge pull request #1338 from Xiangmin/fix_SLES11_xml

SLES11.xml: make serial port can be login
Merge pull request #1259 from ypu/nic_script

virttest: Move nic_script under tap device branch in add_net
Merge pull request #1156 from yumingfei/virt_file_oper

Libguestfs: Add testcases for libguestfs file operations.
virt: qcontainer adds possibility to find device by params.

Allows to search specific device in qemu container by filter for
params. Created due to searching in the QStringDevices.

Signed-off-by: Jiří Župka <jzupka@redhat.com>
qemu: Adds support for devices with dynamic params to qdevices.

This patch make qdevice more verbose during qcontainer comparison.
Also this patch add support for dynamic params in general devices
like QStringDevice and QCustomDevice and for devices classed inherited from them.

It sets cmdline with and without dynamic params for QStringDevice.
dev = QStringDevice(dev_type="xxx", cmdline="xxx:dynamicparam",
                                    cmdline_nd="xxx:DYN")

It allows specification which param is dynamic for QCustomDevice
dev = QCustomDevice(dev_type="xxx")
dev.set_param(name, value, dynamic True/False) default is true.

Comparison of qcontainer using == works as usual it compare all params
even-though they are dynamic or not. For comparison without dynamic
params its necessary use "eq_nd" function.

Some of qemu devices needs some kind of preparation before
start of qemu vm. Unfortunately there preparatory work are
done during creation of devices. For example network tap devices,
port redir, etc.
  It should be divided in some later patch.

Signed-off-by: Jiří Župka <jzupka@redhat.com>