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