-
Notifications
You must be signed in to change notification settings - Fork 38.2k
Closed
Labels
Milestone
Description
Test for #11937
- Windows @mjbvz
- macOS @roblourens
- Linux @Tyriar
Complexity - 4
Set up
- Make sure you can publish an extension. Ref - http://code.visualstudio.com/docs/tools/vscecli
- Use the sample test extensions
- This repo has 3 extension packs (1, 2, 3) which are already published
- Each has some dependencies - Look at it's package.json for dependencies
- Use these extensions for testing following scenarios (You can also come up with your own if you want to :) )
- Also do play around with changing dependencies and bumping the versions to test different scenarios for installing and updating.
Note: Publishing the extension takes a while to get reflected in the market place.
Extensions with dependencies
- Search for one of the above extensions and install
- A prompt appears asking for confirmation to install its dependencies also
- If the dependencies are already installed, then no prompt is shown
Yesaction - Installs the extension and all its dependencies and sub dependencies (transitive closure).Noaction - Install the extension alone.Cancelaction - Cancels the installation.
Installing with dependencies
- It's status shows
installingand is finished only after itself and all dependencies are installed - If any of the dependencies is visible in the Extensions view, then it's status also shows
installingand is finished only after all are installed - If the installation fails in between, installed extensions are rolled back / uninstalled.
Updating an extension with dependencies
- If it was installed with dependencies, then update should also install any newly added dependencies
- Otherwise, update should only update itself
- Make sure the
install with dependenciesprompt is not shown during update Update AllandAuto updateshould have the same behavior
Others
- Uninstalling an extension (with dependencies) is atomic - uninstalls only itself.
- Behavior of Install / update / uninstall an extension with out dependencies is not changed
Reactions are currently unavailable