Repository navigation
Let proof proxy record a client as the start of a profile - #5
Merged
Merged
Conversation
Writing a client profile starts with finding out what the client sends, which meant copying requests out of the -v transcript by hand. -record saves them as a client profile instead, with a check for each connection and a step for each request. The steps leave out the request ids, as proof gives requests ids of its own, and the sessions the client cloned get names (across connections, as sessions outlive them), so the steps use the sessions proof clones. What's left is reading the client's code to see what it needs from each reply. proof serve gets -record as well, since it grades clients the same way. The recording is written even when the JSON report can't be, as getting the client to do it all again isn't always easy. Only the session field of a step stands for a session now, so code that starts with $ goes to the server as it is.
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.
Writing a client profile meant copying requests out of the
-vtranscript by hand.-recordwrites them as a draft profile instead, with the request ids dropped and the client's sessions named, so the draft replays as is. Each step waits for its reply, so requests sent while another one is still running (stdin,interrupt) still have to be edited out.