Make the tests go through the no-op restore codepath #3747
Merged
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.
Bug
Fixes: NuGet/Home#10211
Regression: No
Fix
Details:
While I investigating NuGet/Home#10068, I hit an known problem of the no-op codepath not being exercised in a good amount of unit test.
The reason is that the packagespec is not created with the same amount of details prod package spec would be.
In prod scenarios, all restores go through the restorerunner which calls
NuGet.Client/src/NuGet.Core/NuGet.Commands/RestoreCommand/Utility/SpecValidationUtility.cs
Line 28 in c3219e4
Now this is not a major problem for no-op, I have not discovered any regressions because of this, but it does not reflect what the actual restore code run is.
Now the TestRestoreRequest is written in a way that'd prevent restore going through unexpected codepaths.
Note that I am aware that these tests are running project.json.
Changing them to PR is not super straightforward and can be done as a future step. NuGet/Home#10212
Testing/Validation
Tests Added: No
Reason for not adding tests: I am changing all the tests :)
Validation: