Changelog

Next 1.x feature release

  • [Support]: Add missing universal wheel indicator in setup metadata.

2.0.1 2023-05-22

  • [Bug] #9: Don’t try loading Pytest fixture functions as if they were test functions. Classifying this as a bug even though it’s a moderately sized change in behavior; it’s vanishingly unlikely anybody was relying on this somehow! Thanks to @cajopa for the report.

2.0.0 2022-12-31

  • [Bug]: Prior to version 2, we failed to correctly support true Pytest setup/teardown methods (i.e. setup_method and teardown_method) and these would not get copied to inner class scopes. This has been fixed. We still support old nose-style setup/teardown for now, despite them going away in Pytest 8.

  • [Support]: Modernize codebase/project a bunch:

    • Dropped support for Python <3.6 (including 2.7)

    • Pytest support upgraded to support, and require, Pytest >=7.

      • This plugin never worked on Pytests 5 and 6 anyways, and supporting 5-7 appears to require a lot more effort than just 7.

    • Behavioral changes in Pytest internals have fixed a handful of sorta-bugs present in pytest-relaxed under Pytest versions 3 and 4:

      • The order of nested test display may change slightly, typically for the better; eg under older versions, tests defined on a class might have been displayed after subclasses/nested tests - now they’re more likely to be listed first, which was the original intent.

      • These bugs sometimes enabled “state bleed”, such as outer scopes appearing to grant inner ones attributes set at runtime (eg by the outer scope’s setup, even when the inner scope redefined setup).

        • If you encounter odd bugs after upgrading, please take a close look at your code and make sure you weren’t accidentally using such a “feature”. One good way to test for this is to run the “newly failing” tests by themselves on the old dependencies – they will likely also fail there.

1.1.5 2019-06-14

  • [Bug] #2: Fix compatibility with pytest versions 3.3 and above.

1.1.4 2018-07-24

  • [Support]: Add missing universal wheel indicator in setup metadata.

1.0.2 2018-07-24

  • [Support]: Add missing universal wheel indicator in setup metadata.

1.1.3 2018-07-24

  • [Bug]: Fix the @raises helper decorator so it actually raises an exception when the requested exception is not raised by the decorated function. That’s definitely not a confusing sentence.

1.0.1 2018-07-24

  • [Bug]: Bypass pytestmark objects and attributes during our custom collection phase; we don’t need to process them ourselves, pytest is already picking up the original top level copies, and having them percolate into nested classes was causing loud pytest collection-step warnings.

  • [Bug]: Installation and other setup.py activities implicitly assumed native Unicode support due to naively opening README.rst. setup.py now explicitly opens that file with a utf-8 encoding argument. Thanks to Ondřej Súkup for catch & patch.

  • [Bug]: Neglected to update setup metadata when setting up a tiny Read The Docs instance. Homepage link now fixed!

  • [Bug]: Fix the @raises helper decorator so it actually raises an exception when the requested exception is not raised by the decorated function. That’s definitely not a confusing sentence.

1.1.2 2018-04-16

  • [Bug]: Neglected to update setup metadata when setting up a tiny Read The Docs instance. Homepage link now fixed!

1.1.1 2018-04-16

  • [Bug]: Bypass pytestmark objects and attributes during our custom collection phase; we don’t need to process them ourselves, pytest is already picking up the original top level copies, and having them percolate into nested classes was causing loud pytest collection-step warnings.

  • [Bug]: Installation and other setup.py activities implicitly assumed native Unicode support due to naively opening README.rst. setup.py now explicitly opens that file with a utf-8 encoding argument. Thanks to Ondřej Súkup for catch & patch.

1.1.0 2017-11-21

  • [Feature]: Add support for collecting/displaying hybrid/legacy test suites – specifically, by getting out of pytest’s way on collection of test_named_files and stripping test prefixes/suffixes when displaying tests in verbose mode. This makes it easier to take an existing test suite and slowly port it to ‘relaxed’ style.

1.0.0 2017-11-06

  • [Feature]: Port @trap from Spec as it’s currently a lot more natural to use than pytest’s builtin capture fixtures. May back it out again later if we can make better sense of the latter / fit it into how our existing suites are organized.

  • [Feature]: Create a @raises decorator which wraps pytest.raises (we’re not sure why it’s not natively offered as a decorator!) and thus ends up appearing very similar to Nose’s API member of same name.

  • [Feature]: Implement early drafts of Spec-like nested test display (which fires only when verbose output is enabled, unlike Spec which completely took over all output of nosetests.)

  • [Bug]: Various and sundry bugfixes, including “didn’t skip underscore-named directories.”

  • [Support]: Basic Travis and CodeCov support.

  • [Support]: Revert internal tests to not eat our own dogfood; typical TDD lifecycles don’t work very well when partly-implemented new features cause all of the older tests to fail as well!

  • [Support]: Drop Python 2.6 and 3.3 support.

0.1.0 2017-04-08

  • [Feature]: Early draft functionality (test discovery only; zero display features.) This includes “releases” 0.0.1-0.0.4.