Add test for snapshot current and parent

Signed-off-by: Kyla Zhang <weizhan@redhat.com>
virt-libvirt: net_state_dict() use another virsh

This virsh module function becomes a Virsh class method, but
internally it makes other calls to the virsh module directly.
Sometimes this is not what is needed, rather a specific Virsh
class instance should be used (i.e. to run against a remote
system or with special args/dargs).  Added a parameter
with None default to allow this.  Fixed up all references to
this function so they also pass through proper virsh_instance
state.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: unittest virsh isolation

Many unittests require testing codepaths containing
the virsh module and/or Virsh() class instances.  However
it is necessary to isolate them from eachother AND provide
a check to make sure no "real" system-virsh calls are made.

To make this work easier for other unittests, added a
factory function that returns a mocked Virsh() class instance.
Every closed method on this instance will raise a
bogusVirshFailureException (subclass of
unittest.TestCase.failureException).

Now, unittest tests only need to call this function and
override the resulting instance's methods as needed for
testing.  I also added a unittest to do a basic check of
this new unittest helper function.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: Fix for issue #1303

Running these unittests in a specific order resulted in many
failures.  The problem is, the unittests all modify contents
of the virsh module, then they proceede to make shared-access
of the module.  To fix this, isolation of the virsh module for
each unittest would be needed.  However this is not practical
since python likes to save memory by sharing loaded modules.

Since all unittests that use the virsh module normally create
an instance of the Virsh() class anyway, it's much easier to
not isolate the module, but work with a copy of a specially
prepared Virsh() class instance.  This instance can be generated
with the new FakeVirshFactory() function from the virsh_unittest
module.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: codespell + reindent mass cleanup

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: Fix propcan pylint complaint

Somewhere the new-ness of the class heirarchy is getting lost leading
to these errors:

    # tools/run_pylint.py -q virttest/utils_net.py
    ************* Module autotest.client.tests.virt.virttest.utils_net
    E1001:1221,0: VirtIface: Use of __slots__ on an old style class
    E1001:1334,0: LibvirtIface: Use of __slots__ on an old style class
    E1001:1342,0: QemuIface: Use of __slots__ on an old style class

Adding a multi-inheritance of ``object`` to the base class makes pylint
happy and all unittests run clean.  I'm assuming that means there are
no negative consequences.
qemu.tests: Update get_property useage in vhost_with_cgroup

The parameter in get_property should be filename without \.

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
libvirt: use handle_prompts() to wait for end of 'ZZ' in session.

Currently, we use time.sleep(1) to wait for the end of 'ZZ' in session,
but it does not work well in any conditions.

This patch replace time.sleep(1) with remote.handle_prompts().

Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
libvirt_vm: remove setup_serial_ports() method.

Commit c37a86ca picked out the create_serial_console() from setup_serial_ports(),
and call it in env_process(). But it is not robust enough.

This patch rename the setup_serial_ports() to create_serial_console() to be called
in env_process() and remove the older create_serial_console().

Reported-by: Yanbing Du <ydu@redhat.com>
Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
Reviewed-by: Yanbing Du <ydu@redhat.com>
Tested-by: Yanbing Du <ydu@redhat.com>
qemu:Disable balloon_fix_value case in ppc64

ppc64 platform does not support X86 ACPI s3 and s4 cases,
disable it in ppc64 platform

Signed-off-by: Man Li <limansh@cn.ibm.com>
Signed-off-by: Mike Qiu <qiudayu@linux.vnet.ibm.com>
qemu.test: Update the check method in smbios_table

In the machine_type check for smbios_table, we only care the main version
information but not the details. And the command line output from guest
will include more than the version info:
System.Version mismatch, Set 'RHEL 7.0.0 PC'
but guest is : 'RHEL 7.0.0 PC (i440FX + PIIX, 1996)'

So update the check method for it.

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
tests.kdump: Add new sub test for multiple guests

define some functions for kdump, maybe other case
can reuse these functions late.

Signed-off-by: Shuping Cui <scui@redhat.com>
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>
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>
qemu.cfg: Typo fix in cdrom_test.cfg

Signed-off-by: Feng Yang <fyang@redhat.com>
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>
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>