Tolerate Twisted-10.2's endpoints, patch by David-Sarah. Closes #1286.
authorBrian Warner <warner@lothar.com>
Mon, 17 Jan 2011 07:47:51 +0000 (23:47 -0800)
committerBrian Warner <warner@lothar.com>
Mon, 17 Jan 2011 07:47:51 +0000 (23:47 -0800)
commit09a2241471c56f0aa1eafb928e5b09f7124e5640
treeacf007c2708f2a993c0a76a9564dbc5e1fed51ed
parent1e377c2225bf81aa2e29522ad31d71ee4dec7c25
Tolerate Twisted-10.2's endpoints, patch by David-Sarah. Closes #1286.

The service generated by strports.service() changed in 10.2, and the ugly
private-attribute-reading hack we used to glean a kernel-allocated port
number (e.g. when using "tcp:0", especially during unit tests) broke, causing
Tahoe to be completely unusable with Twisted-10.2 . The new ugly
private-attribute-reading hack starts by figuring out what sort of service
was generated, then reads different attributes accordingly.

This also hushes a warning when using schemeless strports strings like "0" or
"3456", by quietly prepending a "tcp:" scheme, since 10.2 complains about
those. It also adds getURL() and getPortnum() accessors to the "webish"
service, rather than having unit tests dig through _url and _portnum and such
to find out what they are.
src/allmydata/test/common.py
src/allmydata/test/no_network.py
src/allmydata/test/test_web.py
src/allmydata/webish.py