
Hi, So I went on the net on the off chance that the info I was looking for was easy to obtain, and I found out about trial. I cloned the git and did: python bin/trial twisted I got the following: Unhandled Error Traceback (most recent call last): File "C:\Users\chris\Dropbox\SRC\twisted\twisted\scripts\trial.py", line 473, in postOptions _BasicOptions.postOptions(self) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\scripts\trial.py", line 383, in postOptions self['reporter'] = self._loadReporterByName(self['reporter']) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\scripts\trial.py", line 370, in _loadReporterByName for p in plugin.getPlugins(itrial.IReporter): File "C:\Users\chris\Dropbox\SRC\twisted\twisted\plugin.py", line 213, in getPlugins allDropins = getCache(package) --- <exception caught here> --- File "C:\Users\chris\Dropbox\SRC\twisted\twisted\plugin.py", line 171, in getCache provider = pluginModule.load() File "C:\Users\chris\Dropbox\SRC\twisted\twisted\python\modules.py", line 389, in load return self.pathEntry.pythonPath.moduleLoader(self.name) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\python\reflect.py", line 303, in namedAny topLevelPackage = _importAndCheckStack(trialname) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\python\reflect.py", line 242, in _importAndCheckStack return __import__(importName) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\plugins\twisted_core.py", line 5, in <module> from twisted.internet.endpoints import _SystemdParser, _TCP6ServerParser, _StandardIOParser File "C:\Users\chris\Dropbox\SRC\twisted\twisted\internet\endpoints.py", line 34, in <module> from twisted.internet.stdio import StandardIO, PipeAddress File "C:\Users\chris\Dropbox\SRC\twisted\twisted\internet\stdio.py", line 30, in <module> from twisted.internet import _win32stdio File "C:\Users\chris\Dropbox\SRC\twisted\twisted\internet\_win32stdio.py", line 15, in <module> from twisted.internet import _pollingfile, main File "C:\Users\chris\Dropbox\SRC\twisted\twisted\internet\_pollingfile.py", line 106, in <module> class _PollableReadPipe(_PollableResource): File "C:\Users\chris\Dropbox\SRC\twisted\twisted\internet\_pollingfile.py", line 108, in _PollableReadPipe implements(IPushProducer) File "C:\python35\lib\site-packages\zope\interface\declarations.py", line 412, in implements raise TypeError(_ADVICE_ERROR % 'implementer') builtins.TypeError: Class advice impossible in Python3. Use the @implementer class decorator instead. Unexpected error while writing cache file Traceback (most recent call last): File "C:\Users\chris\Dropbox\SRC\twisted\twisted\scripts\trial.py", line 473, in postOptions _BasicOptions.postOptions(self) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\scripts\trial.py", line 383, in postOptions self['reporter'] = self._loadReporterByName(self['reporter']) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\scripts\trial.py", line 370, in _loadReporterByName for p in plugin.getPlugins(itrial.IReporter): File "C:\Users\chris\Dropbox\SRC\twisted\twisted\plugin.py", line 213, in getPlugins allDropins = getCache(package) --- <exception caught here> --- File "C:\Users\chris\Dropbox\SRC\twisted\twisted\plugin.py", line 185, in getCache dropinPath.setContent(pickle.dumps(dropinDotCache)) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\python\filepath.py", line 1532, in setContent os.rename(sib.path, self.path) builtins.ValueError: rename: src and dst must be the same type Traceback (most recent call last): File "C:\Users\chris\Dropbox\SRC\twisted\twisted\python\lockfile.py", line 91, in symlink rename(newlinkname, filename) FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\Users\\chris\\Dropbox\\SRC\\twisted\\_trial_temp.lock.1446280185217.newlink' -> 'C:\\Users\\chris\\Dropbox\\SRC\\twisted\\_trial_temp.lock' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "bin/trial", line 22, in <module> run() File "C:\Users\chris\Dropbox\SRC\twisted\twisted\scripts\trial.py", line 616, in run test_result = trialRunner.run(suite) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\trial\runner.py", line 959, in run return self._runWithoutDecoration(test, self._forceGarbageCollection) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\trial\runner.py", line 983, in _runWithoutDecoration oldDir = self._setUpTestdir() File "C:\Users\chris\Dropbox\SRC\twisted\twisted\trial\runner.py", line 886, in _setUpTestdir testdir, self._testDirLock = util._unusedTestDirectory(base) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\trial\util.py", line 356, in _unusedTestDirectory if testDirLock.lock(): File "C:\Users\chris\Dropbox\SRC\twisted\twisted\python\lockfile.py", line 160, in lock symlink(str(os.getpid()), self.name) File "C:\Users\chris\Dropbox\SRC\twisted\twisted\python\lockfile.py", line 94, in symlink os.rmdir(newlinkname) OSError: [WinError 145] The directory is not empty: 'C:\\Users\\chris\\Dropbox\\SRC\\twisted\\_trial_temp.lock.1446280185217.newlink' Is that a trial error or a Twisted test failing? Sorry if this is a stupid question, but (terrible, I know) I've never used tests before. Another quick google told me that Trial was ported to Python3, so I'm not sure... If it's a test failing, it's not really telling me where the failure is. Cheers. On 31/10/2015 07:39, Glyph Lefkowitz wrote:
On Oct 30, 2015, at 11:49 PM, Chris Norman <chris.norman2@googlemail.com <mailto:chris.norman2@googlemail.com>> wrote:
Hi Amber
On 31/10/2015 06:45, Amber "Hawkie" Brown wrote:
Hi Chris,
Twisted does not yet support Python 3 on Windows.
That's a shame. I've never contributed to an open source project before, but I'd be glad to try and help out. I feel I __may__ know enough Python now to certainly have a shot at it.
If you feel like you might, you definitely do :-). Often people feel like they need to be advanced rocket surgeons to work on Twisted, but in fact, our robust code-review process means that you don't have to worry about making mistakes at all. Just submit your best effort, and you'll get a code review telling you how to improve it so that it can be integrated (and you _will_ get at least one round of review: I created Twisted, and even _I_ can't usually land a patch without one or two rounds of review ;-)).
Thanks for offering to help out! If everybody who wanted Python 3 support just signed on to work on a ticket like this, the port would have been finished a year ago ;-).
There's a ticket athttps://twistedmatrix.com/trac/ticket/8025#ticket which makes all the tests pass on the platform; I just need to work on it some more. I expect Twisted 16.0 to have base support for Python 3 on Windows. As above, if I can help, please tell me how!
Our toolchain is a little clunky (sorry about that) for hysterical raisins.
Before I launch into an explanation though, are you already familiar with Git and/or how to contribute on GitHub?
-glyph
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python