Topic/multi pick and memoization#29
Open
charleswoerner-wayve wants to merge 7 commits intoNVIDIA:mainfrom
Open
Topic/multi pick and memoization#29charleswoerner-wayve wants to merge 7 commits intoNVIDIA:mainfrom
charleswoerner-wayve wants to merge 7 commits intoNVIDIA:mainfrom
Conversation
fe1b999 to
6d7d036
Compare
document py_test usage
refactor to extract resolver class to support command-scoped cache fix documentation about pytest usage in README
6d7d036 to
52818b4
Compare
cd8fa8c to
b8b4eee
Compare
refactor to avoid trainwrecks fix variable name
b8b4eee to
14961c6
Compare
Author
|
@jabbottn Hi Josh, I worked out an implementation for a few proposed enhancements to better support some of the more complex setups we envisioned at work. |
|
@jabbottn Thoughts about merging this multi-pick feature? |
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.
Add support for new MultiPick extension command. Add support for memoization of shellCommands so that the computation can be reused (and remain stable) across multiple references within the same command evaluation scope. Internally, I refactored to extract a Resolver class within the UserCommandsController to enable command-scoped caching to avoid cache conflicts between simultaneously running async functions. Additionally, MultiPick selections are persisted across command invocations.
As implied by the documentation changes, the use case here is to support the selection of a subset of PyTest tests invoked via a runnable PyTest target under Bazel. I wanted to be able to invoke a runnable PyTest target in
--collect-onlymode, filter out the list of PyTest cases, present them to the user as a multi-pick selector, then take the selected items and append them to a Bazel PyTest test command to run the selected tests. Options such as--no-covhave to be able to be toggled in order to disable coverage thresholds when running just a few tests.This addresses the feature request I created in #30