test/py: Provide custom IDs when parametrizing tests
authorStephen Warren <swarren@nvidia.com>
Tue, 26 Jan 2016 22:26:04 +0000 (15:26 -0700)
committerSimon Glass <sjg@chromium.org>
Fri, 29 Jan 2016 04:01:24 +0000 (21:01 -0700)
commitd20e5e976f70bd2e230787091a88278dfe6e5192
tree981317ea28ce44df1173c5cbbaac6037da56856f
parenta2ec560647e90250183e379799db957970cb260e
test/py: Provide custom IDs when parametrizing tests

When pytest generates the name for parametrized tests, simple parameter
values (ints, strings) get used directly, but more complex values such
as dicts are not handled. This yields test names such as:

    dfu[env__usb_dev_port0-env__dfu_config0]
    dfu[env__usb_dev_port0-env__dfu_config1]

Add some code to extract a custom fixture ID from the fixture values, so
that we end up with meaningful names such as:

    dfu[micro_b-emmc]
    dfu[devport2-ram]

If the boardenv file doesn't define custom names, the code falls back to
the old algorithm.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
test/py/conftest.py
test/py/tests/test_dfu.py
test/py/tests/test_ums.py