avocado: Introduce the multiplex_config module

It is a common occurrence in automated testing
that we want to generate a test matrix, for example,
I want my python program to be tested under

1) Python 2.6
2) Python 2.7

In the following Linux Distributions

1) Fedora 20
2) Fedora 19
3) Ubuntu 12.04
4) Ubuntu 14.04

This commit introduces the multiplex config file
format, a format that lets you define this
test matrix in a compact way:

variants python:
    - py26:
        py_interpreter = 2.6
    - py27:
        py_interpreter = 2.7

variants distros:
    - fedora19:
        distro = Fedora19
    - fedora20:
        distro = Fedora20
    - ubuntu12_04:
        distro = Ubuntu12.04
    - ubuntu14_04:
        distro = Ubuntu14.04

Which generates a set of the 8 tests of this cartesian
product. Each test is in fact a python dict:

dict    1:  fedora19.py26
dict    2:  fedora19.py27
dict    3:  fedora20.py26
dict    4:  fedora20.py27
dict    5:  ubuntu12_04.py26
dict    6:  ubuntu12_04.py27
dict    7:  ubuntu14_04.py26
dict    8:  ubuntu14_04.py27

One given dict can be passed by to avocado tests, so they
can retrieve params from the dict. The next patches
focus on instrumenting avocado tests to make use of said
params dictionaries, and extending the test runner to
accept a multiplex file.
Signed-off-by: NLucas Meneghel Rodrigues <lmr@redhat.com>
上级 2ee475e9
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册