Hi everyone, first let me link https://github.com/pytest-dev/pytest/labels/mark-issue those issues give a basic idea on how badly mark is broken and how it breaks things for users
(we had some people rewrite their complete testsuites to deal with the fallout of how bad it is) a few basic underpinnings already happened in pytest 3.1 with `pytest.param` and the internal restructuring of marker values whats missing now is to bring marks onto the collection tree not as a bastardized broken and inconsistent version of keywords, but as actual marker objects, without any of the breakages and inconsistencies we see today in order to do that i see a need for a new property on all nodes where the markers of a node are discover-able (get_marker is broken beyond repair i'm not going to fix that before we can get a correct view of marks) this property can then be used to pass over marks of the ndoes, the parent nodes and so on, in order to get a consistent view on markers for an item in order to make this work consistently with parameterization, i will introduce a FunctionDefinition node (and a function-definition scope), that will upon collection apply the parameters (and invoke the generate_tests hook (also now we will be able to give metafunc a correct view of marks) and then a function node will just be the final parameterized call to a function definition, in order to ensure this works nicely, i will introduce a pytestmark property on all marked functions, that acts like the attribute property on classes, but will not be affected by the legacy marker transfer once we have a basic clean data-set for markers on all nodes we can begin to fix up apis like get_marker and/or deprecate as we see need in the next step we can introduce opt-outs of the old and staining marking mechanim and prepare for a truly breaking release -- Ronny _______________________________________________ pytest-dev mailing list [email protected] https://mail.python.org/mailman/listinfo/pytest-dev
