[Twisted-Python] Failure of twisted.test.test_plugin.DeveloperSetupTests.test_freshPyReplacesStalePyc under pypy2
Glyph
glyph at twistedmatrix.com
Thu Jul 13 20:14:28 MDT 2017
On Thu, Jul 13, 2017, at 04:22 PM, Daniel Sutcliffe wrote:
> > On Thu, Jul 13, 2017 at 5:57 AM, Daniel Sutcliffe <dansut at gmail.com> wrote:
> >> I shall do my best as my intention is to use Twisted in a live
> >> environment with PyPy so it would be great if the project viewed these
> >> builds as required to be clean sometime in the future. This was just
> >> the first ERROR I attacked, it was always my intention to look into
> >> the others too, which I am also seeing.
>
> On Thu, Jul 13, 2017 at 11:31 AM, Craig Rodrigues
> <rodrigc at crodrigues.org> wrote:
> > Thanks for your motivation.
>
> No problem, this is one of the few ways I can give back to the Twisted
> project that is ultimately helping me achieve my goals;
> besides getting to the bottom of these type of things is a fun
> learning exercise for me :)
>
> > Please keep going, and share your findings on the mailing list.
> >
> > Last year, Mark Williams worked on fixing many Twisted unit tests to either
> > pass or skip on Pypy, and even found one issue with Pypy itself (
> > https://bitbucket.org/pypy/pypy/issues/2335/maximum-recursion-depth-exceeded-with
> > ).
>
> This one is likely to fall on deaf ears in the PyPy project...
> The reason for the ERROR and then FAIL is as I originally thought,
> that __import__() under pypy is not loading .pyc files where the .py
> is missing and:
> http://doc.pypy.org/en/latest/config/objspace.lonepycfiles.html
> tl;dr - they view it as dangerous due to pyc binary variations and
> only allow by build time configuration option.
>
> So the next question I guess is how to deal with this:
>
> - presumably my first step is to log a bug in Trac as any change will
> require one, I had only held off from doing this until I was more sure
> of the cause of the issue.
>
> - the FAIL goes away if the .py is not removed from the plugins dir
> and it seems to me that the .py removal is not actually required to
> strictly test what
> twisted.test.test_plugin.DeveloperSetupTests.test_freshPyReplacesStalePyc
> purports to be testing - so that could fix this test
>
> - the fact that the test ERRORs and then carries on and FAILs later in
> a strange fashion is due to the fact twisted.plugin.getCache() simply
> does a log.err() on encountering the odd situation - so maybe this
> could be dealt with better knowing that PyPy does different things
> than CPython here... ?
>
> Could the more experienced please advise :)
It is totally fine to skip this test on PyPy. It's testing the ability
to interact with a particular feature of the CPython interpreter, which
is intentionally absent on PyPy. Ideally, the implementation would not
enumerate that module on PyPy since it isn't going to be importable as a
module.
In fact, many of the failing tests are for obscure corner cases which
can and should be skipped so that we can declare PyPy a supported
platform, then work on fixing them after the fact :-).
> > If you feel there are improvements or additions to the buildbot jobs using
> > Pypy, please share your thoughts. The buildbot master.cfg file is at
> > https://github.com/twisted-infra/braid/tree/master/services/buildbot/master
>
> I have not looked into why buildbot comes up with a different error to
> the one I did on various platforms - fix for my situation and see if
> it fixes the pypy buildbot before investigating?
>
> The other error that I and the buildbot see on pypy is 12x (always) of
> Failure: twisted.internet.defer.TimeoutError
> for
> twisted.protocols.test.test_tls.TLSMemoryBIOTests.test_hugeWrite_TLSv1_1
> which is odd as if I run this test on its own it succeeds every time...
> Thoughts on this appreciated but probably should start a new thread for
> that...
>
> Cheers
> /dan
> --
> Daniel Sutcliffe <dansut at gmail.com>
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
More information about the Twisted-Python
mailing list