Commit Graph

369 Commits

Author SHA1 Message Date
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
Jean-Paul Calderone
43388ee711 Comments and minor factoring improvements and such 2022-12-22 16:52:00 -05:00
Jean-Paul Calderone
daad22d1b1 comments 2022-12-22 12:13:12 -05:00
Jean-Paul Calderone
97b397870b Generate a whole mess of vectors 2022-12-22 11:35:37 -05:00
Jean-Paul Calderone
1ae98c1830 Switch back to session scope for Alice 2022-12-22 11:05:07 -05:00
Jean-Paul Calderone
aa58faddaf Pass the right number of args to reconfigure 2022-12-22 11:04:48 -05:00
Jean-Paul Calderone
49b513fefc Get basic generation working, apparently 2022-12-22 10:51:59 -05:00
Jean-Paul Calderone
29a5f7a076 start of a test vector thingy 2022-12-21 17:14:08 -05:00
Itamar Turner-Trauring
98e25507df A different approach to forcing foolscap in integration tests. 2022-12-12 10:43:36 -05:00
Itamar Turner-Trauring
add510701c Run integration tests both with and without HTTP storage protocol. 2022-11-16 11:44:51 -05:00
Itamar Turner-Trauring
ec15d58e10 Actually clean up the container. 2022-10-03 10:49:08 -04:00
Itamar Turner-Trauring
a53420c193 Use known working version of i2pd. 2022-10-03 10:49:01 -04:00
meejah
8250c5fdd5 edna -> freya 2022-09-26 15:40:55 -06:00
meejah
af227fb315 coverage for grid-manager tests 2022-09-26 00:02:40 -06:00
meejah
04b0c30c11 clean up comments 2022-09-25 14:08:05 -06:00
meejah
34dd39bfbf fix race with 'await_client_ready' instead 2022-08-13 11:51:01 -06:00
meejah
34641846ab Merge branch '2916.grid-manager-integration-tests.2' of https://github.com/tahoe-lafs/tahoe-lafs into 2916.grid-manager-integration-tests.2 2022-08-13 11:46:11 -06:00
meejah
06a5176626 happy-path grid-manager test 2022-08-13 11:46:02 -06:00
meejah
c4a32b65ff actually wait 2022-08-13 11:45:51 -06:00
Itamar Turner-Trauring
298600969a Fix typo. 2022-08-12 10:06:35 -04:00
Itamar Turner-Trauring
0c6881e615 Fix race condition. 2022-08-12 09:59:43 -04:00
Itamar Turner-Trauring
9ff863e6cd Fix lint. 2022-08-12 09:54:12 -04:00
meejah
1676e9e7c5 unused 2022-08-12 01:27:01 -06:00
Itamar Turner-Trauring
02cb4105b3 A lot closer to passing grid manager integration tests. 2022-07-29 09:43:37 -04:00
Itamar Turner-Trauring
106b67db55 It's bytes now. 2022-07-27 12:23:40 -04:00
Itamar Turner-Trauring
2999ca4579 It's bytes now. 2022-07-27 12:23:34 -04:00
Itamar Turner-Trauring
671e829f4e We need to pass in the furl here. 2022-07-27 12:23:20 -04:00
Itamar Turner-Trauring
6d833607db Merge remote-tracking branch 'meejah/2916.grid-manager-integration-tests.1' into 2916.grid-manager-integration-tests.2 2022-07-27 11:59:23 -04:00
Itamar Turner-Trauring
02bbce8111 Get rid of spurious sleep. 2022-05-18 13:44:18 -04:00
Itamar Turner-Trauring
90a6cf18ac Just use system Tor, for more stability. 2022-05-18 13:20:44 -04:00
Itamar Turner-Trauring
9bef8f4abd This appears to be the alternative to latest version :( 2022-05-18 13:07:40 -04:00
Itamar Turner-Trauring
33c43cb2b3 Try a different variant. 2022-05-18 13:01:57 -04:00