[tor-dev] Query regarding GSOC '16 - txtorcon

Akash Mishra akashm14 at gmail.com
Sun Mar 20 21:27:33 UTC 2016


Hi meejah,

> Probably the best way to get a feel for what would have to happen to 
> support txaio (and thus asyncio) would be to take some method that 
> currently uses @inlineCallbacks and convert it to "just" callbacks + 
> Deferreds -- as txaio doesn't provide support for @inlineCallbacks / 
> @coroutine

I am still working on this.

> As for "txtorcon tickets to work on", have a look on GitHub. One good
> one might be https://github.com/meejah/txtorcon/issues/132 (if it's
> still relevant?) as obviously Python3 support would be interesting for
> anyone wanting to use asyncio.

I ran all the tests in python3 and generated two new tickets which
seemed relevant. However, I am consistently encountering 4 more errors
related to twisted  and zope. I have attached the terminal output with
appropriate details.
Would you be able take a look at it and let me know what am i doing
wrong?

Also, i have started working on the application. As i understand, my tasks
are to:
1. Read through the control-spec.
2. convert txtocon's @inlinecallbacks to callbacks + deferreds.
3. improve python3 support for txtorcon.
            (fix txsocksx preferably, try reducing magic in API)
4. replace deferred with txaio's calls.
5. Improve documentation to reflect the changes.

Am i missing something here? If yes, What else should i include ?
And what might be the mid-term deliverable expected ?

Thanks,
Akash

  

-------------- next part --------------
- Already created an issue for txsocksx, so i haven't included its error messages here.

1. test_addrmap gave the following errors : 

Unexpected error while writing cache file
Traceback (most recent call last):
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/scripts/trial.py", line 473, in postOptions
    _BasicOptions.postOptions(self)
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/scripts/trial.py", line 383, in postOptions
    self['reporter'] = self._loadReporterByName(self['reporter'])
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/scripts/trial.py", line 370, in _loadReporterByName
    for p in plugin.getPlugins(itrial.IReporter):
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/plugin.py", line 213, in getPlugins
    allDropins = getCache(package)
--- <exception caught here> ---
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/plugin.py", line 185, in getCache
    dropinPath.setContent(pickle.dumps(dropinDotCache))
builtins.AttributeError: 'ZipPath' object has no attribute 'setContent'   

test_addrmap
  py ...                                                                [ERROR]

===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/trial/runner.py", line 784, in loadByName
    return self.suiteFactory([self.findByName(name, recurse=recurse)])
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/trial/runner.py", line 699, in findByName
    obj = reflect.namedModule(searchName)
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/python/reflect.py", line 154, in namedModule
    topLevel = __import__(name)
  
  File "/home/machine/alcove/gsoc/aktxtor/test/test_addrmap.py", line 11, in <module>
    class AddrMapTests(unittest.TestCase):
  
  File "/home/machine/alcove/gsoc/aktxtor/test/test_addrmap.py", line 12, in AddrMapTests
    implements(IAddrListener)
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/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.

test_addrmap.py
-------------------------------------------------------------------------------
Ran 1 tests in 0.001s

FAILED (errors=1)

2.Following tests gave the same errors as above:
      - test_circuit.py
      - test_log
      - test_torinfo 





3. In addition to the above errors, following tests gave this error too:
      - test_endpoints
      - test_fsm
      - test_stream
      - test_torcontrol
      - test_util 
                                                                [ERROR]

===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/trial/runner.py", line 784, in loadByName
    return self.suiteFactory([self.findByName(name, recurse=recurse)])
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/trial/runner.py", line 699, in findByName
    obj = reflect.namedModule(searchName)
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/python/reflect.py", line 154, in namedModule
    topLevel = __import__(name)
builtins.SyntaxError: Missing parentheses in call to 'print' (test_endpoints.py, line 382)

test_endpoints.py
-------------------------------------------------------------------------------
Ran 1 tests in 0.001s

FAILED (errors=1)


4. In addition to errors listed in 1, these tests gave these errors too:

        - test_router
        - test_torstate

===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/trial/runner.py", line 784, in loadByName
    return self.suiteFactory([self.findByName(name, recurse=recurse)])

  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/trial/runner.py", line 699, in findByName
    obj = reflect.namedModule(searchName)
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/python/reflect.py", line 154, in namedModule
    topLevel = __import__(name)
builtins.SyntaxError: invalid syntax (test_router.py, line 151)

test_router.py
-------------------------------------------------------------------------------
Ran 1 tests in 0.001s

FAILED (errors=1)


5. This surprised me. In addition to all the errors listed above :

test_util_imports
  py ...                                                                [ERROR]

===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/trial/runner.py", line 784, in loadByName
    return self.suiteFactory([self.findByName(name, recurse=recurse)])
  
  File "/home/machine/miniconda2/envs/py35/lib/python3.5/site-packages/twisted/trial/runner.py", line 723, in findByName
    raise AttributeError("{} does not exist.".format(name))
builtins.AttributeError: test_util_imports.py does not exist.

test_util_imports.py
-------------------------------------------------------------------------------
Ran 1 tests in 0.001s


More information about the tor-dev mailing list