Port txsocksx to Python3 #2999
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#2999
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
txsocksx - https://pypi.org/project/txsocksx/ is a dependency for foolscap and it is Python2 only.
The following issue on foolscap project already references this - https://github.com/warner/foolscap/issues/37 but it is a bit old and not updated since July 2017.
The ticket #2998 has a downstream dependency on this ticket.
Started work on this - as a first step installed txsocksx in a Python3.5 virtual environment and got setup.py to work. Tests fail as of now.
The tests fail majestically.
After some 3 hours of head-banging got the grammar test to work. Woho...
So the idea here would be to prepare a patch for the grammar part and send it as PR to the original project, after filing an issue, to engage the upstream earlier than later.
The grammar fixes will be backwards compatible with Python2, so it should not break his code. The problem is txsocksx hasn't been updated in like 4 years!
Should have a patch ready in a day or two.
Makes sense I hope.
Updated upstream ticket with comment -> https://github.com/habnabit/txsocksx/issues/19
Reduced unit test errors to 22 for
test_client.py
(from 66)A full patch will probably take another 1-2 days. Btw I am on a short break from tomorrow, so you may not see much updates here till March 25.
Sorry for being away for a while. I am back now.
Ok, so today I worked for 4-5 hours after a long time and got the txsocksx unit tests passing in Python2 and 3.
(tx3) anand@anand-HP-Pavilion-Laptop-15-cc1xx:~/projects/anvetsu/tahoe/txsocksx/txsocksx/test_grammar\ {2019-06-03 15:15:12}
$ pytest
========================================================== test session starts
platform linux -- Python 3.5.6, pytest-4.3.1, py-1.8.0, pluggy-0.9.0
rootdir: /home/anand/projects/anvetsu/tahoe/txsocksx, inifile:
collected 76 items
test_client.py .................................................................. [ 86%]
test_grammar.py .......... [100%]
======================================================= 76 passed in 1.32 seconds
This does not mean txsocksx is fully ready for Python3. We will know only when the modified code is tested with foolscap.
Anyway, hopefully this update was useful.
By end of tomorrow (4th June), I would have made the changes available in my own port of txsocksx with more information here.
The changes are available in my fork @ https://github.com/pythonhacker/txsocksx . Only 7 more tests to be fixed now.
I expect I will be able to raise a PR with the txsocksx origin project in couple days and start working on foolscap by end of this week.
All tests pass now. All changes pushed to github. Perhaps someone could verify by checking out my code and letting me know if something is not working for them.
Foolscap no longer depends on txsocksx - https://github.com/warner/foolscap/issues/37#issuecomment-570762166