Commit Graph

3805 Commits

Author SHA1 Message Date
Jean-Paul Calderone
be559ab3a5 Turn the XXX into a TODO'd test and a ticket 2020-12-15 13:31:18 -05:00
Jean-Paul Calderone
29f0ae0554 These don't need to be methods. Also docstrings are nice. 2020-12-15 13:30:58 -05:00
Itamar Turner-Trauring
4a587836a5 Port eliotutil and tests to Python 3. 2020-12-15 10:13:46 -05:00
Itamar Turner-Trauring
6a29568888 Fix flakes. 2020-12-15 09:16:50 -05:00
Itamar Turner-Trauring
c7f2b7dd7c Merge remote-tracking branch 'origin/master' into 3552.test_system-python-3 2020-12-15 09:13:32 -05:00
Jean-Paul Calderone
5c6e0a2bb4 docstrings 2020-12-14 18:33:28 -05:00
Jean-Paul Calderone
677e62e73e Return the canned handler 2020-12-14 18:29:50 -05:00
Jean-Paul Calderone
4b1c6a2815 Remove these reactor parameters 2020-12-14 17:42:30 -05:00
Jean-Paul Calderone
b6ea3f47c8 unused imports 2020-12-14 16:58:22 -05:00
Jean-Paul Calderone
01507e4f93 some direct tests for DaemonizeTheRealService 2020-12-14 16:57:20 -05:00
Jean-Paul Calderone
a9bcd6270a Merge remote-tracking branch 'origin/master' into 3557.GuessedAtParserWarning 2020-12-14 15:41:31 -05:00
Jean-Paul Calderone
035cd8b4ac Merge remote-tracking branch 'origin/master' into 3532.test_node-no-mock 2020-12-14 15:35:42 -05:00
Jean-Paul Calderone
39628cbb4e
Merge pull request #921 from tahoe-lafs/3550.remove-start-stop-restart-daemonize
remove start stop restart daemonize

Fixes: ticket:3550
Fixes: ticket:3523
Fixes: ticket:3524
2020-12-14 14:58:35 -05:00
Itamar Turner-Trauring
c7759cb82c Try to fix test_web.py on Python 2. 2020-12-14 13:53:12 -05:00
Itamar Turner-Trauring
37d46cfb3d Merge remote-tracking branch 'origin/master' into 3552.test_system-python-3 2020-12-14 13:32:43 -05:00
Itamar Turner-Trauring
28f46e9b06 test_system.py passes on both Python 2 and Python 3. 2020-12-14 11:07:37 -05:00
Jean-Paul Calderone
bdb7c50fac You can just use multiple terminals
If you know how to daemonize stuff you can figure it out yourself I guess.
2020-12-14 09:38:16 -05:00
Jean-Paul Calderone
a0931f4999 You can pass the introducer on the command line 2020-12-14 09:38:06 -05:00
Jean-Paul Calderone
0a1c2386b9 client must be running already 2020-12-14 09:37:04 -05:00
Jean-Paul Calderone
7638064818 Merge remote-tracking branch 'origin/master' into 3532.test_node-no-mock 2020-12-14 09:32:33 -05:00
Sajith Sasidharan
b787de0acc Fix BeautifulSoup's GuessedAtParserWarning 2020-12-13 06:49:49 -05:00
Jean-Paul Calderone
34cd1efaa4 For the sake of clarity, stop talking about daemons here 2020-12-12 18:34:49 -05:00
Jean-Paul Calderone
b58b07a9d7 Fold run_common into tahoe_run since there are no other run-like commands anymore 2020-12-12 18:26:22 -05:00
Jean-Paul Calderone
f17a5dfafc key-generator was apparently removed long ago 2020-12-12 17:40:13 -05:00
Jean-Paul Calderone
51e50671e5 Get rid of the "tahoe start" and "tahoe stop" and fix the obvious problems
This just requires the client node to already be running now.
2020-12-11 15:32:24 -05:00
Itamar Turner-Trauring
98330d7186 Merge remote-tracking branch 'origin/master' into 3552.test_system-python-3 2020-12-11 13:24:04 -05:00
Itamar Turner-Trauring
cf6206ca42 Fix test_filesystem_with_cli_in_subprocess on Python 2. 2020-12-11 12:37:23 -05:00
Itamar Turner-Trauring
36f18e0afb Fix test_filesystem on Python 2. 2020-12-11 12:30:12 -05:00
Jean-Paul Calderone
efac902e57 Slightly better user-facing privacy error message here 2020-12-11 11:23:02 -05:00
Itamar Turner-Trauring
36e53caaeb Add test coverage for packing UnknownNode with missing read-only URI. 2020-12-11 11:14:50 -05:00
Itamar Turner-Trauring
66cd68d325 Merge remote-tracking branch 'origin/master' into 3553.nodemaker-python-3 2020-12-11 10:48:50 -05:00
Jean-Paul Calderone
9259264d27 Get rid of the remaining mocks 2020-12-11 10:38:15 -05:00
Jean-Paul Calderone
733223c8d7 Refactor create_main_tub to make testing tub location logic easier
Then take advantage of this and simplify the tub location logic test
2020-12-11 10:34:30 -05:00
Jean-Paul Calderone
624916e06b
Merge branch 'master' into 3550.remove-start-stop-restart-daemonize 2020-12-10 19:47:47 -05:00
Jean-Paul Calderone
1c7c228f90 Merge remote-tracking branch 'origin/master' into 3549.remove-stats-gatherer 2020-12-10 18:27:54 -05:00
Itamar Turner-Trauring
a2e2ee596b Some progress(?) towards passing tests. 2020-12-10 11:47:02 -05:00
Itamar Turner-Trauring
ba9e0db66e Skip test_filesystem on Python 3 for now. 2020-12-10 11:17:46 -05:00
Itamar Turner-Trauring
5c1d904f57 Skip test on Python 3 for now, since that is not going to work in short term. 2020-12-10 11:00:15 -05:00
Itamar Turner-Trauring
c356ced49b Another passing test on Python 3. 2020-12-10 10:56:41 -05:00
Itamar Turner-Trauring
36bf9224e6 More progress on Python 3, unbreak Python 2. 2020-12-10 10:52:07 -05:00
Itamar Turner-Trauring
fb621f4388 Port idlib to Python 3, making its behavior consistent across Python 2 and 3. 2020-12-10 10:11:43 -05:00
Itamar Turner-Trauring
e9b0a526bd
Merge branch 'master' into 3551.more-immutable-python-3 2020-12-10 10:06:53 -05:00
Jean-Paul Calderone
4ac95a1ede Merge remote-tracking branch 'origin/master' into 3522.test_alias-no-mock 2020-12-10 07:19:43 -05:00
Jean-Paul Calderone
066e98874b Point at do_cli_unicode here too 2020-12-10 07:17:24 -05:00
Jean-Paul Calderone
2f53225765 better helper name 2020-12-10 07:06:01 -05:00
Jean-Paul Calderone
4bb28cadcb motivate its existence a bit more 2020-12-10 07:04:28 -05:00
Jean-Paul Calderone
c39f7721af run_cli_bytes docstring 2020-12-10 07:03:24 -05:00
Jean-Paul Calderone
d29d9c57e7 These values aren't used for the exercised codepaths
So just use None instead.  Kind of a weak fix but a fix nonetheless.
2020-12-10 06:59:41 -05:00
Jean-Paul Calderone
89441d9169 Refactor create_connection_handlers so we don't need Tor and I2P mocks 2020-12-09 16:18:48 -05:00
Jean-Paul Calderone
e2963856d3 Dependency Injection for _tub_portlocation 2020-12-09 15:48:40 -05:00
Itamar Turner-Trauring
995f271d38 Merge branch '3553.nodemaker-python-3' into 3552.test_system-python-3 2020-12-09 15:01:01 -05:00
Itamar Turner-Trauring
96fd1861d2 Port to Python 3. 2020-12-09 14:58:54 -05:00
Itamar Turner-Trauring
5cba8a4380 Port to Python 3. 2020-12-09 14:45:07 -05:00
Itamar Turner-Trauring
b1800c457d All tests pass on Python 3. 2020-12-09 14:33:56 -05:00
Itamar Turner-Trauring
ff64432282 More passing on Python 3.. 2020-12-09 14:14:07 -05:00
Itamar Turner-Trauring
59968d099c More passing tests. 2020-12-09 14:05:03 -05:00
Itamar Turner-Trauring
016240d6e6 More passing tests on Python 3. 2020-12-09 13:50:15 -05:00
Itamar Turner-Trauring
6b8fd2f29d Some progress towards passing tests on Python 3. 2020-12-09 13:45:31 -05:00
Itamar Turner-Trauring
63ff67a7be Ported to Python 3. 2020-12-09 13:33:01 -05:00
Itamar Turner-Trauring
eb55c10eea Tests pass on Python 3. 2020-12-09 13:28:16 -05:00
Itamar Turner-Trauring
5924da93d8 More bytes. 2020-12-09 13:18:45 -05:00
Itamar Turner-Trauring
add26895cf Another passing test on Python 3. 2020-12-09 13:11:39 -05:00
Itamar Turner-Trauring
b61b0a9001 Some more progress towards Python 3. 2020-12-09 13:02:29 -05:00
Itamar Turner-Trauring
1ab1aaea47 Some more progress towards Python 3. 2020-12-09 12:59:37 -05:00
Itamar Turner-Trauring
1adb40cf3b Some more progress towards Python 3. 2020-12-09 12:52:53 -05:00
Itamar Turner-Trauring
b11161a7aa Start porting to Python 3. 2020-12-09 12:47:07 -05:00
Jean-Paul Calderone
74c3990456 This extra stop complexity is no longer needed 2020-12-09 10:57:02 -05:00
Jean-Paul Calderone
5b0190b9a1 Remove some more test code related to start/restart/stop 2020-12-09 10:51:48 -05:00
Jean-Paul Calderone
d346c90c6e This is gonna take some work 2020-12-09 10:51:48 -05:00
Jean-Paul Calderone
ca92fa4eb5 Don't think about "tahoe start" 2020-12-09 10:51:48 -05:00
Jean-Paul Calderone
4d28b0ec27 Get rid of "tahoe start", "tahoe daemonize", "tahoe stop", "tahoe restart" 2020-12-09 10:51:48 -05:00
Jean-Paul Calderone
9412cf70c2 remove unused helper 2020-12-09 10:36:17 -05:00
Jean-Paul Calderone
3fd1b336b4 Don't test stats gatherer support in the runner 2020-12-09 10:32:49 -05:00
Jean-Paul Calderone
d916c725e6 Don't set up or query a stats gatherer in test_system 2020-12-09 10:32:26 -05:00
Itamar Turner-Trauring
0cf9be18d7 Merge remote-tracking branch 'origin/master' into 3544.furls-not-bytes-maybe 2020-12-08 16:08:12 -05:00
Itamar Turner-Trauring
754b88a0b9 Fix failing test. 2020-12-08 13:47:53 -05:00
Jean-Paul Calderone
69d3dad646 Get rid of remote_host / get_remote_host
Nothing uses it and if we don't provide it we don't need getLocationHints
2020-12-08 10:37:31 -05:00
Jean-Paul Calderone
eddf7fd8f9 Remove the pre-generated key/certificate 2020-12-08 10:34:25 -05:00
Itamar Turner-Trauring
dcd865897e
Merge branch 'master' into 3544.furls-not-bytes-maybe 2020-12-08 10:30:00 -05:00
Jean-Paul Calderone
d83e4790c3 Let subscribed_to get initialized right 2020-12-07 13:14:00 -05:00
Jean-Paul Calderone
d415bda72a
Merge branch 'master' into 3521.test_storage_client-no-mock 2020-12-07 12:03:50 -05:00
Jean-Paul Calderone
61ee26fb00 ticket reference 2020-12-07 10:46:20 -05:00
Jean-Paul Calderone
72744c9464 more docstrings and properly support (and use) encoding=None throughout 2020-12-07 09:47:48 -05:00
Jean-Paul Calderone
05d271c7c8 a little more exposition 2020-12-07 09:26:58 -05:00
Jean-Paul Calderone
7b3a5aceb8 These tests can't reach any of the codepaths where quote_output matters
So simplify
2020-12-07 09:21:56 -05:00
Jean-Paul Calderone
f4432d3f23 Respect the provided encoding
UTF-8 is great but if we're claiming the encoding is something else everywhere
else we can't just make it UTF-8 here.
2020-12-07 09:12:38 -05:00
Jean-Paul Calderone
56f141e170 decode instead of encoding in maybe_decode
legacy from when the bytes/unicode tower was upsidedown compared to how it is now
2020-12-07 09:12:04 -05:00
Jean-Paul Calderone
72a5b571ca Only test the cases we can make work everywhere
These tests previously (in this branch) tried to exercise more ``show_output``
logic than they can actually reach due to the requirement that argv be
interpretable.  Shrink the test suite down to just what we can squeeze through
argv and deal with fully testing ``show_output`` elsewhere.
2020-12-07 09:10:59 -05:00
Jean-Paul Calderone
93b30d0dde The implementation can't reliably see the encoding we're faking without this 2020-12-07 09:06:21 -05:00
Jean-Paul Calderone
8ca98bb8ca using run_cli_unicode, better expect unicode result 2020-12-07 09:06:00 -05:00
Jean-Paul Calderone
c12b082fa7 Put run_cli back largely how it was
Also deal with StringIO better in show_output
2020-12-06 20:37:28 -05:00
Jean-Paul Calderone
2955d22f72 note a problem with test_system 2020-12-06 18:38:51 -05:00
Jean-Paul Calderone
77bebb9916 [wip] remove mock from test_alias, along with a bunch of encoding-related changes :/ 2020-12-06 17:00:34 -05:00
Jean-Paul Calderone
c4b58fe00b unused import 2020-12-06 11:04:19 -05:00
Jean-Paul Calderone
238590d7fd Remove mock by removing a bunch of unicode shenanigans 2020-12-06 11:03:44 -05:00
Jean-Paul Calderone
8278fa9c62 Name the pem so it gets installed
Also use the new_tub helper that reads the pem so we don't have to generate a
new cert in this test
2020-12-06 10:39:25 -05:00
Jean-Paul Calderone
386f30fa79 Remove Mock from test_threshold_reached 2020-12-06 10:30:08 -05:00
Jean-Paul Calderone
24709fa758
Merge branch 'master' into 3547.furl-py36-regression 2020-12-05 13:29:27 -05:00
Jean-Paul Calderone
d7f005badd
Merge branch 'master' into 3520.test_client-no-mock 2020-12-05 12:55:25 -05:00
Jean-Paul Calderone
ac7491680b fix unicode/bytes stuff in the affected tests 2020-12-05 09:06:45 -05:00
Jean-Paul Calderone
bdc75c3361 Merge remote-tracking branch 'origin/master' into 3539.nodemaker-weakrefdict 2020-12-05 07:23:54 -05:00
Jean-Paul Calderone
15d0207f89
Merge pull request #897 from tahoe-lafs/3504.private-introducer-furl
Deprecate tahoe.cfg [client]introducer.furl

Fixes: ticket:3504
2020-12-04 09:44:19 -05:00
Itamar Turner-Trauring
b716456019 Merge remote-tracking branch 'origin/master' into 3544.furls-not-bytes-maybe 2020-12-02 15:24:31 -05:00
Itamar Turner-Trauring
71d287c1c1
Merge pull request #905 from tahoe-lafs/3514.test-introducer-python-3
Port test_introducer.py to Python 3

Fixes ticket:3514
2020-12-02 15:24:17 -05:00
Jean-Paul Calderone
a0d46c6f09 Merge remote-tracking branch 'origin/master' into 3504.private-introducer-furl 2020-12-02 09:22:09 -05:00
Itamar Turner-Trauring
d5ba1be5bc Passing tests. 2020-11-30 17:56:50 -05:00
Itamar Turner-Trauring
17ec22ab84 Even more debytification of furls. 2020-11-30 17:55:37 -05:00
Itamar Turner-Trauring
22c328d6d3 More debytification. 2020-11-30 17:41:15 -05:00
Itamar Turner-Trauring
67694889da Some progress towards ripping out furls-as-bytes. 2020-11-30 17:20:39 -05:00
Itamar Turner-Trauring
27102c0d89 Merge remote-tracking branch 'origin/master' into 3514.test-introducer-python-3 2020-11-30 16:47:21 -05:00
Itamar Turner-Trauring
eaca639b6f Undo changes that should probably be in a different branch. 2020-11-30 16:28:26 -05:00
Jean-Paul Calderone
17ed8afd2f Make the new test data files installable
There's an existing rule that matches *.txt
2020-11-30 13:37:21 -05:00
Jean-Paul Calderone
ef2f7e6136 unused import 2020-11-30 13:27:46 -05:00
Jean-Paul Calderone
2ac4af7fb4 Add some direct tests for NodeMaker.create_from_uri 2020-11-30 13:26:32 -05:00
Jean-Paul Calderone
4ca45aaa93 Catch basedir type errors earlier 2020-11-30 13:23:18 -05:00
Jean-Paul Calderone
805378ef11 Do more path stuff with FilePath 2020-11-26 20:53:57 -05:00
Jean-Paul Calderone
c82501e0dc Merge remote-tracking branch 'origin/master' into 3511.config-set-config 2020-11-26 11:01:18 -05:00
Jean-Paul Calderone
152c04e48c
Merge pull request #902 from tahoe-lafs/3512.localized-tempdir
Per-node web temp directory

Fixes: ticket:3512
2020-11-25 18:18:36 -05:00
Jean-Paul Calderone
520f4d15bf Rename _get_request to more accurate _create_request 2020-11-25 16:09:53 -05:00
Jean-Paul Calderone
8e6773c690
Merge pull request #907 from tahoe-lafs/3518.pypy-versions-None
Get rid of version_checks

Fixes: ticket:3518
2020-11-25 10:54:46 -05:00
Jean-Paul Calderone
bd9a91abf6
Merge pull request #901 from tahoe-lafs/3513.raiseException
Fix exception re-raising in no_network.py

Fixes: ticket:3513
2020-11-25 10:41:15 -05:00
Jean-Paul Calderone
a78c8056fb Get rid of the first mock use in test_threshold_reached 2020-11-24 14:51:51 -05:00
Jean-Paul Calderone
9f4be1fbf0 Speed the tests back up 2020-11-24 14:23:20 -05:00
Jean-Paul Calderone
34b5068f5c Just use a real Tub for this case 2020-11-24 14:18:04 -05:00
Jean-Paul Calderone
1a5efa5ec9 Just let the test use the real SFTPServer service 2020-11-24 14:05:00 -05:00
Jean-Paul Calderone
3321058a33 flake 2020-11-23 15:14:59 -05:00
Jean-Paul Calderone
c694e8c7e2 Delete allmydata.version_checks and related functionality
It is not Tahoe-LAFS' job to manage package installation in this way.
Instead, we can declare our dependencies in setup.py and rely on installation
management tools and packagers to create a suitable execution environment.

Making this statement in the past required going much further out on a limb
than it does today.  This code has served its purpose and can now be retired.
2020-11-23 15:10:18 -05:00
Jean-Paul Calderone
224085c139 Clean up version checks and fix the PyPy regression 2020-11-23 14:14:52 -05:00
Itamar Turner-Trauring
661bc967d2 Port to Python 3. 2020-11-20 14:06:16 -05:00
Itamar Turner-Trauring
53a6882f21 Some progress on Python 3 passing tests, some going backwards. 2020-11-20 12:02:22 -05:00
Itamar Turner-Trauring
0e198e7361 Stop hiding Twisted logs! 2020-11-20 11:16:32 -05:00
Itamar Turner-Trauring
bcc509b7a7 Some progress towards passing tests. 2020-11-19 14:23:41 -05:00
Itamar Turner-Trauring
2ae03043b7 Another passing Python 3 test. 2020-11-19 12:04:02 -05:00
Itamar Turner-Trauring
ad893c9aa1 More passing Python 3 tests. 2020-11-19 11:47:57 -05:00
Itamar Turner-Trauring
8029a1befc First passing test on Python 3. 2020-11-19 11:45:32 -05:00
Itamar Turner-Trauring
40d372a2f6 Some progress towards passing tests on Python 3. 2020-11-19 11:11:48 -05:00
Jean-Paul Calderone
1689804877 Try doing some other thing in Windows 2020-11-19 10:15:36 -05:00
Jean-Paul Calderone
4ce2572ce9 Does Windows behave if we restrict ourselves to *just* S_IREAD?
From CPython docs:

> Note Although Windows supports chmod(), you can only set the file’s
> read-only flag with it (via the stat.S_IWRITE and stat.S_IREAD constants or
> a corresponding integer value). All other bits are ignored.
2020-11-19 09:39:34 -05:00
Jean-Paul Calderone
d727ae4a86 Try to improve the failure mode 2020-11-19 08:50:44 -05:00
Jean-Paul Calderone
92691c1b32 Be sure the temporary directory exists 2020-11-18 16:53:38 -05:00
Jean-Paul Calderone
799e5a2a60 tweak comment about our test case 2020-11-18 15:52:04 -05:00
Jean-Paul Calderone
46955202e2 Hook into Twisted Web to control where request bodies are written 2020-11-18 15:47:06 -05:00
Jean-Paul Calderone
875f4d3414 Better setup error re-raising 2020-11-18 14:48:40 -05:00
Jean-Paul Calderone
862d32a90d Add _Config.set_config for presistently changing config values 2020-11-18 13:18:21 -05:00
Jean-Paul Calderone
f21e3189b5 Remove some repetition between read_config and config_from_string 2020-11-18 13:17:16 -05:00
Jean-Paul Calderone
53aa434d77 Add a helper to make a deep copy of a ConfigParser
This will help avoid unintentional side-effects
2020-11-18 13:01:08 -05:00
Jean-Paul Calderone
84647e25b7 Refine the ConfigParser generator
Limit the characters used in the section and item name strategies.
ConfigParser doesn't allow all characters in all places.
2020-11-18 12:59:23 -05:00
Jean-Paul Calderone
021615bdff Some further test_configutil improvements 2020-11-18 12:44:52 -05:00
Jean-Paul Calderone
34714d5f6b Add everything and nothing config validation helpers 2020-11-18 12:42:31 -05:00
Jean-Paul Calderone
e60c643b5f Make configutil.write_config atomic and also make it take a FilePath 2020-11-18 10:57:38 -05:00