On Tue, May 16, 2017 at 4:31 PM Brian Okken <[email protected]>
wrote:

> I don't get the "broke the API" part of this issue.
> What used to work and doesn't now?
>

We changed all classes to new-style classes in order to remove the subtle
differences between old style and new style, which may affect Python 2
users.

One example of such difference is that "x[0]" will raise a TypeError if x
is a new-style class, and AttributeError if it is an old style class.
Here's an real world code that broke because of this (
https://github.com/ManageIQ/integration_tests/pull/4645/files):

     if hasattr(report, 'skipped'):
          if report.skipped:
              try:
                  contents = report.longrepr[2]
              except AttributeError:
                  contents = str(report.longrepr)

Btw, the change for this particular incompatibility was released in 3.0.5
mostly by accident, where TerminalRepr was changed to subclass from object
in
https://github.com/pytest-dev/pytest/commit/fbc5ba08d969adafd71ecb6fce25a1cad76bb983
.

Issue https://github.com/pytest-dev/pytest/issues/2398 contains more
detailed info.


Is this really significant enough to warrant bumping to 4.0.
>
Are you ready to follow through with the deprecating promise of
> https://docs.pytest.org/en/latest/backwards-compatibility.html so soon
> after the introduction of 3.0?
>
> How many people are affected by this change compared to the confusion of
> having to explain to everyone what the major feature(s) of 4.0 is(are)?
>

I believe that the purpose of this thread is to exactly discuss if this
accidental change is enough to warrant a 4.0 release.

I'm also under the impression that this will affect very few users, but
would like to hear opinions from everyone. That accidental change from old
to new-style went out in 3.0.5, if it was a major breaking point we would
have heard more reports about it for now (although the current features
branch changed *all* classes to new-style).

Cheers,
Bruno.
_______________________________________________
pytest-dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pytest-dev

Reply via email to