Commit Graph

5242 Commits

Author SHA1 Message Date
meejah
14a0481d71 string -> comment 2019-06-24 12:27:09 -06:00
meejah
5701bad548 a module for errors 2019-06-24 12:12:10 -06:00
meejah
58e0b27374 better docstring 2019-06-24 11:57:56 -06:00
meejah
fd2934cb79 returns bytes 2019-06-24 11:45:38 -06:00
meejah
f253235c96 the IV is bytes 2019-06-24 11:41:46 -06:00
meejah
b7990264e8 module docstring 2019-06-24 11:41:26 -06:00
meejah
d2ad803b5d add a docstring for allmydata.crypto. 2019-06-24 11:29:34 -06:00
meejah
a88b53825c move utility functions to their own module, better docs on remote_prefix 2019-06-24 11:27:15 -06:00
meejah
bf16cf4c03 fix url 2019-06-23 11:25:59 -06:00
meejah
ce27c2ee24 use public_exponent 17 to match what was in use before 2019-06-23 00:28:41 -06:00
meejah
544ad5bb59 another test 2019-06-23 00:25:14 -06:00
meejah
ec98924b45 more docstrings, more tests 2019-06-23 00:05:49 -06:00
meejah
df0153a73e
Merge pull request #615 from meejah/3041.websocket-streaming-tests
Add websocket streaming tests
(fixes🎫#3041)
2019-06-21 18:11:18 +00:00
Jean-Paul Calderone
e0a31aebf5 Sort the static storage servers for deterministic tests 2019-06-21 08:38:57 -04:00
Jean-Paul Calderone
f5fc38e8a7 remove unused locals 2019-06-21 08:17:53 -04:00
meejah
7e38198c19 fix docstrings 2019-06-18 16:04:05 -06:00
meejah
41dd143872 unused variables 2019-06-17 22:40:44 -06:00
meejah
b6cd77d547 failUnlessEqual -> assertEqual, and some comment fixups 2019-06-17 22:23:24 -06:00
meejah
9e5b6f1d0e better comment, cleanup 2019-06-17 22:16:50 -06:00
meejah
a27a5ce581 test all error-cases, and some fixups 2019-06-17 21:56:06 -06:00
meejah
802f1afde6 fix and clarify docstrings 2019-06-17 19:16:39 -06:00
meejah
a36f2a8dc7 better docstrings 2019-06-17 18:57:42 -06:00
meejah
c2fbbe4f46 add docstrings 2019-06-17 18:55:26 -06:00
meejah
d0296b9ae8 redundant 2019-06-17 17:12:22 -06:00
meejah
310fb60247 move AES to a helper-function style 2019-06-17 15:54:46 -06:00
meejah
47ccdb0177 refactor ed25519 helpers to functional style
eliminates the wrapper classes and uses some more-explicit
names throughout (e.g "sk" -> "signing_key")
2019-06-13 22:19:28 -06:00
meejah
49b7756a8b formatting, and constants-naming 2019-06-13 22:19:28 -06:00
meejah
f261db7018 whitespace 2019-06-13 22:19:28 -06:00
meejah
02bc5c1f42 codechecks fixup 2019-06-13 22:19:28 -06:00
meejah
df4671f90e refactor away from pycryptopp "helper" classes 2019-06-13 22:19:28 -06:00
heartsucker
772d4bad23 remove pycryptopp from tests 2019-06-13 22:19:28 -06:00
heartsucker
1976f99201 fix signature verification 2019-06-13 22:19:28 -06:00
heartsucker
96ba55dd5c autopep8 on hashutil to make it more readable 2019-06-13 22:19:28 -06:00
heartsucker
44b268fee6 removed pycryptopp dependency 2019-06-13 22:19:28 -06:00
heartsucker
8063d93c6d replaced pytcryptopp rsa with our own wrapper 2019-06-13 22:19:28 -06:00
heartsucker
9e31bfe2f4 update code/test to use new ed25512 module 2019-06-13 22:19:28 -06:00
heartsucker
3a5a0fb572 replaced uses of pycryptopp's ed25519 with our own 2019-06-13 22:18:55 -06:00
heartsucker
74b1a0c279 ed25519 regression test 2019-06-13 22:18:55 -06:00
heartsucker
f3955453ba added ed25519 wrapper 2019-06-13 22:18:55 -06:00
heartsucker
008825b0fd replaced referecnes to pycryptopp AES with own wrapper 2019-06-13 22:18:55 -06:00
heartsucker
1dff7f93bd added regression tests for aes 2019-06-13 22:18:55 -06:00
heartsucker
405f396f79 added own aes wrapper 2019-06-13 22:18:55 -06:00
heartsucker
b9567ad25e added cryptography dependency 2019-06-13 22:18:55 -06:00
Jean-Paul Calderone
bbb1ebdd26 Make some assertions about the logging 2019-06-13 12:23:41 -04:00
Jean-Paul Calderone
b040a22ca3 Use the TempDir fixture 2019-06-13 12:22:53 -04:00
Jean-Paul Calderone
f6ad8fa56b Make the new test pass by catching and logging 2019-06-13 09:08:42 -04:00
Jean-Paul Calderone
dd0cda8a41 Add a test for a bogus announcement 2019-06-12 17:05:14 -04:00
Jean-Paul Calderone
92724449a0 unicode! 2019-06-12 17:03:24 -04:00
Jean-Paul Calderone
225aec912a refactor the test to use a servers.yaml fixture 2019-06-12 17:03:09 -04:00
Jean-Paul Calderone
b604d08463 Add a test for the success case 2019-06-12 16:47:25 -04:00
Jean-Paul Calderone
ad29e627cc refer to the interface 2019-06-11 16:32:29 -04:00
meejah
0cb1ba8634 autobahn dependency 2019-06-11 14:07:45 -06:00
Jean-Paul Calderone
9f9f45e331 warn away potential users 2019-06-04 10:13:07 -04:00
Jean-Paul Calderone
b109847c43 Remove unused local 2019-06-04 10:04:00 -04:00
Jean-Paul Calderone
d32d020b05 Remove another test use of get_rref 2019-05-31 16:09:29 -04:00
Jean-Paul Calderone
e745dbfb66 Take a get_rref` call out of the test suite 2019-05-31 15:54:44 -04:00
Jean-Paul Calderone
72cf590320 Use IStorageServer instead of RemoteReference in a lot of places 2019-05-31 13:41:07 -04:00
Jean-Paul Calderone
46a2065357 Offer a pass-through IStorageServer 2019-05-31 13:40:51 -04:00
Jean-Paul Calderone
97a4353c80 Update IServer with this new IStorageServer 2019-05-31 11:25:11 -04:00
Jean-Paul Calderone
8f4c994bea Make NativeStorageServer.rref private 2019-05-31 11:09:20 -04:00
meejah
f262e5d684 unused imports 2019-05-30 17:30:28 -06:00
meejah
04e72e208b cleanup 2019-05-30 17:30:28 -06:00
meejah
8938d556d9 whitespace 2019-05-30 17:30:28 -06:00
meejah
d2ea9c5158 get rid of flush() calls 2019-05-30 17:30:28 -06:00
meejah
811c7ea434 dead code 2019-05-30 17:30:28 -06:00
meejah
b3410c68b8 try some Autobahn websocket tests 2019-05-30 17:30:28 -06:00
tpltnt
e2b0b99e13 added old-style classes regression test 2019-05-30 09:22:08 +02:00
tpltnt
4c2f0db5d2 made OneShotObserverList a new-style class 2019-05-26 08:28:18 +02:00
tpltnt
c8f11dc2d3 ported old-style classes to new-style 2019-05-26 08:28:18 +02:00
Jean-Paul Calderone
e6c9131779 Merge remote-tracking branch 'origin/master' into 3038.stop-leaking-file-descriptors 2019-05-14 04:13:54 -04:00
Jean-Paul Calderone
463f6ae63c sigh, I don't know 2019-05-13 09:35:31 -04:00
Jean-Paul Calderone
79a230cce5 Fix stopping on Windows 2019-05-13 09:31:46 -04:00
Jean-Paul Calderone
d8b65d1374 Merge remote-tracking branch 'origin/master' into 3025.fix-test_runner-hangs 2019-05-13 07:19:59 -04:00
Jean-Paul Calderone
6110fb0b9c Skip the PID file checks on Windows 2019-05-13 06:28:57 -04:00
Jean-Paul Calderone
b5659bd312 Some gc hinting and docs 2019-05-09 15:45:07 -06:00
Jean-Paul Calderone
b31acb790a Try to clean up the fds created by listenOnUnused that might leak 2019-05-09 15:45:07 -06:00
Jean-Paul Calderone
628c7e7c5f remove the custom timeouts 2019-05-08 18:39:26 -06:00
meejah
b1414249f7
Merge pull request #612 from advanced4/master
update client.py to use DEFAULT_MAX_SEGMENT_SIZE
2019-05-09 00:36:52 +00:00
meejah
bc3d48ef30 get rid of skipIf usage 2019-05-08 14:52:19 -06:00
advanced4
ef127f113d
update client.py to use DEFAULT_MAX_SEGMENT_SIZE 2019-05-08 16:04:57 -04:00
Jean-Paul Calderone
b38a724d3d remove unused things 2019-05-03 12:09:21 -04:00
Jean-Paul Calderone
86d33e19c5 no more "tahoe start" here at all 2019-05-03 12:09:10 -04:00
Jean-Paul Calderone
aac36fb30a fix line separator 2019-05-03 12:09:03 -04:00
Jean-Paul Calderone
97e8ba8301 Remove test_client_no_noise and rewrite test_introducer
"tahoe run" has no quiet option so `test_client_no_noise` is not applicable.

This is a loss of the coverage of the quiet option for `tahoe start`.  That is
unfortunate but fixing any `tahoe start`-using test is really hard and the
functionality that is no longer covered is so trivial it hardly seems like it
made sense to test it by running multiple tahoe child processes anyway.
2019-05-03 11:36:11 -04:00
Jean-Paul Calderone
0e8472c017 rewrite test_baddir as several tahoe run-using tests 2019-05-03 08:55:35 -04:00
Jean-Paul Calderone
57fc078383 factor cleanup into api class 2019-05-03 07:27:58 -04:00
Jean-Paul Calderone
5a1183500e rewrite RunNode.test_client to use "tahoe run" 2019-05-02 14:21:35 -04:00
Jean-Paul Calderone
e6da5e6a82 Switch to simpler, declarative skip style 2019-05-02 12:52:06 -04:00
meejah
e63ee9b37e
Merge pull request #604 from ArdaXi/master
Make isdir argument to _ErrorTarget optional
2019-04-28 04:30:58 +00:00
Jean-Paul Calderone
0ab197d928 Add a test for the problematic case
Get the name in the warning right
2019-04-26 21:39:23 +02:00
meejah
fee6eb38a9
Merge pull request #603 from tahoe-lafs/3028-string-literals
updated string literal syntax for python3 compatibility
2019-04-26 17:39:38 +00:00
meejah
27a0a7400d
Merge pull request #600 from tahoe-lafs/3019-remove-tuple-unpacking
3019 remove tuple unpacking, Fixes: ticket:3019
2019-04-26 17:37:56 +00:00
heartsucker
05e0d19cca
updated string literal syntax for python3 compatibility 2019-04-25 11:18:33 +02:00
Arda Xi
2d6cc26127 Make isdir argument to _ErrorTarget optional 2019-04-21 19:33:41 +02:00
heartsucker
c0939e9b99
removed use of backticks for repr for python3 compatibility 2019-04-18 13:50:21 +02:00
heartsucker
a087a5be72
removed tuple unpacking in function definitons for python3 compatibility 2019-04-18 13:37:18 +02:00
Jean-Paul Calderone
edba0747a3 Use listenOnUnused instead of allocate_tcp_port in create_log_tub 2019-04-16 11:32:27 -04:00
Jean-Paul Calderone
6ea1684995 use listenOnUnused instead of allocate_tcp_port in create_control_tub 2019-04-16 11:26:52 -04:00
Jean-Paul Calderone
9a30eaa83c move listenOnUnused to a place where implementation code can use it 2019-04-16 11:26:15 -04:00
meejah
ff45bf6234
Merge pull request #588 from tahoe-lafs/3014-raise-syntax
Update raise syntax for Python3 compatibility
2019-04-08 20:46:52 +00:00
Jean-Paul Calderone
7bda21aa7d
Merge pull request #593 from tahoe-lafs/3021.test-suite-hang
Fix one of the test suite hangs.

Fixes: ticket:3021
2019-04-05 15:37:49 -04:00
Jean-Paul Calderone
c0e91814d7
Merge pull request #594 from tahoe-lafs/3023.some-immutable-upload-eliot-logging
Add some immutable upload eliot logging

Fixes: ticket:3023
2019-04-05 07:36:48 -04:00
heartsucker
ae5e282e2f
update raise syntax for python3 compatibility 2019-04-05 11:39:10 +02:00
Jean-Paul Calderone
552459b6a3 remove unused import 2019-04-04 19:45:31 -04:00
heartsucker
0750dbac38
updated all python files to use pep-3110 exception syntax for python3 compatibility 2019-04-04 11:57:58 +02:00
Jean-Paul Calderone
3c44cb65a9 add logging around peer selection and upload 2019-04-03 10:32:04 -04:00
Jean-Paul Calderone
83b520bd68 Log a couple of calls on the Encoder 2019-04-03 08:46:22 -04:00
heartsucker
f4ff91a6c1
updated python2 long numeric literals for python3 compatibility 2019-04-03 10:04:02 +02:00
Jean-Paul Calderone
7b314ceab8 Attempt to avoid the hang condition
The Python 2.7 subprocess module does not promise thread safety.
2019-04-01 12:54:51 -04:00
heartsucker
d8187a0f6a
Merge pull request #589 from tahoe-lafs/3015-octal-numeric-literals
updated instances of octal literals to use the format 0o123 for python3 compatibility
2019-03-31 11:24:39 +02:00
meejah
7263ceb1d1
Merge pull request #591 from tahoe-lafs/3017.magic-folder-double-start
Fix the MagicFolder double start problem
2019-03-29 17:38:37 +00:00
Jean-Paul Calderone
3c68f5897a
Merge pull request #555 from tahoe-lafs/2976.help-output-groups
Remove the attempt at grouping the subcommands.

Fixes: ticket:2976
2019-03-29 13:02:38 -04:00
heartsucker
129ef22185
updated instances of octal literals to use the format 0o123 for python3 compatibility 2019-03-29 11:08:44 +01:00
Jean-Paul Calderone
7511b5956b
Merge pull request #590 from tahoe-lafs/3016.address-already-in-use
Fix more "Address already in use" errors

Fixes: ticket:3016
2019-03-28 19:01:44 -04:00
Jean-Paul Calderone
a4a73a20a2 Fix incorrect assertion 2019-03-28 16:18:43 -04:00
Jean-Paul Calderone
53b40ef0e0 don't double start; don't try to handle double start. 2019-03-28 16:10:36 -04:00
Jean-Paul Calderone
a7d18780f2 try really hard to bind that random ephemeral port number 2019-03-28 16:06:25 -04:00
meejah
6970c2cc6d
Merge pull request #579 from tahoe-lafs/3001-python3-syntax-check
python3 syntax check
2019-03-28 19:14:59 +00:00
Jean-Paul Calderone
f5e287d3e9 Use the port assigner in test_introducer 2019-03-28 15:14:48 -04:00
Jean-Paul Calderone
4265cc8afd And for the NoNetworkGrid clients' web port config 2019-03-28 15:02:53 -04:00
Jean-Paul Calderone
2898b2477b Use the port assigner for the web port config as well 2019-03-28 15:02:14 -04:00
Jean-Paul Calderone
7c97503687 Move and somewhat refactor assign_foolscap_port.
These changes make it easier to re-use and remove the notion that it is
foolscap-specific.
2019-03-28 14:54:45 -04:00
heartsucker
be910fe269
updated syntax in directory.py to make whole allmydata.web python3 compatible 2019-03-28 12:32:13 +01:00
heartsucker
dbfcf8ae00
replaced StringIO imports with six.moves 2019-03-28 12:31:37 +01:00
meejah
664bd2dec8
Merge pull request #582 from tahoe-lafs/3010-remaining-print-functions
replaced all remaining instances of the print statement with the print function
2019-03-28 02:54:49 +00:00
meejah
d73626b7da
Merge pull request #580 from tahoe-lafs/3008-test-print-function
updated test code to use print function over print statement
2019-03-26 00:19:33 +00:00
meejah
d89647581b
Merge pull request #581 from tahoe-lafs/3009-print-functions-tahoe-scripts
replaced print statement with print fuction for all tahoe_* scripts
2019-03-26 00:07:08 +00:00
Jean-Paul Calderone
a26b9ca8af workaround https://github.com/crossbario/autobahn-python/issues/1151 2019-03-25 12:01:36 -04:00
Jean-Paul Calderone
848950a0c0 Merge remote-tracking branch 'origin/master' into ticket3006-websocket-streaming-logs 2019-03-25 08:42:30 -04:00
Jean-Paul Calderone
c2b8024856 remove this print
not sure where it came from
2019-03-24 11:33:41 -04:00
Jean-Paul Calderone
336e69c270 Hotfix for nevow#106 2019-03-24 11:26:58 -04:00
heartsucker
64f4dfa8ca
replaced all remaining instances of the print statement with the print function 2019-03-24 14:14:00 +01:00
heartsucker
fc417826f1
replaced print statement with print fuction for all tahoe_* scripts 2019-03-24 14:10:02 +01:00
Jean-Paul Calderone
78e458328e actually this returns the logs resource itself :/ 2019-03-22 16:54:33 -04:00
Jean-Paul Calderone
5ac7efc6f3 Make sure it succeeds with _OK_ 2019-03-22 16:43:08 -04:00
Jean-Paul Calderone
febfa50a83 make sure we get bytes here 2019-03-22 16:42:50 -04:00
Jean-Paul Calderone
794314668a this is not unicode, it came from a file, I guess 2019-03-22 15:50:58 -04:00
Jean-Paul Calderone
9de97dbdd5 Use guard and add some tests (integration failing) 2019-03-22 13:47:32 -04:00
heartsucker
df9243a3f4
updated test code to use print function over print statement 2019-03-22 17:32:36 +01:00
Jean-Paul Calderone
f7f9cf6abc
Merge pull request #576 from tahoe-lafs/3005.upstream-inline_callbacks
Use upstream inline_callbacks implementation.

Fixes: ticket:3005
2019-03-21 16:24:21 -04:00
Jean-Paul Calderone
58deb54cfc import cleanups 2019-03-21 15:01:25 -04:00
Jean-Paul Calderone
d00c4212a8 futurize 2019-03-21 15:01:14 -04:00
Jean-Paul Calderone
5f4f8d9dbb Create the /private hierarchy 2019-03-21 15:00:57 -04:00
Jean-Paul Calderone
2877c9b3c1 unused import 2019-03-21 15:00:19 -04:00
Jean-Paul Calderone
616fec0767 oops that should be gone too 2019-03-21 15:00:08 -04:00
Jean-Paul Calderone
e02962c3a3 Remove one more webport thingy 2019-03-21 14:39:52 -04:00
Jean-Paul Calderone
edf01d7817 don't compute the url, it doesn't seem to be necessary 2019-03-21 13:58:46 -04:00
meejah
956a39a6c1 clarify 2019-03-21 02:01:33 -06:00
meejah
dbea69c2d2 refactor 2019-03-21 01:52:45 -06:00
meejah
816ceb12cb make more things work 2019-03-21 01:37:47 -06:00
meejah
b734c893df prototype token-authenticated WebSocket stream 2019-03-20 18:14:47 -06:00
Jean-Paul Calderone
1f254fbdcc log the unicode instead of the localized byte string 2019-03-20 16:17:55 -04:00
Jean-Paul Calderone
5bdb37b786 Remove tests for removed code 2019-03-20 12:53:24 -04:00
Jean-Paul Calderone
e2d242d299 remove our implementation of inline_callbacks
re-publish Eliot's
2019-03-20 12:53:24 -04:00
Jean-Paul Calderone
e5e08e8410 Update pin to 1.7.x 2019-03-20 12:53:24 -04:00
Jean-Paul Calderone
a14d9f6116
Merge pull request #574 from tahoe-lafs/3004.eliotloggedruntest-addcleanup
Fix Eliot logging integration

Fixes: ticket:3004
2019-03-19 14:23:13 -04:00
Jean-Paul Calderone
32d56c4dcc Merge remote-tracking branch 'origin/master' into 3004.eliotloggedruntest-addcleanup 2019-03-19 12:29:18 -04:00
Jean-Paul Calderone
ae2be27e3a Merge remote-tracking branch 'origin/master' into 2995.remove-unnecessary-key-copying 2019-03-19 12:09:35 -04:00
Jean-Paul Calderone
4860d16401 Update the comment to reflect the updated implementation 2019-03-18 19:22:38 -04:00
Jean-Paul Calderone
20ba53f586 reflow for changed indentation level 2019-03-18 19:21:05 -04:00
Jean-Paul Calderone
55690bf639 Do it without a new flag
This is safer against other conditions where _deque ends up with items when we
start a scan - for example, if we chunk up deque processing.
2019-03-18 15:38:18 -04:00
Jean-Paul Calderone
6a4d461d38 only break it once because we don't do a full iteration after, now 2019-03-18 15:28:43 -04:00
Jean-Paul Calderone
d3fde4a4c5 and put the iterate into an action 2019-03-18 15:28:35 -04:00
Jean-Paul Calderone
0ac96e9113 put the _process_deque into an action too 2019-03-18 15:28:16 -04:00
Jean-Paul Calderone
20150541a7 put the _perform_scan into an eliot action 2019-03-18 15:27:38 -04:00
Jean-Paul Calderone
e1de96486c Don't re-run _perform_scan in this abstraction violating test
Just do what comes after _perform_scan
2019-03-18 15:11:25 -04:00
Jean-Paul Calderone
d1a62b1c99 Attempt to avoid the startup double-scan and related problems 2019-03-18 14:24:34 -04:00
Jean-Paul Calderone
c01c85522d Use the method
There is a method.  Why not use it?
2019-03-18 14:18:09 -04:00
Jean-Paul Calderone
50867bec8b Accept positional and keyword arguments and pass them on. 2019-03-15 15:13:20 -04:00
Jean-Paul Calderone
fda3d38c85 Avoid the extra dict lookup in the loop
Get the info at iteration time
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
dd7cb99ef4 Avoid another .keys() call 2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
c83749311f Avoid some function dispatch overhead
Also, we might avoid some dict lookup overhead by being optimistic about
finding the entry.  At worst, we do two lookups - which is just what we did
before.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
05eab3ce19 document these things since I had to figure them out 2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
d504ad118f Avoid the extra lookup inside this loop
Get the key and value at the same time during iteration.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
0e1bc2e786 As for the previous commit. 2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
62cb883ca2 Just iterate over the dictionary.
It is not shared with anyone.  It is not mutated inside the loop.  We can use
the no-copy dict iterator.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
e0c240a559 Use a MessageType so we can have a serializer
This allows us to avoid the .keys() call if logging is not actually enabled,
the common case.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
365ff1a02c explain why we need to touch() twice 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
5141105441 Fix typo 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
2cb710ac1e Just touch the path once 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
b14583f0e9 Remove this broken ignore_count thing
The only purpose it serves to make the tests invalid and useless.
2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
dfd0c6e54c fix "downloader" type in message type 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
3978c45b04 spit out the events as raw as we can 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
fef79cd4a3 re-use the _add_watch helper 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
fcb08b5a3a Move these Eliot events somewhere reusable 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
9ed019f8de Give the tests a little more time. Windows may need it. 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
64826aee37 Clean up stdout a bit 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
3176b6f18a Create the watchdog Observer sooner
This lets us watch before start which Windows seems to really want.
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
263755fb26 Watch before we start.
Linux and macOS are happy to watch after starting.  Our Windows support
library can't deal with such a case, though.

Linux is happy with the other order.  I'm about to find out if macOS is.

There are likely further Windows issues to deal with.
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
2205bf0fdd unused 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
241b6cedfe Remove the skipped tests
They're skipped because we don't need that functionality.  If we need it in
the future, we'll implement it with tests.
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
984d27ab62 simplify 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
67ccd21481 python syntax 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
35fc563a6f Attempt to work-around watchdog bug 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
e0b7919ad8 macOS is picky 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
4cccf5a316 it sure would be useful to be able to inspect these 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
c5c7f954e9 fix it! 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
515475022a add a test for deleting a file and its containing directory
at about the same time
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
0822a71163 If it's some _other_ error then propagate it! 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
c2e19cc098 fix a raft of directory handling issues 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
4b0b269b56 Perform the asserts earlier 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
ed755cf590 it didn't start if the path is invalid 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
f2cfad0cb9 There _is_ no traceback. It's an else. 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
db7af2661a Close a window for a race condition in notification processing 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
81ca822edf Cut the cost of this logging when logging is disabled 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
3ab7138598 some imports we need 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
7440ff6b93 log collective scanning 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
831836d5f6 don't try to propagate for non-directories 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
edfd9d3f92 rejected 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
cf2105364f Try to fix another race in this test 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
600f263a3b marginally improve reporting of uploader count failures 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
17540c78f3 not going to get processed any other way on fsevents 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
da0bbd6bba Make this log message less confusing.
The method name still needs to be fixed.
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
70ec8f2963 log this case 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
de9c681fe2 Let me query for direct children of a directory 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
d4752bde1a try to get more precise watchdog event info 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
4fc99b1b4d oops 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
bfa93adad0 expose another implementation detail! 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
b52524f701 this test probably makes no sense for watchdog 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
8bec797f66 somewhat better failure messages 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
944cb6f425 switch to testtools-compatible skips 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
1d0c862c54 convert some tests over to the new base class
in support of better logging
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
29e3390fb9 re-use log_call_deferred where it is easy to do so 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
807568e09f Log downloads 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
ae59679875 log this action 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
ec5ebc2738 fix the Deferred interactions with that last Eliot change 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
641cb8a506 Make these checks a little more informative 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
c63a75dd2a Tag some of test_alice_bob with Eliot actions 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
5d4564ad51 and this test 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
2d2b8a4b7f eliot this too 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
f38f53c28d Add some more action context to this test 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
9d65b5c155 Get back to the reactor thread sooner 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
49c5a1f8d5 remove harmless but irrelevant noise 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
2d5f175712 this is probably more useful and less surprising 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
0845c9ba80 no apparent reason for ths 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
fdd603e42d keep everything in the test context 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
725c85b2f4 try not creating a duplicate Observer 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
679b9a93c1 this is a chunk of work I guess 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
5331820325 Put some Eliot here 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
b19e7c5946 fix and improve callback logging 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
1ec0e48422 good housekeeping 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
3b5e8d7e6b move inotify events eliot field 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
1883cee37f speed up these failures 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
331b96250d Space out file modifications to fit within macOS constraints 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
6ccd9f4b44 try to get some indication of fake behavior in the log 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
e822d43808 add more detailed logging to this test 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
bda7301cb8 [wip] convert logging to eliot 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
7cbfc07b0c expunge low-grade debugging change 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
75d77305f9 avoid using a bool for a skip value 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
76a6f2d710 Why skip it? It works. 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
37cb9a1284 Fix the directory deletion test 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
006342d7d4 magic-folder doesn't use ignore 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
5273a930aa magic-folder doesn't use autoAdd=True 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
19400cc13d Neither of these events is used 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
e0c5905a7e Fix the move skips. And explain them. 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
2cfa88265b Turns out we don't care about IN_CREATE either 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
c57a70dbec remove skipped tests for behavior we obviously don't care about 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
df1c30d0d9 consistent whitespace 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
3a1dcb6bf6 macOS should now be considered a supported platform 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
720d2c67e6 Change to nicer used-names idiom
This avoids the pyflakes warning and tells users what they should use from the
module.
2019-03-14 11:23:16 -04:00
Chris Wood
c459b421b2 Try debugging Travis-CI... 2019-03-14 11:23:16 -04:00
Chris Wood
f5ca88c1f4 Fix broken conditional statement
Because sys.platform will never return "linux" on python2 -- only
"linux2" -- this statement will always be False. Instead, use the
startswith idiom to both provide the intended behavior and ensure future
compatibility with python3.
2019-03-14 11:23:16 -04:00
David Stainton
806215ad99 Fix inotify test skipping for windows 2019-03-14 11:23:16 -04:00
David Stainton
ed29b65325 Attempt to fix the inotify test skips 2019-03-14 11:23:16 -04:00
David Stainton
e0ab0db84a Attempt to fix test run on windows 2019-03-14 11:23:16 -04:00
David Stainton
beb84feb2d Fix broken test for inotify 2019-03-14 11:23:16 -04:00
David Stainton
26277c218c Skip inotify tests on windows 2019-03-14 11:23:16 -04:00
David Stainton
6cd2ab7965 Add watchdog inotify and tests 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
5004cdf7ea Remove the now *duplicate* notification. :/ 2019-03-14 10:16:19 -04:00
Jean-Paul Calderone
c507b78656 Always fire the hook in case someone is waiting. 2019-03-14 09:47:15 -04:00
Jean-Paul Calderone
a3fb74ae9c Time out the others, too. 2019-03-14 09:47:06 -04:00
Jean-Paul Calderone
b9be85bc8c Also time out the delete operation 2019-03-14 09:46:34 -04:00
Jean-Paul Calderone
156257bcd8 YES RECURSIVE PLEASE 2019-03-14 09:20:37 -04:00
Jean-Paul Calderone
101c3cf1c5 Put some Eliot messages in the info processing loop 2019-03-14 09:20:05 -04:00
Jean-Paul Calderone
8fa6c66c2f Convert this message to an action for success/failure reporting 2019-03-14 09:19:50 -04:00
Jean-Paul Calderone
5cf223645d Apply a reasonable timeout to this way.
The notification should be basically instantaneous...
2019-03-14 09:04:26 -04:00
Jean-Paul Calderone
b2facd133c Add a smarter FileOperationsHelper.write condition
Wait for the file we care about, not any random file.
2019-03-14 09:04:01 -04:00
Jean-Paul Calderone
0902277613 another primitive debug helper 2019-03-14 09:02:46 -04:00
Jean-Paul Calderone
17509e25d8 Add missing import. 2019-03-12 20:32:45 -04:00
Jean-Paul Calderone
831452f776 Add missing import 2019-03-12 20:32:15 -04:00
Jean-Paul Calderone
1c6725fcdd is there even the slightest chance you could possibly give me a break 2019-03-12 19:37:28 -04:00
Jean-Paul Calderone
9bac375c38 tell me what you're reading, too 2019-03-12 19:36:42 -04:00
Jean-Paul Calderone
aed5c4604e Log fs events on Windows 2019-03-12 19:36:10 -04:00
Jean-Paul Calderone
0e3c4d40b8 Add some Eliot events related to fs notifications 2019-03-12 19:35:36 -04:00
Jean-Paul Calderone
a9ec9c00bd Attempt to apply previous fix to second test
It worked there.  Therefore, it will work here!
2019-03-12 19:34:24 -04:00
Jean-Paul Calderone
aef9c53be8 Perhaps actually fix this test on Windows 2019-03-12 19:33:25 -04:00
Jean-Paul Calderone
5b49fd5813 Perhaps fix this test on Windows 2019-03-12 19:33:14 -04:00
Jean-Paul Calderone
a73f4d77b5
Merge pull request #568 from tahoe-lafs/2992.some-more-simple-magic-folder-tests
Add a couple simple Magic Folder unit  tests

Fixes: ticket:2992
2019-03-11 08:10:20 -04:00
Jean-Paul Calderone
bbb4671823
Merge pull request #567 from tahoe-lafs/2991.test_eliotutil-improvements
Quality of implementation improvements to test_eliotutil

Fixes: ticket:2991
2019-03-11 08:08:32 -04:00
Jean-Paul Calderone
5f2d74ef1b some simple tests 2019-03-08 14:15:20 -05:00
Jean-Paul Calderone
0831229953 Switch to testtools-style skip
Raising SkipTest just errors out the test.
2019-03-08 13:29:27 -05:00
Jean-Paul Calderone
9c3832a9e7 Skip this on Linux
testtools doesn't have this "todo" feature.  It has "expected failure" feature
but I'm not ready to try to use that.
2019-03-08 12:52:14 -05:00
Jean-Paul Calderone
fc0cfb1a59 testtools does not support the skip attribute 2019-03-08 12:52:08 -05:00
Jean-Paul Calderone
912152d6b2 just rely on the functionality from the base class 2019-03-08 12:17:31 -05:00
Jean-Paul Calderone
30d07d3fb5 explicitly publish these classes 2019-03-08 12:17:16 -05:00
Jean-Paul Calderone
9ad76688cc Clean up a couple logged errors.
I don't really understand them but I can flush them. :/
2019-03-08 11:54:42 -05:00
Jean-Paul Calderone
62531f020b Fix Eliot logging for tearDown 2019-03-08 11:54:42 -05:00
Jean-Paul Calderone
f0f478195d Fix Eliot logging for setUp 2019-03-08 11:54:42 -05:00
Jean-Paul Calderone
9abec67e43 Add Eliot logging for a couple setup helpers 2019-03-08 11:54:42 -05:00
Jean-Paul Calderone
a8d67a09a5 Add Eliot logging for cleanup action 2019-03-08 11:54:42 -05:00
Jean-Paul Calderone
eba642a9a1 Get rid of the duplicate base TestCase 2019-03-08 11:54:42 -05:00
Jean-Paul Calderone
64c5796a21
Merge pull request #565 from tahoe-lafs/2989.tempdir-cleanup
Add some tempfile cleanup to the test suite

Fixes: ticket:2989
2019-03-08 11:48:53 -05:00
Jean-Paul Calderone
859efdc589 there's another feature 2019-03-08 08:23:44 -05:00
Jean-Paul Calderone
c45b91e63c
Merge pull request #564 from tahoe-lafs/2988.mixin-supercalls
Fix some mixin supercalls

Fixes: ticket:2988
2019-03-08 07:47:36 -05:00
Jean-Paul Calderone
e4242704b1
Merge pull request #563 from tahoe-lafs/2987.log_call_deferred
Add Eliot logging helper

Fixes: ticket:2987
2019-03-08 07:46:36 -05:00
Jean-Paul Calderone
77b63e2855 This is unused! 2019-03-07 18:56:44 -05:00
Jean-Paul Calderone
1fdb13579a Oops. Testtools doesn't have these. 2019-03-07 18:56:37 -05:00
Jean-Paul Calderone
b2afe86b84 These tests leak resources. Clean them up. 2019-03-07 18:56:25 -05:00
Jean-Paul Calderone
925a3aed7b Add support for "broken" Twisted-style tests.
Some tests leak resources.  Clean up after them.
2019-03-07 18:55:52 -05:00
Jean-Paul Calderone
4de7077689 minimal docs 2019-03-07 18:54:15 -05:00
Jean-Paul Calderone
a1c8641359 these are always nice 2019-03-07 18:54:11 -05:00
Jean-Paul Calderone
19666c4c91 This class doesn't use poll. 2019-03-07 18:38:52 -05:00
Jean-Paul Calderone
1b6a5b60bf Switch from the decorator to EliotLoggedRunTest 2019-03-07 18:38:52 -05:00
Jean-Paul Calderone
51bee19b23 Add a testtools RunTest for Eliot integration 2019-03-07 18:38:52 -05:00
Jean-Paul Calderone
bbd3b200cb Use our base TestCase classes for these introducer tests
They gain free tempfile cleanup as a result.
2019-03-07 18:38:52 -05:00
Jean-Paul Calderone
565616dc75 Expand functionality of our base TestCase classes 2019-03-07 18:38:52 -05:00
Jean-Paul Calderone
8593bf1b1c Make helper method compatible with other unittests
The msg keyword argument is overly precise.  testtools reasonably calls it
`message` instead.
2019-03-07 18:38:52 -05:00
Jean-Paul Calderone
cb9ad3faa5 supercall tearDown *synchronously*
It doesn't like it if it only happens later, I guess.
2019-03-07 18:34:59 -05:00
Jean-Paul Calderone
afe97fdd8c Fix TestMixin 2019-03-07 18:25:31 -05:00
Jean-Paul Calderone
e26895b149 Fix SignalMixin 2019-03-07 18:25:16 -05:00
Jean-Paul Calderone
3814ccb947 Fix some setUp and tearDown 2019-03-07 14:04:17 -05:00
Jean-Paul Calderone
39694fcfde this include_args is basically useless 2019-03-07 13:30:54 -05:00
Jean-Paul Calderone
5de4f4094e let it not return a Deferred 2019-03-07 13:30:47 -05:00
Jean-Paul Calderone
9802ee4e19 Some basic tests 2019-03-07 13:30:29 -05:00
Jean-Paul Calderone
f4950cff46 Convert some code to show it off 2019-03-07 13:14:52 -05:00
Jean-Paul Calderone
7d6e36d9c7 A basic implementation of the idea. 2019-03-07 13:07:02 -05:00
Jean-Paul Calderone
bcfd2e8ea0 ADD_FILE Eliot action 2019-03-07 12:55:24 -05:00
Jean-Paul Calderone
2931721dfa
Merge pull request #560 from tahoe-lafs/2982.process-queue-logging-fix
Fix serialization errors in the Eliot logging for the queue state.

Fixes: ticket:2982
2019-03-04 12:37:24 -05:00
Jean-Paul Calderone
0be2cbccc9 We don't need quoting in Eliot structured logs.
Also quote_filepath seems to be doing the wrong thing but it's not entirely
clear how.
2019-03-04 11:00:08 -05:00
Jean-Paul Calderone
fa3429f1cc Serialize queue items using their path and type 2019-03-04 10:47:05 -05:00
Jean-Paul Calderone
26a7cc4f21 The log directory may not yet exist. 2019-03-04 10:08:53 -05:00
Jean-Paul Calderone
c6a2aa9fc7 There may not be any destinations. 2019-03-04 10:08:46 -05:00
Jean-Paul Calderone
7885ba6d72 write the logs 2019-03-04 09:44:00 -05:00
Jean-Paul Calderone
64ef320592
Merge pull request #557 from tahoe-lafs/2980.eliot-destination-escaping
Fix escaping in Eliot destinations

Fixes: ticket:2980
2019-02-27 10:16:46 -05:00
Jean-Paul Calderone
3b804d84bf Restore the log event that the integration tests depend on 2019-02-27 09:12:09 -05:00
Jean-Paul Calderone
fe60980ccc and switch away from Windows drive separator... 2019-02-27 06:42:57 -05:00
Jean-Paul Calderone
d203fde9f6 Change away from the Windows directory separator for the escape char 2019-02-26 19:06:35 -05:00
Jean-Paul Calderone
25a62001dd Improve the failure case user experience
And test it
2019-02-26 19:05:39 -05:00
Jean-Paul Calderone
46692b5835 remove the duplicate reporting of this failure
it bubbles out of _process and the caller logs it
2019-02-26 15:10:33 -05:00
Jean-Paul Calderone
f89fe3a5ad get this item status in the right action context 2019-02-26 15:10:24 -05:00
Jean-Paul Calderone
42d8e8dba4 overcome finger muscle memory 2019-02-26 15:09:55 -05:00
Jean-Paul Calderone
9351e47ae6 improve events reporting 2019-02-26 15:09:48 -05:00
Jean-Paul Calderone
ebeeba456f fix conflict logging 2019-02-26 14:38:24 -05:00
Jean-Paul Calderone
3fca501d45 unused 2019-02-26 14:38:00 -05:00
Jean-Paul Calderone
92449563d4 no callers remain 2019-02-26 14:26:45 -05:00
Jean-Paul Calderone
7d8d74425c Convert Downloader._process 2019-02-26 14:26:37 -05:00
Jean-Paul Calderone
248449fefa convert _filter_batch_to_deque 2019-02-26 14:26:00 -05:00
Jean-Paul Calderone
51e8edbad7 Don't just leave this Deferred dangling 2019-02-26 13:45:39 -05:00
Jean-Paul Calderone
354dceda79 Get rid of last returnValue use
Supporting it with Eliot is challenging and we don't actually need it.
2019-02-26 13:45:39 -05:00
Jean-Paul Calderone
1d97486c29 Flush the UnrecoverableFileError from perform-scan 2019-02-26 13:45:39 -05:00