Skip to content
This repository has been archived by the owner on May 31, 2020. It is now read-only.

Python 3.7 (and 3.8 just around the corner) #985

Open
jayvdb opened this issue Oct 4, 2019 · 1 comment
Open

Python 3.7 (and 3.8 just around the corner) #985

jayvdb opened this issue Oct 4, 2019 · 1 comment

Comments

@jayvdb
Copy link

jayvdb commented Oct 4, 2019

I've run some tests against Python 3.7, with 113 falures, but a large percentage of the failures are repeated differences only in the expected exception messages, such as

- <class 'TypeError'> : must be str, not type
+ <class 'TypeError'> : can only concatenate str (not "type") to str

That one is really common, with minor variation like str->double etc for each native type. Also common:

- <class 'TypeError'> : object() takes no parameters
?                                         -  ^   --
+ <class 'TypeError'> : object() takes no arguments
?                                           ^^  +

Others are like

- <class 'TypeError'> : not all arguments converted during bytes formatting
+ <class 'TypeError'> : %b requires a bytes-like object, or an object that implements __bytes__, not 'int'

I think it would be useful to have the code or test suite handle those differences, so that the real errors stand out more.

@freakboy3742
Copy link
Member

Completely agreed - and there are many places in the existing codebase where we have analogous adaptations for changes in error message introduced by other Python versions.

If you search for uses of if (org.python.VERSION < 0x03040300) {, you'll see how this is being handled for other Python versions.

We'd also need to update our CI infrastructure to support Python 3.8 to provide meaningful testing for this change.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants