Draft
Conversation
8051514 to
5cc2b04
Compare
c56db27 to
eeabe48
Compare
Move the socket file to a specific directory for which the node will use its data-dir and make the validator able to communicate through stdin/stdout allowing a standalone usage via a command-line option. Also contains minor UX improvements.
eeabe48 to
51f92da
Compare
This commit does the following: 1/ It fixes disk leaks in the mockup's tests. Indeed each successful execution of the mockup's tests was leaving **9** dangling directories named /tmp/tezos-client* 2/ It gets rid of client.py's set_base_dir method which relies on a side effect and hence makes mockup initialization harder to understand. 3/ Simplifies initialization in tests of the mockup It was cumbersome for bad reasons before, mostly because it was authored by two tezos noobs (one of them being my earlier myself) This commit removes the test that `tezos-client --base-dir /tmp/file create mockup` fails when /tmp/file is a file. This cannot be done anymore because client.py's Client class defensively checks that the base directory is a directory so an exception is raised even before calling `create mockup` It's okay, it's not a super important test.
This is a suggestion from Arvid and is orthogonal to the topic of this MR. It could have been done in earlier mockup MRs.
This is done by parameterizing the mockup_client fixture by the two protocols, as well as parameterizing the tests that do not use the fixture. On the way, I moved the mockup_client fixture to conftest.py as it doesn't hardcode the protocol anymore (this was the blocking point for making it widely available).
We specify `--protocol` because it is required for `config show mockup` and `config init mockup` to work. Previously it was working by luck, because when `--protocol` is not specified, the client will take the first proxy implementation, which happened to be alpha. So it was working until we started testing carthage.
- Cleaner implementation - Better support for signals - Sounder and more versatile interface - Tests
There was a window between the removal of a point from the incoming table and the time where the file descriptor was closed or accounted in active connection. Accumulation of incoming connection in this window would lead to exhaustion of available file descriptor and to node's death. We also shouldn't crash the node because an exception arised in the handling process of a specific connection.
a5770b0 to
6640513
Compare
Detached process results were not available from the main process, this patch gives access to the detached functions results when the process is not killed or canceled. It also bring the possibility to use data-encoding for exchanges with the detached process. As it is not yet possible to define a parallel error that would relies on the registration of recursive errors, the head of each error trace is taken in the trace when joining multiple process.
Nesting of Lwt_main.run is forbidden since Lwt 5. We used this nesting to prevent the yielded promises to be rescheduled in the detached process, which results a kind of fork-bomb. As it is not possible anymore, we have to run the forks sequentially to ensure that there is no yielded promises waiting to fork inside the forked process.
Add enclosing boxes, remove '\n' (use @, break hint) to get a nicer pretty-printing of values for mockup constants.
6640513 to
d31b6f4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Benchmarking framework for a node. The node runs with an existing store, that contains already 933913 blocks. 50000 additional blocks are added during the benchmarks, which are read from a file instead of being received over the network.
Instructions for setting it up are provided in instructions.md