Roadmap

Tickets which are necessary before we can truly automate Twisted releases.

Fixing some regressions.

rodrigc wrote in #9278:

"I did the following to enable more warnings when running trial using Python 3.5 under Fedora 25:

python -Wall -m twisted.trial twisted

I saw a lot of ResourceWarnings for example:

twisted.trial._dist.test.test_disttrial
  DistTrialRunnerTests
    test_createLocalWorkers ...                                            [OK]
    test_launchWorkerProcesses ...                                         [OK]
    test_minimalWorker ...                                                 [OK]
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:217: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_minimalWorker/dlun7z9m/temp/0/out.log' mode='w' encoding='UTF-8'>wisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_minimalWorker/dlun7z9m/temp/0/err.log' mode='w' encoding='UTF-8'>
    test_runUntilFailure ...                                               [OK]
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:397: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUntilFailure/bzgokndm/temp/0/out.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:397: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUntilFailure/bzgokndm/temp/0/err.log' mode='w' encoding='UTF-8'>
    test_runUsedDirectory ...                                              [OK]
/home/vagrant/twisted5/src/twisted/python/reflect.py:448: ResourceWarning: unclosed file <_io.FileIO name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUncleanWarnings/08r9fpn6/temp/0/test.log' mode='wb' closefd=True>
/home/vagrant/twisted5/src/twisted/python/reflect.py:448: ResourceWarning: unclosed file <_io.FileIO name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUnexpectedError/77x3rje8/temp/0/test.log' mode='wb' closefd=True>
/home/vagrant/twisted5/src/twisted/python/reflect.py:448: ResourceWarning: unclosed file <_io.FileIO name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUntilFailure/bzgokndm/temp/0/test.log' mode='wb' closefd=True>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/3/out.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/3/err.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/2/out.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/2/err.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/1/out.log' mode='w' encoding='UTF-8'>
/home/vagrant/twisted5/src/twisted/trial/_dist/test/test_disttrial.py:208: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/vagrant/twisted5/src/_trial_temp/twisted.trial._dist.test.test_di/DistTrialRunnerTests/test_runUsedDirectory/8qnv1k8q/temp/_trial_temp-1/1/err.log' mode='w' en:
}}}"

These can cause spurious test failures on Python 3 and resource leaks on PyPy.  As they're discovered, they should be fixed.

Support PyPy as a platform.

This means getting this buildbot green - http://buildbot.twistedmatrix.com/builders/trusty64-pypy-2.4/ - and adding it to the supported list.

Make Twisted completely compatible with a reasonable Python 3.x release.

Tickets for fixing problems introduced by Python 3.x porting work should also be added to this milestone.

Treating warnings as errors will allow Twisted users and Twisted devs to keep deprecated stuff out of their code.

This milestone does it on Python 2.7; Python 3.3+ causes many more warnings and many are shared. Once we treat them as errors on Python 2, we can move to do it on Python 3.

Note: See TracRoadmap for help on using the roadmap.