Commit Graph

400 Commits

Author SHA1 Message Date
Itamar Turner-Trauring
dca19525b9 🪄 2023-05-03 16:58:47 -04:00
Itamar Turner-Trauring
a6b66dd331
Merge pull request #1294 from tahoe-lafs/4018-better-integration-logging
Better integration test logging

Fixes ticket:4018
2023-05-02 09:46:07 -04:00
Itamar Turner-Trauring
bc2506c3e2 Merge remote-tracking branch 'origin/master' into 3999.structure-config-manipulation 2023-05-01 12:52:18 -04:00
Itamar Turner-Trauring
c15dd6c9f0 This wasn't the issue. 2023-04-28 11:43:48 -04:00
Itamar Turner-Trauring
0f200e422e Give it more time. 2023-04-27 15:48:49 -04:00
Itamar Turner-Trauring
86a513282f Include Foolscap logging in node output in integration tests. 2023-04-27 10:36:39 -04:00
Itamar Turner-Trauring
8f1d1cc1a0 Include node name in the logging output from subprocesses. 2023-04-27 10:23:06 -04:00
Jean-Paul Calderone
c0e49064ce Attempt to get more information about client unready state 2023-04-27 09:50:02 -04:00
Itamar Turner-Trauring
f9a1eedaea Make timeout optional, enable it only for integration tests. 2023-04-25 12:31:37 -04:00
Jean-Paul Calderone
fbb5f4c359 slightly clarified comment 2023-04-25 09:31:10 -04:00
Jean-Paul Calderone
825bcf3f3b revert reformatting 2023-04-25 09:31:04 -04:00
Jean-Paul Calderone
c595eea33e always set the "start time" timeout
in both the "we installed it ourselves" and the "we found an existing
installation" cases.
2023-04-25 09:27:51 -04:00
Jean-Paul Calderone
3d2e4d0798 note about port selection 2023-04-25 09:26:58 -04:00
meejah
b5f6fa8933 skip properly 2023-04-14 19:07:27 -06:00
meejah
8652bb71ad skip i2p tests again? 2023-04-14 17:05:57 -06:00
meejah
8b81bd7ebe remove more debug 2023-04-14 16:33:52 -06:00
meejah
3ccb7c4d1c re-enable i2p tests 2023-04-14 15:45:17 -06:00
meejah
34cee7ff73 missing import 2023-04-14 15:44:52 -06:00
meejah
d3c39f8604 fix i2p introducer, different ports 2023-04-14 15:27:19 -06:00
meejah
abfca04af5 turn off i2p tests for now 2023-04-14 13:24:22 -06:00
meejah
76ce54ea53 remove debugging 2023-04-14 13:23:28 -06:00
meejah
250efe7d24 leftover 2023-04-13 16:42:02 -06:00
meejah
175473df40 longer timeouts, forget less 2023-04-13 00:37:32 -06:00
meejah
507d1f8394 Fix some Chutney things (and a couple cleanups): wait for bootstrap, increase timeout 2023-04-12 22:34:45 -06:00
Itamar Turner-Trauring
7b94324827 More debugging. 2023-04-07 15:23:51 -04:00
Itamar Turner-Trauring
13e9f88309 Add necessary config option to ensure it listens on Tor, and also give correct
Tor control port.
2023-04-07 15:23:20 -04:00
Itamar Turner-Trauring
b1f5201ef2 Merge remote-tracking branch 'exarkun/3999.structure-config-manipulation' into 3999.structure-config-manipulation 2023-04-05 11:42:31 -04:00
Itamar Turner-Trauring
812458699d The tcp listening port needs to match the onion local port, or you get
connection refused when you try to connect to the hidden service.
2023-04-05 11:38:28 -04:00
Jean-Paul Calderone
76873e5901 Merge remote-tracking branch 'origin/master' into 3999.structure-config-manipulation 2023-04-05 08:43:24 -04:00
Itamar Turner-Trauring
efa51d41dc Newer chutney. 2023-04-04 10:58:28 -04:00
Itamar Turner-Trauring
1de8e811b5 Tweaks. 2023-04-04 10:58:22 -04:00
Jean-Paul Calderone
28e442a4f5
Merge pull request #1280 from exarkun/4001.propagate-parent-process-env
Propagate parent environment to children in the integration tests

Fixes: ticket:4001
2023-04-03 12:16:58 -04:00
Jean-Paul Calderone
0b5c96e762
Merge pull request #1281 from exarkun/4002.reuse-chutney
Use an existing Chutney, if there is one

Fixes: ticket:4002
2023-03-28 13:24:14 -04:00
Jean-Paul Calderone
4232c7f142 remove unused binding 2023-03-27 14:55:10 -04:00
Jean-Paul Calderone
d3d94937be Nothing uses the return value of this fixture 2023-03-27 14:42:32 -04:00
Jean-Paul Calderone
fb8c10c55f Use an already-installed Chutney if there is one 2023-03-27 14:42:32 -04:00
Jean-Paul Calderone
8613e36bae Propagate parent environment to children in the integration tests 2023-03-27 14:06:16 -04:00
Jean-Paul Calderone
1c99817e1b Safely customize the client node's configuration
This is similar to the fix to the `tor_introducer` fixture.
2023-03-27 13:59:32 -04:00
Jean-Paul Calderone
1c11f9e7d4 Add a little more debug info to the integration test suite output 2023-03-27 13:59:32 -04:00
Jean-Paul Calderone
fbcef2d1ae Safely customize the Tor introducer's configuration
Previously we clobbered the whole generated configuration and potentially
wiped out additional important fields.

Now we modify the configuration by just changing the fields we need to change.
2023-03-27 13:59:30 -04:00
Jean-Paul Calderone
b65e8c72df Skip the tor integration tests if any needed tor tools are missing 2023-03-27 13:57:09 -04:00
Itamar Turner-Trauring
815066c4de Just use the utility. 2023-03-20 15:25:52 -04:00
Itamar Turner-Trauring
ded5b20924 Lint fix. 2023-03-20 15:20:39 -04:00
Itamar Turner-Trauring
aba60d2719 Run blocking tests in a thread. 2023-03-20 15:14:01 -04:00
Itamar Turner-Trauring
61d9d82c55 Make await_client_ready() non-blocking. 2023-03-20 15:02:35 -04:00
Jean-Paul Calderone
e6832dd71c another one 2023-03-16 09:37:54 -04:00
Jean-Paul Calderone
c9dba4d0a4 Fix a couple other _protocol attributes 2023-03-16 09:09:25 -04:00
Jean-Paul Calderone
58e0e3def7 see if this fixes the AttributeError 2023-03-16 08:52:15 -04:00
Jean-Paul Calderone
35525bc10e Merge remote-tracking branch 'origin/master' into 2916.grid-manager-integration-tests.2 2023-03-16 08:33:16 -04:00
Itamar Turner-Trauring
c97e07dc63
Merge pull request #1263 from tahoe-lafs/3959-more-end-to-end-tests
More end to end tests

Fixes ticket:3959
2023-03-14 11:31:41 -04:00
Itamar Turner-Trauring
d7018905b9 Switch away from using stdin, it's flaky on Windows. 2023-03-14 09:57:29 -04:00
Itamar Turner-Trauring
db445af1c4 Separate flags for forcing foolscap between client and server. 2023-03-09 09:59:36 -05:00
Itamar Turner-Trauring
5dc108dfe8 Test large immutable upload and download. 2023-03-08 11:38:31 -05:00
Itamar Turner-Trauring
c9d140b05d Merge remote-tracking branch 'origin/master' into 3957-mutable-over-http-speed 2023-02-21 09:38:36 -05:00
Itamar Turner-Trauring
31024ceb4c reconfigure() is only an issue if it changes something... 2023-02-20 12:44:03 -05:00
Itamar Turner-Trauring
e3ad50a084 Just skip usage of reconfigure() on Windows. 2023-02-20 11:54:50 -05:00
Itamar Turner-Trauring
3bc3cf39d0 Test using an integration test. 2023-02-07 09:45:50 -05:00
Itamar Turner-Trauring
ea052b3c80 Pass in missing argument. 2023-02-07 09:08:06 -05:00
Itamar Turner-Trauring
f4255cdaa3 More accurate names. 2023-02-07 09:03:45 -05:00
Itamar Turner-Trauring
b0f4e463eb Work with newer i2pd. 2023-02-06 17:48:32 -05:00
Itamar Turner-Trauring
921a2083dc Make sure (immutable) test vectors are run with the segment size that was used
to generate them.
2023-01-25 15:47:35 -05:00
Jean-Paul Calderone
58f20ff9c7 advertise all the names 2023-01-20 19:50:57 -05:00
Jean-Paul Calderone
f4e3e08e38 re-generate with a case using an exact segment size multiple
all of the mutables totally change because we don't try to re-use existing rsa
keys (yet...?)
2023-01-20 16:27:13 -05:00
Jean-Paul Calderone
ed7bb1b41f expose the persistence api 2023-01-20 16:27:05 -05:00
Jean-Paul Calderone
781f4486ac Get the segment size parameter right 2023-01-20 16:26:23 -05:00
Jean-Paul Calderone
c46ab2d88b Hit a multiple of SEGMENT_SIZE on the nose 2023-01-20 15:20:02 -05:00
Jean-Paul Calderone
4664bcb321 These didn't end up being used 2023-01-20 15:15:44 -05:00
Jean-Paul Calderone
9581eeebe5 explain the repeated save_capabilities calls 2023-01-20 15:14:18 -05:00
Jean-Paul Calderone
129c6ec11a Factor more infrastructure code out of the test module
Test vector saving implementation can go near loading implementation.  Also we
can separate out some simple types from the more complex logic.  Initially
this was to resolve a circular dependency but that ended up being resolved
mostly by treatming SEGMENT_SIZE more like a parameter than a global.  Still,
smaller modules are okay...
2023-01-18 13:52:11 -05:00
Jean-Paul Calderone
4e2c685a12 Fix test_directory_deep_check by having it re-assert its preferred config
Previously the changes test_vectors.py made to Alice's configuration
invalidated test_directory_deep_check's assumptions.
2023-01-18 13:28:24 -05:00
Jean-Paul Calderone
e53f68f4d7 Move parameter definitions to their own module, away from test implementation 2023-01-17 10:59:00 -05:00
Jean-Paul Calderone
290bb5297f lint 2023-01-17 10:19:37 -05:00
Jean-Paul Calderone
1d32326659 Simpler, more correct process lifecycle handling.
The previous version included a bogus hack where we just passed
`allow_missing=True` when finalization was requested of `_run_node`.  This was
clearly wrong since if the caller asked for finalization, it's a programming
error for it to already have been done.

Fortunately we have a perfectly good finalizer already, `TahoeProcess.kill`,
which we can use instead of trying to craft a finalizer out of the various
pieces that make up that value.

Also, nothing seems to use the `_protocol` attribute set by `got_proto` so
let's just drop that.
2023-01-17 10:06:14 -05:00
Jean-Paul Calderone
eb630c391f "Parametrize" in a way that gives us better test names.
The old way just put sequence numbers into the name.  This way puts expected
capability strings in.
2023-01-17 10:03:54 -05:00
Jean-Paul Calderone
f2989c0a4f Correct the ProcessExitedAlready exception handling
It's always okay to get ProcessExitedAlready from signalProcess.  It just
means we haven't handled the SIGCHLD yet.
2023-01-17 09:46:22 -05:00
Jean-Paul Calderone
5424aa9737 Only run the very slow new integration test in one CI job 2023-01-17 09:27:17 -05:00
Jean-Paul Calderone
3ab7fc3853 Be able to load the data 2023-01-17 08:45:38 -05:00
Jean-Paul Calderone
d14ba09dbb Some flake fixes 2023-01-17 08:41:31 -05:00
Jean-Paul Calderone
c28f10057b Move some more pieces into the subdirectory 2023-01-16 16:01:11 -05:00
Jean-Paul Calderone
4eec8113ee reproducible ssk vectors 2023-01-16 15:53:24 -05:00
Jean-Paul Calderone
1827834434 Re-generate vectors with a very small CHK 2023-01-13 21:14:37 -05:00
Jean-Paul Calderone
312513587f Switch to FilePath, regenerate w/o "max" 2023-01-12 17:27:37 -05:00
Jean-Paul Calderone
ed74fdc746 write the data file more safely 2023-01-12 16:56:20 -05:00
Jean-Paul Calderone
dd51c7a3f1 Handle an empty test vectors file 2023-01-12 15:19:01 -05:00
Jean-Paul Calderone
fa55956d29 Always write an int to the test vectors file 2023-01-12 15:18:54 -05:00
Jean-Paul Calderone
bbd3e74a5f Always place an int in the parameters total field 2023-01-12 15:17:08 -05:00
Jean-Paul Calderone
c211731c5f Merge remote-tracking branch 'origin/master' into 3961.test-vectors 2023-01-10 09:57:48 -05:00
Jean-Paul Calderone
fb70ba1867 Generate and consumer the new structure properly 2023-01-03 19:22:38 -05:00
Jean-Paul Calderone
ca00adf2b4 regenerated test vectors with a more convenient format
It's more verbose but it's easier to load and interpret.
2023-01-03 18:50:07 -05:00
Jean-Paul Calderone
40eff1523e The retry logic was removed a few revisions ago
The uploads failed because of the zfec parameters, not because of unreliable
localhost networking that might go away when retried.
2023-01-02 16:23:06 -05:00
Jean-Paul Calderone
77e5357a04 note to self 2022-12-27 09:12:56 -05:00
Jean-Paul Calderone
3f8f715aa2 Be consistent between the test and the data source 2022-12-27 09:12:34 -05:00
Jean-Paul Calderone
13a9ed0202 clarify what reliability we hope for 2022-12-27 09:03:24 -05:00
Jean-Paul Calderone
6a1a2fb705 we support other capability types now 2022-12-27 09:03:01 -05:00
Jean-Paul Calderone
e11b589eba typo 2022-12-27 09:02:43 -05:00
Jean-Paul Calderone
aecaaa2426 in general, do not regenerate the test vectors 2022-12-27 09:01:33 -05:00
Jean-Paul Calderone
4a39c4b7ec Add SDMF and MDMF 2022-12-26 17:08:36 -05:00
Jean-Paul Calderone
39b3f19c0e Put the generator inputs into the output file
This should make it easier for other implementations to use the test data, I
think.

Also put a version in there so we can change inputs in the future but still
talk about results meaningfully.  And some other minor refactoring
2022-12-26 12:06:34 -05:00
Jean-Paul Calderone
5af6fc0f9d reconfigure() only needs to restart the node if something changed 2022-12-22 20:53:49 -05:00
Jean-Paul Calderone
8a42720301 Move some general utility functions into the util module 2022-12-22 17:02:42 -05:00