-
-
Notifications
You must be signed in to change notification settings - Fork 79
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
Support migrating old recorded tests using bulk facet recorder #2390
Comments
update from meet-up:
Migrate the above, and then see what's left and maybe make filter more lenient or just do them manually |
Does this mean I should hold off an updating old tests for now to see how this goes? Porting the lua, bash, and nix tests are still on my list todo and was thinking recently about circling back to to it, but if it can mostly be automated that works too :D |
Up to you. I've been adding new tests in new format, and some piecemeal migrations if I'm messing with the given scope, but waiting to do wholesale migrations till we have this |
- Factoring this out from #360 as I need it for #2390 ## Checklist - [-] I have added [tests](https://www.cursorless.org/docs/contributing/test-case-recorder/) - [-] I have updated the [docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and [cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet) - [-] I have not broken the cheatsheet
Once #2383 is merged, we should simplify the process of migrating old recorded tests to scope fixture tests using the new bulk fixture recorder.
We proceed as follows:
Find all recorded tests with the given language id
Canonicalize and inspect the command payload. We may want to filter to tests that use a specific set of actions and particular targets. We may also only want to migrate a specific subset of scopes, eg based on if they're marked as supported for the given language
For each chosen test, get initial document state
Skip if we've already processed a fixture with the same document state (or if there already exists a fixture with same document state?)
Generate an entry in the bulk recorder file with a candidate header for each possible facet that has the given scope. For example:
The user will then delete the unnecessary lines and clone the block as necessary eg to test both scope and iteration scope
When the user saves, we should probably delete the recorded tests that they actually ended up migrating
To discuss: which tests to migrate?
We need to figure out how to decide which recorded tests to migrate. Some ideas:
We also need to figure out if we want to drop recorded tests if their command payload doesn't match a particular shape. Eg skip if multiple scope types are mentioned, or of the command isn't one of a few expected commands
The text was updated successfully, but these errors were encountered: