-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tests: Fix test failures in Python 3.8 (fixes #6594) #6595
Conversation
I am not sure whether this is the correct fix but the test suite passes.
I think anytime you get a reference error here it generally means that you're acessing something dead, which means it's a bug in your code. Is this from local tests that are failing? And on which os? I haven't been able to get 3.8 to work on windows so I didn't have a chance to run the test suite. |
Oh, never mind. Didn't see the related issue. But before we can know if this is the right fix, we should understand what change in py3.8 is causing this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I can confirm that on py3.7, calling dir
on a dead proxy returns a empty list, while in 3.8 it raises an exception. I guess kivy was using a undocumented hack with dir
.
Long term we should probably switch to using as it's been available since 3.4: https://docs.python.org/3/library/weakref.html#weakref.WeakMethod.
Note that mesa-common-dev is required for building Kivy. This might be needed because there is no Kivy wheels for Python 3.8. Kivy was bumped to post 1.11.1 to fix a weak ref issue addressed via: kivy/kivy#6595
Note that mesa-common-dev is required for building Kivy. This might be needed because there is no Kivy wheels for Python 3.8. Kivy was bumped to post 1.11.1 to fix a weak ref issue addressed via: kivy/kivy#6595
@matham Could you please explain to me what 'dead' means? Thanks |
I am not sure whether this is the correct fix but the test suite passes.