[Twisted-Python] Failure of twisted.test.test_plugin.DeveloperSetupTests.test_freshPyReplacesStalePyc under pypy2

Daniel Sutcliffe dansut at gmail.com
Thu Jul 13 06:57:49 MDT 2017


Craig, thanks for the pointers - I should have known about these
really useful resources as I've been lurking a while but for some
reason was focussed on the Travis-CI and Appveyor builds.

I see now the Twisted Development Wiki page
https://twistedmatrix.com/trac/wiki/TwistedDevelopment has links to
the buildbot so I have even less excuse for not being more aware.

On Wed, Jul 12, 2017 at 3:36 PM, Daniel Sutcliffe <dansut at gmail.com> wrote:
>> Am I correct in the fact that Twisted doesn't have Travis-CI builds on
>> PyPy?

On Wed, Jul 12, 2017 at 7:31 PM, Craig Rodrigues <rodrigc at crodrigues.org> wrote:
> There are two builders which do PyPy:
>
> https://buildbot.twistedmatrix.com/builders/ubuntu16.04-pypy5

Interestingly although there is also an ERROR here for
twisted.test.test_plugin.DeveloperSetupTests.test_freshPyReplacesStalePyc
it is different to the one I am getting:

[ERROR]
Traceback (most recent call last):
  File "/buildslave/ubuntu16.04-pypy5/Twisted/build/pypy-alldeps-nocov-posix/site-packages/twisted/test/test_plugin.py",
line 560, in test_freshPyReplacesStalePyc
    os.utime(pyc.path, (x, x))
exceptions.OSError: [Errno 2] No such file or directory:
'/buildslave/ubuntu16.04-pypy5/Twisted/_trial_temp/twisted.test.test_plugin/DeveloperSetupTests/test_freshPyReplacesStalePyc/HBEKNc/temp/application_path/plugindummy/plugins/stale.pyc'

Vs mine:

[ERROR]
Traceback (most recent call last):
  File "/usr/src/twisted/src/twisted/plugin.py", line 171, in getCache
    provider = pluginModule.load()
  File "/usr/src/twisted/src/twisted/python/modules.py", line 392, in load
    return self.pathEntry.pythonPath.moduleLoader(self.name)
  File "/usr/src/twisted/src/twisted/python/reflect.py", line 312, in namedAny
    obj = getattr(obj, n)
exceptions.AttributeError: 'module' object has no attribute 'stale'

There is also no FAIL in the buildbot build for the same test, mine:

[FAIL]
Traceback (most recent call last):
  File "/usr/src/twisted/src/twisted/test/test_plugin.py", line 566,
in test_freshPyReplacesStalePyc
    self.assertIn('one', self.getAllPlugins())
  File "/usr/src/twisted/src/twisted/trial/_synctest.py", line 492, in assertIn
    % (containee, container))
twisted.trial.unittest.FailTest: 'one' not in ['dev', 'app']

These are different from orig report as now in Docker container
jamiehewland/alpine-pypy:2 (possibly my goal platform) the original
was in a squeaky_pl's portable-pypy 2.7 build of 5.7 pypy. I'm next
going to try the official pypy:2 Docker container as this would seem
to be possibly the most standard platform to try and support in this
day and age...

I'm sure I'll get to the bottom of this but any clues or thoughts from
the more experienced would be appreciated - it seems to me that there
might be some mileage in breaking this problem test up a bit as I
gradually understand more about what it is trying to do... ?

> https://buildbot.twistedmatrix.com/builders/ubuntu16.04-pypy5-benchmark
>
> and one here:
> http://speed.twistedmatrix.com/

I had noted this speed comparison when Hawkowl posted it here the
other week - should have thought to poke further looking for related
builds too as that's what you originally asked about.

On a related point; PyPy has entered a strange phase as their 5.8.0
release now is available as CPython 2.7 or 3.5 compatible builds -
slightly confusing but I see wheels are tagged something like pp258
pp358 - maybe the Twisted project needs also to somehow differentiate
the two. Especially as although the 3.5 builds are still labeled as
beta I get the feeling the impetus (sponsorship) is behind removing
this designation sooner rather than later. Just a thought

> Some of the tests are constantly failing, so if you could investigate and
> help fix some of the Pypy issues, that would be much appreciated.

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.

Cheers
/dan
-- 
Daniel Sutcliffe <dansut at gmail.com>




More information about the Twisted-Python mailing list