meejah
d1307cf05c
fix one more
2018-09-10 21:58:27 -06:00
meejah
43d857a0bd
more refactor + fix some node tests
2018-09-10 21:58:27 -06:00
meejah
0f22b9bad0
fixups after rebase
2018-08-25 02:23:58 -06:00
meejah
65ebde6f9d
fix incorrect rebase resolutions
2018-08-25 02:12:02 -06:00
meejah
74b560c3c2
failUnless -> assert
2018-08-25 02:10:44 -06:00
meejah
7db48e3677
skip using decorator
2018-08-25 02:10:44 -06:00
meejah
89872b832c
docstring, naming improvements
2018-08-25 02:10:44 -06:00
meejah
38dac24b2b
use skipIf decorator, not inline logic
2018-08-25 02:10:44 -06:00
meejah
d478cf3831
add some docstrings, fix comments
2018-08-25 02:10:44 -06:00
meejah
629185d98f
skip some tests on windows (permissions)
2018-08-25 02:10:44 -06:00
meejah
5000787c18
flake8
2018-08-25 02:10:44 -06:00
meejah
27ea11d164
dead code
2018-08-25 02:10:44 -06:00
meejah
dd2209a96c
tests to cover config changes
2018-08-25 02:10:44 -06:00
meejah
ab947704f0
replace PortLocations tests
...
The old tests were hard to read due to all the "if"
statements; these might be slightly more verbose but
also more explicit
2018-08-25 02:10:44 -06:00
meejah
2937c729e3
change imports; introducer client.read_config
2018-08-25 02:10:44 -06:00
meejah
4c7f60f42a
test fixups from review
2018-08-25 02:10:44 -06:00
meejah
d544284f92
introduce create_node_dir
2018-08-25 02:10:44 -06:00
meejah
c93ee4f867
document a test-method
2018-08-25 02:10:44 -06:00
meejah
35810a5692
pull 'basedir' entirely into _Config
...
Put all config-related methods into _Config; change
code to ask config for paths instead of using basedir;
add some better docstrings
2018-08-25 02:10:44 -06:00
meejah
e9879abc93
add unit-tests
2018-08-17 15:53:59 -06:00
meejah
4aec12a92f
whitespace on long lines
2018-08-17 15:53:59 -06:00
meejah
3723945296
Actually validate configs when loading them
...
An indenting problem meant the validators weren't being
called, which revealed some follow-on errors.
2018-08-17 15:53:59 -06:00
tpltnt
0461cc0148
only one module import per line
2018-03-02 16:45:11 +01:00
meejah
1b6f477549
Pull "config" handling out of Node and hide node-derivitives
...
This includes:
- refactor to create_client and _Client
- refactor to _IntroducerNode and create_introducer
2017-11-20 12:57:20 -07:00
Brian Warner
097abb42fa
tahoe.cfg: add tub.port=listen:i2p (and/or listen:tor)
...
This delegates the construction of the server Endpoint object to the i2p/tor
Provider, which can use the i2p/tor section of the config file to add options
which would be awkward to express as text in an endpoint descriptor string.
refs ticket:2889 (but note this merely makes room for a function to be
written that can process I2CP options, it does not actually handle such
options, so it does not close this ticket yet)
2017-11-03 00:24:46 -07:00
meejah
e2a5751d02
at least use random port
2017-08-08 10:42:11 -06:00
str4d
6071c2b6f8
Implement i2p_provider and --listen=i2p
...
Closes ticket:2838
2016-10-23 20:30:01 -05:00
Brian Warner
89eb86c5a4
node.py: use tor_provider at startup
...
We use it for two things: to create the foolscap connection handler, and
to possibly start an .onion listener at startup.
This also updates node._common_config_sections to accept the new tor
settings written by create-node/create-introducer.
2016-10-09 01:21:51 -04:00
Brian Warner
b00c2d21b7
test tub.port with multiple endpoints, add docs
...
I think the preferred way to listen on both IPv4 and IPv6 will be to use
"--port=tcp:PORT,tcp6:PORT". This is now reflected in the docs.
refs ticket:867
2016-09-20 13:04:06 -07:00
Brian Warner
076b3895dc
config: change syntax of no-listen mode
...
We now use::
tub.port = disabled
tub.location = disabled
instead of using an empty value (but the key still being present, since
if the key is missing entirely, that means "be automatic").
closes ticket:2816
2016-09-01 21:26:48 -07:00
Brian Warner
fea8b627dd
if tub.port is empty, don't listen
...
Updated config docs. Added errors if we're not listening but were told
to enable storage, helper, or if we're the Introducer server.
closes ticket:2816
2016-08-29 22:28:55 -07:00
Brian Warner
ffc2f48cfe
compute tub location before creating Tub
...
This can be done synchronously because we now know the port number
earlier. This still uses get_local_addresses_sync() (not _async) to do
automatic IP-address detection if the config file didn't set
tub.location or used the special word "AUTO" in it.
The new implementation slightly changes the mapping from tub.location to
the assigned location string. The old code removed all instances of
"AUTO" from the location and then extended the hints with the local
ones (so "hint1:AUTO:hint2" turns into "hint1:hint2:auto1:auto2"). The
new code exactly replaces each "AUTO" with the local hints (so that
example turns into "hint1:auto1:auto2:hint2", and a silly
"hint1:AUTO:AUTO" would turn into "hint1:auto1:auto2:auto1:auto2"). This
is unlikely to affect anybody.
2016-04-26 18:39:47 -07:00
Daira Hopwood
c830419e04
Eliminate mock dependency.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-17 22:12:25 +01:00
Daira Hopwood
759512da28
Add tests for combining autodetected and statically configured locations. refs #754
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-10 17:12:43 +00:00
Daira Hopwood
10ebbeebaa
test_node.py: refactor test_location* to reduce code duplication. refs #754
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-10 17:12:43 +00:00
Daira Hopwood
883dd9795b
Error if a .furl config entry contains an unescaped '#'. fixes #2128
...
Author: Andrew Miller <amiller@dappervision.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-05-05 22:55:50 +01:00
Brian Warner
26d3869076
node.py: add get_private_config()
...
Also add tests for this and the pre-existing private-config methods.
2012-06-10 17:46:38 -07:00
david-sarah
a555336910
Make sure that foolscap.logging.log.setLogDir is called with a str (not unicode) path, v2. Includes test. fixes #1725
2012-04-29 02:28:44 +00:00
david-sarah
972beffb25
test_node.py: test that we tolerate a UTF-8 BOM at the start of tahoe.cfg, and can read UTF-8 option values. refs #1470
2011-08-08 18:05:52 +00:00
david-sarah
e76092e16c
Change relative imports to absolute
2010-02-26 01:14:33 -07:00
Brian Warner
e9223fcd0e
hush pyflakes-0.4.0 warnings: slightly less-trivial fixes. Closes #900 .
...
This includes one fix (in test_web) which was testing the wrong thing.
2010-01-14 14:17:19 -08:00
Brian Warner
c9803d5217
switch all foolscap imports to use foolscap.api or foolscap.logging
2009-05-21 17:38:23 -07:00
Brian Warner
f35c659b2f
tests: stop using setUpClass/tearDownClass, since they've been deprecated in Twisted-8.2.0
2009-02-23 14:43:12 -07:00
Brian Warner
9976bd439a
tahoe.cfg: add tub.location, to override the location hints we include in our FURL. This replaces advertised_ip_addresses, which doesn't remain useful enough to retain it. Helps with #517 (Tor).
2008-11-12 18:44:58 -07:00
Brian Warner
b73c380cdb
move testutil into test/common_util.py, since it doesn't count as 'code under test' for our pyflakes numbers
2008-10-28 21:28:31 -07:00
Brian Warner
78d58875a8
test_node: improve coverage of advertised_ip_addresses a bit
2008-09-29 23:08:16 -07:00
Zooko O'Whielacronx
8c65bdcf9d
put all private state in $BASEDIR/private
...
fixes #219
The only part of #219 that this doesn't include is the part about
logpublisher, which has been moved out of tahoe into foolscap.
2007-12-17 16:39:54 -07:00
Brian Warner
69b65b6b01
remove logpublisher, use the Foolscap version now that this functionality has been moved into Foolscap-0.2.2
2007-12-12 20:31:01 -07:00
Brian Warner
e52e14cc66
remove tests of logging functionality that's been subsumed by foolscap logging
2007-12-12 20:23:53 -07:00
Brian Warner
cc1612aee5
hierarchical logging: add numbered messages and parent= args
2007-11-19 18:23:18 -07:00