Description
I am observing different parametrization order on the same test repository and command syntax between py2.7 and py3.6.6
The source repository where this is observed is ManageIQ/integration tests, and involves a tree of fixtures and parametrization. I'll attempt to create a 'unit' level recreation to simplify, but wanted to report ASAP. I've discussed this a bit with @RonnyPfannschmidt and he is familiar with integration_tests and its environment.
In python 2.7, I observe the following test function name and param ids with the linked test/fixture:
test_migration_long_name[virtualcenter-6.0-rhevm-4.2]
In python 3.6.6, the two parameters have switched:
test_migration_long_name[rhevm-4.2-virtualcenter-6.0]
Fixture with first two parameters:
https://github.com/ManageIQ/integration_tests/blob/master/cfme/fixtures/v2v.py#L38
Test module with provider
and second_provider
parametrized:
https://github.com/ManageIQ/integration_tests/blob/master/cfme/tests/v2v/test_v2v_migrations.py#L19
Example test function above from same module, line 651:
https://github.com/ManageIQ/integration_tests/blob/master/cfme/tests/v2v/test_v2v_migrations.py#L651
OS: Fedora 27
Both py.test runs are done in a virtualenv with frozen pip.
pytest version 3.4.1
Frozen requirements for py2.7 and py3.6.6 environments:
py2 requirements
py3 requirements