Extend RunTests target condition to also check that there are no tests to run #14665
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.
In the dotnet/maintenance-packages repo, the CI is failing unexpectedly attempting to execute .NET Framework unit tests in Unix, even though we properly set the
SkipTests
property totrue
. This is happening when usingdotnet build -t:test
. The error output looks like this:The unexpected error output comes from inside the
RunTests
targets, which depends on theTestToRun
items that are being used in theOutputs
attribute. They come all the way from the_InnerGetTestsToRun
target which does not get evaluated because it also depends onSkipTests
not beingtrue
.By adding the extra condition to the
RunTests
target to execute whenSkipTests
is nottrue
and theTestToRun
item group is not empty, we prevent that error.While this gets fixed, we will be using a workaround in Directory.Build.targets in maintenance-packages to achieve a similar result: