You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AllowFailureWithoutError will not prevent the error MSB4181: The "Microsoft.TestPlatform.Build.Tasks.VSTestTask" task returned false but did not log an error. when set to true. It will prevent it when set to false. The default value is true.
Have a task that does not write error into result, but returns false. See the MSB4181 error written to screen. Change the task and set AllowFailureWithoutError to true. See the error written to screen. Set the value to false. The error is no longer written to screen.
I am seeing this in dotnet test when any test fails and try to suppress the message because we don't write the error the correct MSBuild way. microsoft/vstest#2557
Expected Behavior
To not write the MSB4181 error on screen when AllowFailureWithoutError is set to true, not false. And for AllowFailureWithoutError to default to false, not true.
Actual Behavior
MSB4181 error is written to screen when AllowFailureWithoutError is set to true, not false. AllowFailureWithoutError defaults to true.
This condition will write the MSB4181 when the condition is true. (be is IBuildEngine7 be7 ? be7.AllowFailureWithoutError : true)) should negate AllowFailureWithoutError like this: (be is IBuildEngine7 be7 ? !be7.AllowFailureWithoutError : true)).
I don't know where you set the default value.
Versions & Configurations
Microsoft (R) Build Engine version 16.8.0-preview-20429-01+d58e2b786 for .NET
Attach a binlog
The text was updated successfully, but these errors were encountered:
Issue Description
AllowFailureWithoutError will not prevent the error
MSB4181: The "Microsoft.TestPlatform.Build.Tasks.VSTestTask" task returned false but did not log an error.
when set to true. It will prevent it when set to false. The default value is true.This option was added in #5207
Steps to Reproduce
Have a task that does not write error into result, but returns false. See the MSB4181 error written to screen. Change the task and set AllowFailureWithoutError to true. See the error written to screen. Set the value to false. The error is no longer written to screen.
I am seeing this in dotnet test when any test fails and try to suppress the message because we don't write the error the correct MSBuild way. microsoft/vstest#2557
Expected Behavior
To not write the MSB4181 error on screen when AllowFailureWithoutError is set to true, not false. And for AllowFailureWithoutError to default to false, not true.
Actual Behavior
MSB4181 error is written to screen when AllowFailureWithoutError is set to true, not false. AllowFailureWithoutError defaults to true.
Analysis
msbuild/src/Build/BackEnd/Components/RequestBuilder/TaskBuilder.cs
Line 941 in f2c4bfd
This condition will write the MSB4181 when the condition is true.
(be is IBuildEngine7 be7 ? be7.AllowFailureWithoutError : true))
should negate AllowFailureWithoutError like this:(be is IBuildEngine7 be7 ? !be7.AllowFailureWithoutError : true))
.I don't know where you set the default value.
Versions & Configurations
Microsoft (R) Build Engine version 16.8.0-preview-20429-01+d58e2b786 for .NET
Attach a binlog
The text was updated successfully, but these errors were encountered: