-
Notifications
You must be signed in to change notification settings - Fork 0
test: add github workflow for running tests #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
miki725
wants to merge
7
commits into
jtv/session3
Choose a base branch
from
build
base: jtv/session3
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
1. I have implemented most of the core capture/replay functionality, including capturing events to streams. Though, somewhere along the way, I undid using the stream interface (publishing to the proxy object) for the capture file, because I thought I might have had an IO bug. But, I don't think I actually did; there was definitely something internal I'd been missing that I believe was responsible for the behavior. 2. Seek / Tell can now be added to streams. Only instantiated it for files though. 3. Added support for being able to set the replay speed (a float that's a multiple. e.g., a value of 2.5 will make the replay 2.5x as fast. 4. Have started on the early pre-language integration version of the test runner. It currently creates a script file for you. It's not orchestrating the run yet though. 5. I added WINCH signal handling, so that resizing the terminal window is handled properly. Though this is not yet making it into the capture / replay stream (which is very necessary). 6. Fixed a small bug in the signal registration. Significant TODO items for the session manager: Short term: 1. Add timeouts (total time and idle time) 2. Add the test runner (including appropriate state machines) 3. Hook creating and running tests up to the `con4m` command. 4. Make sure the right actions for state machines exist. 5. Add the WINCH events to the capture AND the replay correctly, including the start position (add to header). 6. Go back to using the stream API. Stretch goals: 1. Export to ASCII-Cast 2. Add a basic cap10/cinema command (with associated state machine). 3. Add a 'coding demo' mode as an example. 4. Get signal handlers unsubscribed when their fd dies (add finalizers back in) Med term: 1. Wrap the whole API in n00b syntax. 2. Generate animated GIFs ourselves, instead of relying on going to asciicast. 3. Allow scrubbing in the file, and editing the file. Long term: 1. The 'movie' mode should re-encode to a different format so that we can actually support proper scrubbing. Meaning, we need to at least keep track of every positional write, so that we can create 'iframes' in the stream.
not got everything it should have, even before hooking it up to n00b. But, it is good enough for now. Major additions are: - Added timeouts to the session state machine, and capture/replay for window size changes. - Broke up the (fairly large) session module into four logical units, the core/init, capture, replay and 'control', which includes the state machine - Redid all the lock debugging to provide more useful information. - Regexs now have a repr() and are n00b C-object types. Did not connect them up to n00b literals. - Added the 'testgen' utils module, and hooked it up to the n00b command ('record' and 'test' commands). - When tests fail, provide a bunch of debug info when tests fail, like the state machine, and buffered up I/O. - Added more internal compile-time debugging for the message system, to make it easy to get info about when things are queued, to make it easier to tie to when they are coming out. More to be done later. - Added Thread cancelation on exit, and changed thread cleanup to alwaysuse pthread cleanup handlers.
…be working yet (pause and unpause are working though)
175a266
to
08c424f
Compare
2797b3c
to
a323624
Compare
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.
No description provided.