[Avocado-devel] Dependencies in avocado-vt cartesian configuration

Wei, Jiangang weijg.fnst at cn.fujitsu.com
Thu Apr 28 06:58:13 UTC 2016


On Thu, 2016-04-28 at 01:07 -0300, Alan Evangelista wrote:
> 
> AV> I have not understood what is the purpose of the dependencies
> feature
>   > in cartesian configuration

The purpose is that dictate relationships between variants.
(Maybe you have already found it at
http://avocado-vt.readthedocs.io/en/latest/CartesianConfig.html)

There're some cases about it in tp-qemu, For an example,
If you want to test "related boot " case, it needs
"install" ,"setup" ..etc

"boot" variant is declared at tp-qemu/generic/tests/cfg/boot.cfg
- boot: install setup image_copy unattended_install.cdrom
    virt_test_type = qemu libvirt
    type = boot
    restart_vm = yes
    kill_vm_on_error = yes
    login_timeout = 240

"install" and  "setup" declared at tp-qemu/qemu/tests/cfg/steps.cfg
- install:
    no JeOS
    virt_test_type = qemu
    type = steps
    fail_if_stuck_for = 300
    stuck_detection_history = 2
    keep_screendump_history = yes
    force_create_image = yes
    kill_vm = yes
    kill_vm_timeout = 60
    kill_vm_timeout_on_error = 0

- setup:
    no JeOS
    virt_test_type = qemu
    type = steps
    fail_if_stuck_for = 300
    stuck_detection_history = 2
    kill_vm_on_error = yes
    keep_screendump_history = yes


If we run "avocado list", the cases related installing will be output
first.
	

> JW> Run cartesian_config.py with ‘-r’, You can find something
> different.
> 
> I see the d   ependencies I defined in the cartesian configuration
> file in a dep list
> in each variant set combination. It is not clear to me how avocado-vt
> will use
> this during tests execution. Will it reorder the variant sets
> combinations before
> providing the corresponding key/value pairs to tests?

In my experience, it won't reorder the variant sets.
In general, I change the order of tests by 'keywords '. For an example,

[root at localhost tp-qemu]# cat ./qemu/tests/cfg/dep.cfg 
- dependencies: operations
    variants:
        - one: three two
            key1 = Hello
        - two:  three
            key2 = World
        - three: 
            key = !
[root at localhost avocado]# scripts/avocado list --vt-guest-os
Linux.CentOS.7.0.x86_64.i440fx | grep -e 'one$' -e 'two$' -e 'three$'

VT           type_specific.io-github-autotest-qemu.dependencies.one
VT           type_specific.io-github-autotest-qemu.dependencies.two
VT           type_specific.io-github-autotest-qemu.dependencies.three

[root at localhost avocado]# scripts/avocado list --vt-guest-os
Linux.CentOS.7.0.x86_64.i440fx three two one | grep -e 'one$' -e 'two$'
-e 'three$'
VT type_specific.io-github-autotest-qemu.dependencies.three
VT type_specific.io-github-autotest-qemu.dependencies.two
VT type_specific.io-github-autotest-qemu.dependencies.one


Maybe someone who is familiar with cartesian can give you more details.
Just wait a while.

Wei
> Regards,
> Alan
> _______________________________________________
> Avocado-devel mailing list
> Avocado-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/avocado-devel







More information about the Avocado-devel mailing list