Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting test output that breaks Visual Studio Devops Build pipeline (MSTest.Adapter v2.2.3) #799

Closed
sumitkm opened this issue Mar 16, 2021 · 26 comments · Fixed by #892
Closed

Comments

@sumitkm
Copy link

sumitkm commented Mar 16, 2021

Description

I was holding back on v2.2.1 and using v2.1.2 because of issue #789

When I upgraded to v2.2.2 and then to v2.2.3 I find the tests are running inside Visual Studio and the breaking behavior in 2.2.1 is resolved; however after running all the tests In the Test Output window I notice the following message

---------- Starting test run ----------
MSTest Executor: Test Parallelization enabled for C:\Path\To\My\Test\Project\bin\x64\Debug\net48\Tests.Integration.dll (Workers: 12, Scope: ClassLevel).
An exception occurred while invoking executor 'executor://mstestadapter/v2': The parameter cannot be null or empty.
Parameter name: message
========== Test run finished: 693 Tests run in 48.9 sec (693 Passed, 0 Failed, 0 Skipped) ==========

This doesn't cause any issues in Visual studio but when they are executed in Visual Studio DevOps pipeline, the mention of the word exception causes the Pipeline task to fail, even though all tests have passed.

I have rolled back to 2.1.2 multiple times, and after reverting, the above error message goes away.

Steps to reproduce

  1. Take test project with MSTest.Adapter version 2.1.2
  2. Upgrade to 2.2.3

Expected behavior

All tests should pass without any messages mentioning any exception, e.g. when running same tests with v2.1.2 give the following message at end of run

---------- Starting test run ----------
MSTest Executor: Test Parallelization enabled for C:\Path\To\My\Test\Project\bin\x64\Debug\net48\Tests.Integration.dll (Workers: 12, Scope: ClassLevel).
========== Test run finished: 693 Tests run in 50.4 sec (693 Passed, 0 Failed, 0 Skipped) ==========

Actual behavior

I get the following message

---------- Starting test run ----------
MSTest Executor: Test Parallelization enabled for C:\Path\To\My\Test\Project\bin\x64\Debug\net48\Tests.Integration.dll (Workers: 12, Scope: ClassLevel).
An exception occurred while invoking executor 'executor://mstestadapter/v2': The parameter cannot be null or empty.
Parameter name: message
========== Test run finished: 693 Tests run in 48.9 sec (693 Passed, 0 Failed, 0 Skipped) ==========

I could be missing some Run parameters, but I couldn't figure out which one exactly, quickly. Any pointers appreciated.

Environment

Visual Studio 2019 16.9.1
Windows 10 Enterprise x64
Test environment set to x64 explicitly
Nuget Package Style: PackageReference

Package references in the project

<ItemGroup>
    <PackageReference Include="Castle.Core" Version="4.4.1" />
    <PackageReference Include="EfCore.TestSupport" Version="3.2.0" />
    <PackageReference Include="FluentAssertions" Version="5.10.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.13" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite" Version="3.1.13" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite" Version="3.1.13" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="5.0.0" />
    <PackageReference Include="Moq" Version="4.16.1" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" />
    <PackageReference Include="MSTest.TestAdapter" Version="2.2.3" />
    <PackageReference Include="MSTest.TestFramework" Version="2.2.3" />
    <PackageReference Include="Newtonsoft.Json.Schema" Version="3.0.14" />
    <PackageReference Include="sqlite" Version="3.13.0" />
    <PackageReference Include="System.ValueTuple" Version="4.5.0" />
  </ItemGroup>
@Haplois
Copy link
Contributor

Haplois commented Mar 16, 2021

Hi @sumitkm,

Are you getting that message after cleaning your solution?
If yes, can you try removing the hidden .vs folder in your solution root after closing Visual Studio and try again to see if you still get it?

@sumitkm
Copy link
Author

sumitkm commented Mar 16, 2021

@Haplois Unfortunately yes. I have cleaned the solution, closed Visual Studio, remove all bin/obj folders manually, removed .vs folder manually... reloaded... clean, rebuild... no avail. Still get the same error.

Please note this is not like old executor bugs that happened due to missing DLL... there are no missing DLL warnings. It is clearly saying it is missing a parameter, possibly named message somewhere.

@sumitkm
Copy link
Author

sumitkm commented Mar 16, 2021

Update: I tried to repro it with a standalone solution and project, I got the same issue when I upgraded from 2.1.2 to to 2.2.3. But after I closed VS, deleted .vs folder and reloaded the standalone project, the message went away. I am going to dig a little further into this.

@Haplois
Copy link
Contributor

Haplois commented Mar 16, 2021

Yes, thank you for the clarification.

Could you run your tests from vstest.console.exe using the --diag option and send us the logs? (Test console should be on "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\common7\ide\CommonExtensions\Microsoft\TestWindow\vstest.console.exe")

vstest.console.exe C:\Path\To\My\Test\Project\bin\x64\Debug\net48\Tests.Integration.dll --Diag:diag.log

And please share the resulting diag*.log file with us.

@sumitkm
Copy link
Author

sumitkm commented Mar 16, 2021

Hey @Haplois many thanks for the command line syntax. I have the files but these contain a bucket load of internal API details that I cannot share publicly.

Here's the bit from diag[timestamp].log file that might be of interest

TpTrace Verbose: 0 : 19676, 10, 2021/03/16, 18:50:51.727, 861819278695, testhost.net48.exe, TestRunCache: OnNewTestResult: Notified the onCacheHit callback.
TpTrace Verbose: 0 : 19676, 9, 2021/03/16, 18:50:51.869, 861820699161, testhost.net48.exe, TcpClientExtensions.MessageLoopAsync: Polling on remoteEndPoint: 127.0.0.1:64737 localEndPoint: 127.0.0.1:64738
TpTrace Information: 0 : 19676, 15, 2021/03/16, 18:50:52.063, 861822636171, testhost.net48.exe, MSTest - Executed cleanup methods.
TpTrace Error: 0 : 19676, 3, 2021/03/16, 18:50:52.265, 861824664225, testhost.net48.exe, BaseRunTests.RunTestInternalWithExecutors: An exception occurred while invoking executor executor://mstestadapter/v2. System.ArgumentException: The parameter cannot be null or empty.
Parameter name: message
   at Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformThread.Run(Action action, PlatformApartmentState apartmentState, Boolean waitForCompletion)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.TryToRunInSTAThread(Action action, Boolean waitForCompletion)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.RunTestInternalWithExecutors(IEnumerable`1 executorUriExtensionMap, Int64 totalTests).
TpTrace Error: 0 : 19676, 3, 2021/03/16, 18:50:52.265, 861824666123, testhost.net48.exe, An exception occurred while invoking executor 'executor://mstestadapter/v2': The parameter cannot be null or empty.
Parameter name: message
TpTrace Verbose: 0 : 19676, 3, 2021/03/16, 18:50:52.265, 861824666723, testhost.net48.exe, TestRequestHandler.SendData:  sending data from testhost: {"Version":5,"MessageType":"TestSession.Message","Payload":{"MessageLevel":2,"Message":"An exception occurred while invoking executor 'executor://mstestadapter/v2': The parameter cannot be null or empty.\r\nParameter name: message"}}
TpTrace Information: 0 : 19676, 3, 2021/03/16, 18:50:52.267, 861824688479, testhost.net48.exe, Sending test run complete
TpTrace Verbose: 0 : 19676, 3, 2021/03/16, 18:50:52.274, 861824753915, testhost.net48.exe, TestRequestHandler.SendData:  sending data from testhost: {"Version":5,"MessageType":"TestExecution.Completed","Payload":{"TestRunCompleteArgs":{"TestRunStatistics":{"ExecutedTests":693,"Stats":{"Passed":693}},"IsCanceled":false,"IsAborted":false,"Error":null,"AttachmentSets":[],"ElapsedTimeInRunningTests":"00:00:42.4524916","Metrics":{}},"LastRunTests":{"NewTestResults":[],"TestRunStatistics":{"ExecutedTests":693,"Stats":{"Passed":693}},"ActiveTests":[]},"RunAttachments":[],"ExecutorUris":[]}}
TpTrace Verbose: 0 : 19676, 3, 2021/03/16, 18:50:52.274, 861824756598, testhost.net48.exe, BaseRunTests.RunTests: Run is complete.
TpTrace Verbose: 0 : 19676, 9, 2021/03/16, 18:50:52.275, 861824765510, testhost.net48.exe, TcpClientExtensions.MessageLoopAsync: NotifyDataAvailable remoteEndPoint: 127.0.0.1:64737 localEndPoint: 127.0.0.1:64738
TpTrace Information: 0 : 19676, 9, 2021/03/16, 18:50:52.275, 861824766331, testhost.net48.exe, TestRequestHandler.ProcessRequests: received message: (TestSession.Terminate) -> null
TpTrace Information: 0 : 19676, 9, 2021/03/16, 18:50:52.275, 861824766645, testhost.net48.exe, Session End message received from server. Closing the connection.
TpTrace Information: 0 : 19676, 9, 2021/03/16, 18:50:52.276, 861824770259, testhost.net48.exe, SocketClient.Stop: Stop communication from server endpoint: 127.0.0.1:064737
TpTrace Information: 0 : 19676, 9, 2021/03/16, 18:50:52.276, 861824770622, testhost.net48.exe, SocketClient: Stop: Cancellation requested. Stopping message loop.
TpTrace Information: 0 : 19676, 1, 2021/03/16, 18:50:52.276, 861824771636, testhost.net48.exe, SocketClient.Stop: Stop communication from server endpoint: 127.0.0.1:064737
TpTrace Verbose: 0 : 19676, 9, 2021/03/16, 18:50:52.276, 861824771938, testhost.net48.exe, LengthPrefixCommunicationChannel.Dispose: Dispose reader and writer.
TpTrace Information: 0 : 19676, 9, 2021/03/16, 18:50:52.276, 861824772375, testhost.net48.exe, Closing the connection !
TpTrace Information: 0 : 19676, 1, 2021/03/16, 18:50:52.276, 861824772072, testhost.net48.exe, SocketClient: Stop: Cancellation requested. Stopping message loop.
TpTrace Verbose: 0 : 19676, 1, 2021/03/16, 18:50:52.276, 861824773342, testhost.net48.exe, LengthPrefixCommunicationChannel.Dispose: Dispose reader and writer.
TpTrace Information: 0 : 19676, 1, 2021/03/16, 18:50:52.276, 861824774516, testhost.net48.exe, Testhost process exiting.
TpTrace Information: 0 : 19676, 9, 2021/03/16, 18:50:52.276, 861824775707, testhost.net48.exe, SocketClient.PrivateStop: Stop communication from server endpoint: 127.0.0.1:064737, error:
TpTrace Verbose: 0 : 19676, 9, 2021/03/16, 18:50:52.276, 861824776998, testhost.net48.exe, LengthPrefixCommunicationChannel.Dispose: Dispose reader and writer.
TpTrace Verbose: 0 : 19676, 9, 2021/03/16, 18:50:52.276, 861824777329, testhost.net48.exe, TcpClientExtensions.MessageLoopAsync: exiting MessageLoopAsync remoteEndPoint: 127.0.0.1:64737 localEndPoint: 127.0.0.1:64738
TpTrace Verbose: 0 : 19676, 9, 2021/03/16, 18:50:52.276, 861824777329, testhost.net48.exe, TcpClientExtensions.MessageLoopAsync: exiting MessageLoopAsync remoteEndPoint: 127.0.0.1:64737 localEndPoint: 127.0.0.1:64738


Here's the bit from diag.log

TpTrace Information: 0 : 14436, 6, 2021/03/16, 18:50:51.729, 861819292751, vstest.console.exe, TestRunRequest:SendTestRunStatsChange: Completed.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:51.729, 861819293201, vstest.console.exe, TcpClientExtensions.MessageLoopAsync: Polling on remoteEndPoint: 127.0.0.1:64738 localEndPoint: 127.0.0.1:64737
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.265, 861824667761, vstest.console.exe, TcpClientExtensions.MessageLoopAsync: NotifyDataAvailable remoteEndPoint: 127.0.0.1:64738 localEndPoint: 127.0.0.1:64737
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.265, 861824668913, vstest.console.exe, TestRequestSender.OnExecutionMessageReceived: Received message: {"Version":5,"MessageType":"TestSession.Message","Payload":{"MessageLevel":2,"Message":"An exception occurred while invoking executor 'executor://mstestadapter/v2': The parameter cannot be null or empty.\r\nParameter name: message"}}
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.266, 861824669928, vstest.console.exe, TestRunRequest:SendTestRunMessage: Starting.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:51.728, 861819292137, vstest.console.exe, TestRunRequest:SendTestRunStatsChange: Starting.
TpTrace Information: 0 : 14436, 6, 2021/03/16, 18:50:52.266, 861824670602, vstest.console.exe, TestRunRequest:SendTestRunMessage: Completed.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.266, 861824671054, vstest.console.exe, TcpClientExtensions.MessageLoopAsync: Polling on remoteEndPoint: 127.0.0.1:64738 localEndPoint: 127.0.0.1:64737
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.274, 861824755158, vstest.console.exe, TcpClientExtensions.MessageLoopAsync: NotifyDataAvailable remoteEndPoint: 127.0.0.1:64738 localEndPoint: 127.0.0.1:64737
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.274, 861824756255, vstest.console.exe, TestRequestSender.OnExecutionMessageReceived: Received message: {"Version":5,"MessageType":"TestExecution.Completed","Payload":{"TestRunCompleteArgs":{"TestRunStatistics":{"ExecutedTests":693,"Stats":{"Passed":693}},"IsCanceled":false,"IsAborted":false,"Error":null,"AttachmentSets":[],"ElapsedTimeInRunningTests":"00:00:42.4524916","Metrics":{}},"LastRunTests":{"NewTestResults":[],"TestRunStatistics":{"ExecutedTests":693,"Stats":{"Passed":693}},"ActiveTests":[]},"RunAttachments":[],"ExecutorUris":[]}}
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.275, 861824763864, vstest.console.exe, TestRequestSender.EndSession: Sending end session.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.275, 861824765514, vstest.console.exe, ProxyOperationManager.Close: waiting for test host to exit for 100 ms
TpTrace Warning: 0 : 14436, 7, 2021/03/16, 18:50:52.294, 861824950843, vstest.console.exe, TestHostManagerCallbacks.ErrorReceivedCallback Test host standard error line: 
TpTrace Verbose: 0 : 14436, 10, 2021/03/16, 18:50:52.318, 861825192751, vstest.console.exe, TestHostProvider.ExitCallBack: Host exited starting callback.
TpTrace Information: 0 : 14436, 10, 2021/03/16, 18:50:52.318, 861825194855, vstest.console.exe, TestHostManagerCallbacks.ExitCallBack: Testhost processId: 19676 exited with exitcode: 0 error: ''
TpTrace Verbose: 0 : 14436, 10, 2021/03/16, 18:50:52.319, 861825197131, vstest.console.exe, CrossPlatEngine.TestHostManagerHostExited: calling on client process exit callback.
TpTrace Warning: 0 : 14436, 6, 2021/03/16, 18:50:52.319, 861825198053, vstest.console.exe, ProxyOperationManager: Timed out waiting for test host to exit. Will terminate process.
TpTrace Information: 0 : 14436, 10, 2021/03/16, 18:50:52.319, 861825198797, vstest.console.exe, TestRequestSender.OnClientProcessExit: Test host process exited. Standard error: 
TpTrace Information: 0 : 14436, 10, 2021/03/16, 18:50:52.319, 861825200668, vstest.console.exe, SocketServer.Stop: Stop server endPoint: 127.0.0.1:64737
TpTrace Information: 0 : 14436, 10, 2021/03/16, 18:50:52.319, 861825201146, vstest.console.exe, SocketServer.Stop: Cancellation requested. Stopping message loop.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.338, 861825389183, vstest.console.exe, TestRunRequest:TestRunComplete: Starting. IsAborted:False IsCanceled:False.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.338, 861825390587, vstest.console.exe, TestRequestSender.EndSession: Sending end session.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.338, 861825391600, vstest.console.exe, ProxyOperationManager.Close: waiting for test host to exit for 100 ms
TpTrace Warning: 0 : 14436, 6, 2021/03/16, 18:50:52.338, 861825392052, vstest.console.exe, ProxyOperationManager: Timed out waiting for test host to exit. Will terminate process.
TpTrace Warning: 0 : 14436, 6, 2021/03/16, 18:50:52.338, 861825394050, vstest.console.exe, TestLoggerManager.HandleTestRunStatsChange: Ignoring as the object is disposed.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.338, 861825394659, vstest.console.exe, TestLoggerManager.HandleTestRunComplete: Ignoring as the object is disposed.
TpTrace Information: 0 : 14436, 6, 2021/03/16, 18:50:52.339, 861825402668, vstest.console.exe, TestRunRequest:TestRunComplete: Completed.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.339, 861825404272, vstest.console.exe, TestRequestSender.SetOperationComplete: Setting operation complete.
TpTrace Information: 0 : 14436, 6, 2021/03/16, 18:50:52.339, 861825404801, vstest.console.exe, SocketServer.Stop: Stop server endPoint: 127.0.0.1:64737
TpTrace Information: 0 : 14436, 6, 2021/03/16, 18:50:52.339, 861825405196, vstest.console.exe, SocketServer.Stop: Cancellation requested. Stopping message loop.
TpTrace Information: 0 : 14436, 6, 2021/03/16, 18:50:52.340, 861825408582, vstest.console.exe, SocketServer.PrivateStop: Stop server endPoint: 127.0.0.1:64737 error: 
TpTrace Verbose: 0 : 14436, 1, 2021/03/16, 18:50:52.340, 861825409524, vstest.console.exe, TestRunRequest.Dispose: Starting.
TpTrace Information: 0 : 14436, 1, 2021/03/16, 18:50:52.340, 861825410212, vstest.console.exe, TestRunRequest.Dispose: Completed.
TpTrace Information: 0 : 14436, 1, 2021/03/16, 18:50:52.340, 861825410630, vstest.console.exe, TestRequestManager.RunTests: run tests completed.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.340, 861825411047, vstest.console.exe, LengthPrefixCommunicationChannel.Dispose: Dispose reader and writer.
TpTrace Information: 0 : 14436, 6, 2021/03/16, 18:50:52.340, 861825411586, vstest.console.exe, SocketServer.Stop: Raise disconnected event endPoint: 127.0.0.1:64737 error: 
TpTrace Information: 0 : 14436, 1, 2021/03/16, 18:50:52.340, 861825412367, vstest.console.exe, RunTestsArgumentProcessor:Execute: Test run is completed.
TpTrace Verbose: 0 : 14436, 1, 2021/03/16, 18:50:52.340, 861825414800, vstest.console.exe, Executor.Execute: Exiting with exit code of 1
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.341, 861825418085, vstest.console.exe, TestRequestSender: OnTestRunAbort: Operation is already complete. Skip error message.
TpTrace Verbose: 0 : 14436, 6, 2021/03/16, 18:50:52.341, 861825418676, vstest.console.exe, TcpClientExtensions.MessageLoopAsync: exiting MessageLoopAsync remoteEndPoint: 127.0.0.1:64738 localEndPoint: 127.0.0.1:64737

I am happy to share the full files privately you can use code@sumitmaitra.com address to send me a location to upload the logs.

@sumitkm
Copy link
Author

sumitkm commented Mar 16, 2021

Digging further, I can see out of the three Test projects I have, 2 are throwing the exception and 1 is not. So it narrows it down to an environment-ish issue.

Also I have updated the PackageReferences list in the original bug report above. I had inadvertently copied the packages from the Project that is actually working...

I'll keep digging in an attempt to reproduce it in a shareable project.

@Haplois
Copy link
Contributor

Haplois commented Mar 17, 2021

Thank you, I wasn't able to reproduce this; please share with the repro if you are able to create one.

@sumitkm
Copy link
Author

sumitkm commented Apr 1, 2021

Quick update. I upgraded our project to latest Test Framework and tried out the latest adapter got stuck again. This time the behaviour is slightly different.

It is a mix of the 2.2.1 issues and the above issue.

I am back to 2 set of Unit Test projects being completely ignored by the test framework. It shows the Tree in Text Explorer but doesn't run them.

After carefully installing/uninstalling various combinations of MSTest's Nuget packages. I find that the following combination is able to discover and run all my tests.

Microsoft.NET.Test.Sdk v16.9.4
MSTest.TestFramework v2.2.3
MSTest.TestAdapter v2.1.2

As soon as I upgrade to MSTest.TestAdapter v2.2.3 2/3rds of my tests fail to get recognised and are not executed.

I am going to keep trying to isolate this issue and find a reproable Project that I can share here.

@Haplois
Copy link
Contributor

Haplois commented Apr 2, 2021

@sumitkm, can you try with our latest preview (v2.2.4-preview-20210331-02)? If the issue persists, let's schedule a call on or after Tuesday. I'll send an email to you.

@sumitkm
Copy link
Author

sumitkm commented Apr 2, 2021

Thanks again for all your support @Haplois . I tried updating all the MSTest dependencies to the latest from the Test feed. but no dice.
image

As mentioned earlier only one of my three test projects run without the following error (even with new the pre packages)

An exception occurred while invoking executor 'executor://mstestadapter/v2': The parameter cannot be null or empty.
Parameter name: message

image
The Tests.Unit project doesn't throw the above error.

If I run each test project separately, all tests run.

However if I click Run all Tests from the explorer it first runs Tests.Integration, all tests pass but still I get the above exception and the tests in the other two projects are not executed. I have to then run the other two projects manually. This is fine, but the error on Tests.Integration will still break Visual Studio Build pipeline.

Cheers.

@odalet
Copy link
Contributor

odalet commented Apr 12, 2021

I experienced the same issue and for now reverted to v2.1.2 of both MSTest.TestAdapter and MSTest.TestFramework...

@Haplois
Copy link
Contributor

Haplois commented Jun 13, 2021

@sumitkm, @odalet could you test it with our latest preview bits? If the issue still persists, is it possible to share a quick repro with us?

@odalet
Copy link
Contributor

odalet commented Jun 24, 2021

@Haplois Well, I don't seem to reproduce the The parameter cannot be null or empty. Parameter name: message error any more, but now I'm stuck with crashes of the test host in my CI... I suppose this is a completely different issue, but just FYI:

Using:

  • MSTest.TestAdapter and MSTest.TestFramework version 2.2.5-preview-20210605-01
  • Microsoft.NET.Test.Sdk 16.10.0
  • Building on GitLab in a Debian Docker (.NET 5.0.202)

Test Execution:

$ dotnet test ${SOLUTION} --configuration Release --no-build --verbosity normal --logger:trx --logger:"junit;LogFilePath=./TestResults/{assembly}-test-result.xml;MethodFormat=Class;FailureBodyFormat=Verbose" /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:CoverletOutput=./TestResults/
Build started 06/24/2021 07:57:40.
     1>Project "/builds/sii/ncore/ncore-messaging/src/AddUp.NCore.Messaging.sln" on node 1 (VSTest target(s)).
     1>ValidateSolutionConfiguration:
         Building solution configuration "Release|Any CPU".
Test run for /builds/sii/ncore/ncore-messaging/src/UnitTests/UnitTests.AddUp.NCore.Messaging/bin/Release/netcoreapp3.1/UnitTests.AddUp.NCore.Messaging.dll (.NETCoreApp,Version=v3.1)
Microsoft (R) Test Execution Command Line Tool Version 16.9.4
Copyright (c) Microsoft Corporation.  All rights reserved.
Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
  Passed Publishing_throws_when_not_connected [49 ms]
  Passed Publishing_throws_when_disconnected [8 ms]
  Passed Publishing_works_when_connected [16 ms]
  Passed Publishing_works_after_disconnection_then_reconnection [< 1 ms]
  Passed Publishing_throws_when_not_connected [2 ms]
  Passed Publishing_throws_when_disconnected [< 1 ms]
  Passed Publishing_throws_when_passed_a_null_message [< 1 ms]
  Passed Publishing_works_when_connected [10 ms]
  Passed Publishing_works_after_disconnection_then_reconnection [< 1 ms]
  Passed VariableListPublisher_can_publish_a_single_string_variable [1 ms]
  Passed TryConnectAsync_is_cancelable [10 s]
  Passed TryConnectAsync_succeeds_if_given_enough_time [3 ms]
  Passed New_Bus_is_not_null [< 1 ms]
The active test run was aborted. Reason: Test host process crashed : Unhandled exception. System.ObjectDisposedException: Safe handle has been closed.
Object name: 'SafeHandle'.
   at System.Runtime.InteropServices.SafeHandle.DangerousAddRef(Boolean& success)
   at System.StubHelpers.StubHelpers.SafeHandleAddRef(SafeHandle pHandle, Boolean& success)
   at Interop.Kernel32.SetEvent(SafeWaitHandle handle)
   at System.Threading.EventWaitHandle.Set()
   at AddUp.NCore.Messaging.ConnectionTests.<>c__DisplayClass0_0.<TryConnectAsync_is_cancelable>b__0() in /builds/sii/ncore/ncore-messaging/src/UnitTests/UnitTests.AddUp.NCore.Messaging/Messaging/ConnectionTests.cs:line 27
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Results File: /builds/sii/ncore/ncore-messaging/src/UnitTests/UnitTests.AddUp.NCore.Messaging/TestResults/_runner-zv7u1nny-project-34-concurrent-0_2021-06-24_07_57_43.trx
Results File: ./TestResults/UnitTests.AddUp.NCore.Messaging-test-result.xml
Test Run Aborted.
Total tests: Unknown
     Passed: 13
 Total time: 45.9657 Seconds
     1>Done Building Project "/builds/sii/ncore/ncore-messaging/src/AddUp.NCore.Messaging.sln" (VSTest target(s)) -- FAILED.
Build FAILED.
    0 Warning(s)
    0 Error(s)

@Haplois
Copy link
Contributor

Haplois commented Jun 24, 2021

@odalet, can you share a quick repro? (If not can you run your tests with --diag and share the resulting *.log files with us?

@odalet
Copy link
Contributor

odalet commented Jun 24, 2021

I'm working on setting up a repro repository. Will post this here with details!

@Haplois
Copy link
Contributor

Haplois commented Jun 24, 2021

@odalet thanks! If it's a different issue you're welcome to create a new issue for better visibility.

@odalet
Copy link
Contributor

odalet commented Jun 24, 2021

So here is some bad news :(

Concerning the issue above, I did create a new issue (#887), but the thing is I was too quick at saying I didn't reproduce the issu any more; I was simply not looking at the right repository... .

So, I did apply version 2.2.5-preview-20210605-01 to test projects in the correct repository and:

  • I still get only a part of my tests executed from Visual Studio when I select "Run all tests in view"

image

  • and the Tests output console shows:
========== Test discovery finished: 1297 Tests found in 6,7 sec ==========
Aborting test discovery because a test run was requested.
Starting test discovery for requested test run
========== Starting test discovery ==========
No test is available in C:\work\repositories\addup-software\machinecontrol\src\ncore-server\Apps\ailc\bin\Debug\net472\ailc.exe. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
========== Test discovery finished: 1494 Tests found in 14 sec ==========
========== Starting test run ==========
An exception occurred while invoking executor 'executor://mstestadapter/v2': The parameter cannot be null or empty.
Parameter name: message
Stack trace:
   at Microsoft.VisualStudio.TestPlatform.Common.Logging.TestSessionMessageLogger.SendMessage(TestMessageLevel testMessageLevel, String message)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.LogCleanupResult(ITestExecutionRecorder testExecutionRecorder, RunCleanupResult result)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.RunCleanup(ITestExecutionRecorder testExecutionRecorder, UnitTestRunner testRunner)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.ExecuteTestsInSource(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle, String source, Boolean isDeploymentDone)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.ExecuteTests(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle, Boolean isDeploymentDone)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.RunTests(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle, TestRunCancellationToken runCancellationToken)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.MSTestExecutor.RunTests(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.RunTestsWithTests.InvokeExecutor(LazyExtension`2 executor, Tuple`2 executorUri, RunContext runContext, IFrameworkHandle frameworkHandle)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.<>c__DisplayClass48_0.<RunTestInternalWithExecutors>b__0()
   at Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformThread.<>c__DisplayClass0_0.<Run>b__0()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformThread.Run(Action action, PlatformApartmentState apartmentState, Boolean waitForCompletion)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.TryToRunInSTAThread(Action action, Boolean waitForCompletion)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.RunTestInternalWithExecutors(IEnumerable`1 executorUriExtensionMap, Int64 totalTests)

========== Test run finished: 1078 Tests (1078 Passed, 0 Failed, 0 Skipped) run in 1 min ==========

I also upgraded Microsoft.NET.Test.Sdk from v16.9.4 to v16.10.0 (and I'm running VS Enterrprise 16.10.2), but same result...

@odalet
Copy link
Contributor

odalet commented Jun 24, 2021

I managed to narrow down the issue to a rather simple repro (note that you'll need to add Mongo2go:

using System;
using System.Diagnostics.CodeAnalysis;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Mongo2Go;

namespace MSTestTest
{
    [TestClass, ExcludeFromCodeCoverage]
    public class UnitTests
    {
        private static MongoDbRunner runner;

        [ClassInitialize, SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Required by VSTest conventions")]
        public static void Setup(TestContext context)
        {
            //Console.Out.WriteLine("Before Start");
            runner = MongoDbRunner.Start();
            //Console.Out.WriteLine("After Start");
        }

        [ClassCleanup]
        public static void Teardown()
        {
            //Console.Out.WriteLine("Before Dispose");
            runner.Dispose();
            //Console.Out.WriteLine("After Dispose");
        }

        [TestMethod]
        public void Fake_test() => Assert.IsTrue(true);
    }
}

This test reproduces the error that prevent later tests to execute (in Visual Studio).
What's interesting is that:

  • If I uncomment either the first or the second Console.WriteLine in the Cleanup method, the error goes away.
  • If I do so in the Initialize method, the error does not go away and as a side note, the WriteLine calls do not appear in the Tests output...
  • MongoDbRunner.Start() starts an external process (that runs mongo.exe) that in turn writes to its console. I suppose (did not check) that Mongo2go redirects mongo.exe out and err outputs.

Well all this to say that I think there is some buggy behavior both in the Test initialization and cleanup methods with respect to console output maybe when some of this comes from out/err files redirected from an external process...

Hope this helps

@sumitkm
Copy link
Author

sumitkm commented Jun 24, 2021

@odalet that is a brilliant narrowing down. @Haplois I can confirm I am using Mongo2Go as well in my tests.

@odalet
Copy link
Contributor

odalet commented Jun 24, 2021

@sumitkm thanks! And well, I couldn't have suspected you were also using mongo2go... I think (hope) the issue is not specific to mongo2go but rather arises when a subprocess is created with its console redirected.
Do you happen to use class initialization and cleanup methods as well?

@sumitkm
Copy link
Author

sumitkm commented Jun 24, 2021

We use [AssemblyInitialize] and [AssemblyCleanup], which kind of explains why all my tests in one assembly runs before failing to start the run of the next Test project.

I am going to try that Console.WriteLine hack and see if it behaves the same for me too. brb.

@sumitkm
Copy link
Author

sumitkm commented Jun 24, 2021

Haa haa... @odalet you wonderful hacker 😆 It works! Here is our Assembly level initialization
MockMongoFactory is just a custom class where we initialize the DB with some custom params.

using Microsoft.VisualStudio.TestTools.UnitTesting;

using MyCompany.TestHelpers.Tests.Common.Mocks;
using System;

[TestClass]
public class TestStartup
{
    public static MockMongoFactory MockMongoFactory { get; set; }


    [AssemblyInitialize]
    public static void AssemblyInitialize(TestContext context)
    {
        TestStartup.MockMongoFactory = new MockMongoFactory();

    }

    [AssemblyCleanup]
    public static void AssemblyCleanup()
    {
        //Console.Out.WriteLine("Before Dispose");
        TestStartup.MockMongoFactory.Dispose();
        Console.Out.WriteLine("After Dispose of Tests.Integration");
    }
}

@Haplois Here is the exception I get if we don't use the Console.Out.WriteLine("...") hack. Notice the first one Tests.Integration passes and the second one Tests.Local fails (because the second one doesn't have the hack yet).

Also I am using the release version MSTest.TestAdapter v2.2.4. So just confirming @odalet 's workaround works for previous builds too.

    MSTest Executor: Test Parallelization enabled for C:\Workspaces\MyCompany\App\Main\Tests.Integration\bin\x64\Debug\net48\Tests.Integration.dll (Workers: 12, Scope: ClassLevel).


After Dispose of Tests.Integration

MSTest Executor: Test Parallelization enabled for C:\Workspaces\MyCompany\App\Main\Tests.Local\bin\x64\Debug\net48\Tests.Local.dll (Workers: 12, Scope: ClassLevel).
An exception occurred while invoking executor 'executor://mstestadapter/v2': The parameter cannot be null or empty.
Parameter name: message
Stack trace:
   at Microsoft.VisualStudio.TestPlatform.Common.Logging.TestSessionMessageLogger.SendMessage(TestMessageLevel testMessageLevel, String message)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.LogCleanupResult(ITestExecutionRecorder testExecutionRecorder, RunCleanupResult result)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.RunCleanup(ITestExecutionRecorder testExecutionRecorder, UnitTestRunner testRunner)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.ExecuteTestsInSource(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle, String source, Boolean isDeploymentDone)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.ExecuteTests(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle, Boolean isDeploymentDone)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.RunTests(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle, TestRunCancellationToken runCancellationToken)
   at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.MSTestExecutor.RunTests(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.RunTestsWithTests.InvokeExecutor(LazyExtension`2 executor, Tuple`2 executorUri, RunContext runContext, IFrameworkHandle frameworkHandle)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.<>c__DisplayClass48_0.<RunTestInternalWithExecutors>b__0()
   at Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformThread.<>c__DisplayClass0_0.<Run>b__0()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformThread.Run(Action action, PlatformApartmentState apartmentState, Boolean waitForCompletion)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.TryToRunInSTAThread(Action action, Boolean waitForCompletion)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.RunTestInternalWithExecutors(IEnumerable`1 executorUriExtensionMap, Int64 totalTests)

@odalet
Copy link
Contributor

odalet commented Jun 25, 2021

Well, to be honest, it was sheer luck that lead me to this workaround: I was merely trying to dump some information while investigating with my Console.WriteLine stuff... And then, I'm not that surprised the hack works with assembly level init/cleanup code as well: ultimately it taps into the same LogCleanupResult method deep down the test adapter.

@Haplois I think the parts to investigate are what happens during initialization and cleanup steps relating to console redirections. Mongo2go may be specifically at fault (although it didn't bother MSTest v2.1), but I suspect we'd end up with the same errors if we were to use any code that spawns a process and monitors its output.

I know from experience that Windows Console redirection is a b*tch to get right so I had a look at how this behaves on Linux:
I ran my test test on WSL and... it just works!

@Haplois
Copy link
Contributor

Haplois commented Jun 25, 2021

@odalet, Thanks for all the investigation, hacking and narrowing down! I'll look into this as well and try to see if we need fix this on our side.

@odalet
Copy link
Contributor

odalet commented Jun 25, 2021

@Haplois I've just cloned the testfx repo, walked down the call stack of my exception, and I think I came up with a fix:

I noticed that in TestExecutionManager.LogCleanupResult, one makes sure that messages are neither null nor empty before passing them to testExecutionRecorder.SendMessage.

However (I took the liberty to examine the implementation of ITestExecutionRecorder from my Visual Studio installation), this SendMessage method throws if the message is null or whitespace! And I confirmed that, with my use case, I was indeed retrieving some output full of whitespaces and cr/lf...

So I replaced the calls to string.IsNullOrEmpty with string.IsNullOrWhitespace (and added one such test inside the loop over warnings as well) and tried it against my test. And it works.

Here is the proposed code for TestExecutionManager.LogCleanupResult:

private void LogCleanupResult(ITestExecutionRecorder testExecutionRecorder, RunCleanupResult result)
{
	Debug.Assert(testExecutionRecorder != null, "Logger should not be null");

	if (!string.IsNullOrWhiteSpace(result.StandardOut))
	{
		testExecutionRecorder.SendMessage(TestMessageLevel.Informational, result.StandardOut);
	}

	if (!string.IsNullOrWhiteSpace(result.DebugTrace))
	{
		testExecutionRecorder.SendMessage(TestMessageLevel.Informational, result.DebugTrace);
	}

	if (!string.IsNullOrWhiteSpace(result.StandardError))
	{
		testExecutionRecorder.SendMessage(
			MSTestSettings.CurrentSettings.TreatClassAndAssemblyCleanupWarningsAsErrors ? TestMessageLevel.Error : TestMessageLevel.Warning,
			result.StandardError);
	}

	if (result.Warnings != null)
	{
		foreach (string warning in result.Warnings)
		{
			if (!string.IsNullOrWhiteSpace(warning))
			{
				testExecutionRecorder.SendMessage(
					MSTestSettings.CurrentSettings.TreatClassAndAssemblyCleanupWarningsAsErrors ? TestMessageLevel.Error : TestMessageLevel.Warning,
					warning);
			}
		}
	}
}		

What's left:

  • This does not explain why these tests of ours did not fail when using v2.1 of testfx. I can only suppose that other parts of the code were changed that previously prevented these whitespace strings from reaching LogCleanupResult or maybe the previous code didn't capture at all the output from external processes...
  • Proposing a proper PR; but for that, I'm afraid I won't know what to implement in Unit Tests... I just discovered the code base today. So, unless this change is deemed harmless enough to not require unit tests, it may be more efficient to let you or anyone here at Microsoft handle the PR or, alternatively, guide me toward the correct place for unit testing this.

Tell me what you think!

@Haplois
Copy link
Contributor

Haplois commented Jun 26, 2021

Hi @odalet - thank you for all your work here. Since you did all the investigation, if you open the PR; I can guide you on the tests.

Haplois pushed a commit that referenced this issue Jun 26, 2021
…stead of "null or empty" (#892)

Co-authored-by: Olivier DALET <olivier.dalet@addupsolutions.com>
HeroMaxPower added a commit to HeroMaxPower/testfx that referenced this issue Jul 27, 2021
commit f7de2d4
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Wed Jul 21 14:26:59 2021 +0200

    Update dependencies from https://github.com/microsoft/vstest build 20210719-01 (microsoft#925)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210715-01 -> To Version 17.0.0-preview-20210719-01

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit e8fa622
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Wed Jul 21 14:26:32 2021 +0200

    [main] Update dependencies from dotnet/arcade (microsoft#924)

    * Update dependencies from https://github.com/dotnet/arcade build 20210716.1

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21365.11 -> To Version 6.0.0-beta.21366.1

    * Update dependencies from https://github.com/dotnet/arcade build 20210719.3

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21365.11 -> To Version 6.0.0-beta.21369.3

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit f31b23c
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Sat Jul 17 01:25:45 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210715.11 (microsoft#923)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21364.3 -> To Version 6.0.0-beta.21365.11

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 509d026
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Sat Jul 17 01:25:22 2021 +0200

    Update dependencies from https://github.com/microsoft/vstest build 20210715-01 (microsoft#922)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210714-01 -> To Version 17.0.0-preview-20210715-01

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 90112ff
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Thu Jul 15 14:13:27 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210714.3 (microsoft#921)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21363.2 -> To Version 6.0.0-beta.21364.3

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit a0882c1
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Thu Jul 15 14:13:16 2021 +0000

    Update dependencies from https://github.com/microsoft/vstest build 20210714-01 (microsoft#920)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210712-03 -> To Version 17.0.0-preview-20210714-01

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit b0be7a1
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Wed Jul 14 16:42:34 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210713.2 (microsoft#918)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21357.3 -> To Version 6.0.0-beta.21363.2

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 797c799
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Tue Jul 13 20:35:03 2021 +0200

    Update dependencies from https://github.com/microsoft/vstest build 20210712-03 (microsoft#916)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210710-01 -> To Version 17.0.0-preview-20210712-03

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 5a432c9
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Sun Jul 11 13:08:17 2021 +0000

    Update dependencies from https://github.com/microsoft/vstest build 20210710-01 (microsoft#914)

    [main] Update dependencies from microsoft/vstest

commit 4382f3a
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Sat Jul 10 01:58:40 2021 +0200

    Update dependencies from https://github.com/microsoft/vstest build 20210708-01 (microsoft#911)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210705-01 -> To Version 17.0.0-preview-20210708-01

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit ef4c809
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Sat Jul 10 01:58:16 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210707.3 (microsoft#912)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21355.2 -> To Version 6.0.0-beta.21357.3

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 3ce8458
Author: jvrooyen <28042104+jvrooyen@users.noreply.github.com>
Date:   Thu Jul 8 14:34:49 2021 +0200

    Fix DateTime looses significant digits in DynamicData (microsoft#875) (microsoft#907)

commit 86845cf
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Tue Jul 6 15:00:11 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210705.2 (microsoft#904)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21351.2 -> To Version 6.0.0-beta.21355.2

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit c6ba660
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Tue Jul 6 12:38:29 2021 +0000

    Update dependencies from https://github.com/microsoft/vstest build 20210629-04 (microsoft#898)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210629-03 -> To Version 17.0.0-preview-20210629-04

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 8babc08
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Mon Jul 5 08:09:12 2021 +0000

    [main] Update dependencies from dotnet/arcade (microsoft#900)

    * Update dependencies from https://github.com/dotnet/arcade build 20210630.2

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21329.8 -> To Version 6.0.0-beta.21330.2

    * Update dependencies from https://github.com/dotnet/arcade build 20210701.2

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21329.8 -> To Version 6.0.0-beta.21351.2

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit bb2161a
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Wed Jun 30 15:28:14 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210629.8 (microsoft#899)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21328.2 -> To Version 6.0.0-beta.21329.8

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit f017fa2
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Tue Jun 29 19:57:50 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210628.2 (microsoft#897)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21324.3 -> To Version 6.0.0-beta.21328.2

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 463f5b6
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Tue Jun 29 19:59:55 2021 +0200

    Update dependencies from https://github.com/microsoft/vstest build 20210629-03 (microsoft#896)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210628-03 -> To Version 17.0.0-preview-20210629-03

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 17fee3c
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Mon Jun 28 14:40:45 2021 +0200

    Update dependencies from https://github.com/microsoft/vstest build 20210628-03 (microsoft#894)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210627-02 -> To Version 17.0.0-preview-20210628-03

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 1fc6719
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Mon Jun 28 11:49:59 2021 +0200

    Update dependencies from https://github.com/microsoft/vstest build 20210627-02 (microsoft#893)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210624-09 -> To Version 17.0.0-preview-20210627-02

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 50c322c
Author: odalet <odalet@users.noreply.github.com>
Date:   Sun Jun 27 00:38:02 2021 +0200

    Fixes microsoft#799 by testing logged messages against "null or whitespace" instead of "null or empty" (microsoft#892)

    Co-authored-by: Olivier DALET <olivier.dalet@addupsolutions.com>

commit 2d0f311
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Fri Jun 25 12:46:10 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210624.3 (microsoft#891)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21323.1 -> To Version 6.0.0-beta.21324.3

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 10e47b5
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Fri Jun 25 13:19:36 2021 +0200

    Added missing framework references for WinUI (microsoft#890)

     * Added missing framework references
     * Updated license headers on PowerShell files
     * Included a script to install required Windows SDK

commit aad795f
Author: Morten Nielsen <1378165+dotMorten@users.noreply.github.com>
Date:   Thu Jun 24 14:12:31 2021 -0700

    Upgraded winui to 0.8.0 (microsoft#888)

    The dispatcher has moved to a new namespace

commit 6e699eb
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Thu Jun 24 14:54:46 2021 +0000

    Update dependencies from https://github.com/microsoft/vstest build 20210624-09 (microsoft#885)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210623-08 -> To Version 17.0.0-preview-20210624-09

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit a9d1e1c
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Thu Jun 24 16:43:41 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210623.1 (microsoft#886)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21321.2 -> To Version 6.0.0-beta.21323.1

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 6a09407
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Wed Jun 23 12:54:35 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210621.2 (microsoft#884)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21321.1 -> To Version 6.0.0-beta.21321.2

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit ad61572
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Wed Jun 23 12:51:42 2021 +0000

    Update dependencies from https://github.com/microsoft/vstest build 20210623-08 (microsoft#883)

    Microsoft.NET.Test.Sdk
     From Version 17.0.0-preview-20210520-02 -> To Version 17.0.0-preview-20210623-08

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 5fa4866
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Tue Jun 22 22:32:54 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210621.1 (microsoft#882)

    [main] Update dependencies from dotnet/arcade

commit b5ecab6
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Sun Jun 20 22:52:19 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210619.2 (microsoft#881)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21318.2 -> To Version 6.0.0-beta.21319.2

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit a392596
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Sat Jun 19 15:43:21 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210618.2 (microsoft#880)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21317.1 -> To Version 6.0.0-beta.21318.2

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 53a7597
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Fri Jun 18 15:10:42 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210617.1 (microsoft#879)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21316.3 -> To Version 6.0.0-beta.21317.1

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit fe6babd
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Thu Jun 17 22:58:33 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210616.3 (microsoft#878)

    [main] Update dependencies from dotnet/arcade

commit 96ad498
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Tue Jun 15 14:52:47 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210614.1 (microsoft#876)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21311.3 -> To Version 6.0.0-beta.21314.1

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit e2fbeab
Author: Sanan Yuzbashiyev <Sanan07@users.noreply.github.com>
Date:   Mon Jun 14 01:11:51 2021 +0200

    Adding contribution note (microsoft#873)

    Clarified contribution guidelines, and added extra notices.

    Co-authored-by: Medeni Baykal <433724+Haplois@users.noreply.github.com>

commit 807d6c9
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Mon Jun 14 01:01:07 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210611.3 (microsoft#874)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21304.1 -> To Version 6.0.0-beta.21311.3

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    Co-authored-by: Medeni Baykal <433724+Haplois@users.noreply.github.com>

commit 59cd5ae
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Sat Jun 5 22:35:16 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210604.1 (microsoft#865)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21303.2 -> To Version 6.0.0-beta.21304.1

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 25e984e
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Sat Jun 5 03:12:39 2021 +0200

    Fixed a bug in `ITestDataSource` data deserialization (microsoft#864)

     - Fixed a bug in `ITestDataSource` data deserialization when trying to deserialize a type outside of current assembly. This should fix the last item in microsoft#844.
     - Added extra tests cases for `ITestDataSource`, we're now testing almost all cases we can think of.

commit 5d4bb67
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Fri Jun 4 15:20:45 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210603.2 (microsoft#862)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21302.1 -> To Version 6.0.0-beta.21303.2

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 640372c
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Fri Jun 4 02:44:22 2021 +0200

    Fixed DataSource deserialization. (microsoft#859)

commit f6731ef
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Thu Jun 3 14:59:38 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210602.1 (microsoft#858)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21281.1 -> To Version 6.0.0-beta.21302.1

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

commit 39a52b3
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Tue Jun 1 14:29:39 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210531.1 (microsoft#853)

    [main] Update dependencies from dotnet/arcade

commit 57d2d00
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Mon May 31 13:04:02 2021 +0200

    Fixed a serialization issue with DataRows. (microsoft#847)

commit 1c62432
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Mon May 31 09:04:37 2021 +0200

    Replaced license file with an expression. (microsoft#846)

    - Replaced LICENSE files in NuGet packages with a license expression, and added a licenseUrl.

commit eaa3242
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Sun May 30 12:56:40 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210528.1 (microsoft#845)

    [main] Update dependencies from dotnet/arcade

commit 93a72f5
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Fri May 28 17:56:15 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210527.1 (microsoft#841)

    [main] Update dependencies from dotnet/arcade

commit 6b705ed
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Thu May 27 15:48:51 2021 +0200

    Update dependencies from https://github.com/dotnet/arcade build 20210526.5 (microsoft#840)

    Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
     From Version 6.0.0-beta.21275.5 -> To Version 6.0.0-beta.21276.5

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    Co-authored-by: Medeni Baykal <433724+Haplois@users.noreply.github.com>

commit 365f05d
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Wed May 26 12:53:09 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210525.5 (microsoft#836)

    [main] Update dependencies from dotnet/arcade

commit e18a292
Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date:   Tue May 25 19:46:44 2021 +0000

    Update dependencies from https://github.com/dotnet/arcade build 20210524.6 (microsoft#835)

    [main] Update dependencies from dotnet/arcade

commit 43f5000
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Tue May 25 19:29:45 2021 +0200

    Rename Nuget.config to NuGet.config (microsoft#833)

commit b5c0790
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Mon May 24 12:09:42 2021 +0200

    Arcade files added (microsoft#832)

    * Added Arcade files.

commit 9e62a25
Author: Jakub Jareš <me@jakubjares.com>
Date:   Thu May 20 11:07:27 2021 +0200

    Rename to main (microsoft#828)

    * Rename to main

    * main file

commit 19acefa
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Wed May 19 10:22:28 2021 +0200

    Updated MicrosoftNetTestSdkVersion to 16.10.0-release-20210429-01 (microsoft#831)

commit fe3ba4f
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Tue May 18 02:57:26 2021 +0200

    Refactored projects to use PackageReference. (microsoft#830)

commit 0b95a26
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Thu May 13 09:20:32 2021 +0200

    Bumped `Newtonsoft.Json` version on WinUI. (microsoft#827)

commit f68fd34
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Thu May 13 09:20:09 2021 +0200

    Reverting an unintended breaking-change. (microsoft#826)

    Reverting an unintended breaking change in reflection.

    Thank you, @azchohfi, for reporting it; this makes microsoft#824 unnecessary.

commit 30aaca1
Author: Alexandre Zollinger Chohfi <alzollin@microsoft.com>
Date:   Wed Apr 28 15:22:54 2021 -0700

    Small fix for full file path on WinUI (microsoft#823)

commit 2e35bad
Author: Alexandre Zollinger Chohfi <alzollin@microsoft.com>
Date:   Wed Apr 28 12:43:44 2021 -0700

    Added WinUITestSourceHost (microsoft#822)

    Small fix that was preventing tests from running from VS TestExplorer.

commit faf5270
Author: Medeni Baykal <433724+Haplois@users.noreply.github.com>
Date:   Thu Apr 22 01:04:11 2021 +0200

    Moved ITestDataSource discovery to test discovery. (microsoft#794)

    * Moved `ITestDataSource` discovery to test discovery.
    * Hierarchies added into `TestCase`.
    * Id generation moved to AdapterUtilities package.

commit 94c3110
Author: Pavel Horak <22235234+pavelhorak@users.noreply.github.com>
Date:   Mon Apr 19 10:06:54 2021 +0200

    Open Source Code of Conduct update Update (microsoft#816)

commit 179c864
Author: Jakub Jareš <me@jakubjares.com>
Date:   Fri Apr 16 10:44:44 2021 +0200

    Handle possible null ref in error handler (microsoft#819)

    I have a dump that throws access violation exception in native code and the test run fails with:

    `An exception occurred while invoking executor 'executor://mstestadapter/v2': Object reference not set to an instance of an object.`

    I looked through the code and the only way I can get this result is when ex would be null in the handler. Otherwise it fails with different error, either from the asserts in the `StackTraceHelper` methods or in upstream error handlers.

commit e0289e8
Author: Test Platform Bot <79333716+testplatform-bot@users.noreply.github.com>
Date:   Wed Apr 14 10:27:27 2021 +0200

    Localized file check-in by OneLocBuild Task (microsoft#818)

commit 3956a4d
Author: csigs <csigs@users.noreply.github.com>
Date:   Tue Apr 13 10:03:38 2021 -0700

    LEGO: Pull request from lego/hb_63a2d317-b544-477f-9d48-4250bdd255f0_20210413165102761 to master (microsoft#817)

    LEGO: Pull request from lego/hb_63a2d317-b544-477f-9d48-4250bdd255f0_20210413165102761 to master with localized lcls

commit f7b5a40
Author: Test Platform Bot <79333716+testplatform-bot@users.noreply.github.com>
Date:   Tue Apr 13 09:03:29 2021 +0200

    Localized file check-in by OneLocBuild Task (microsoft#815)

commit 072c5ad
Author: csigs <csigs@users.noreply.github.com>
Date:   Mon Apr 12 09:54:48 2021 -0700

    LEGO: Pull request from lego/hb_63a2d317-b544-477f-9d48-4250bdd255f0_20210412164646888 to master (microsoft#814)

    LEGO: Pull request from lego/hb_63a2d317-b544-477f-9d48-4250bdd255f0_20210412164646888 to master with localized lcls

commit d5ee30b
Author: Alexandre Zollinger Chohfi <alzollin@microsoft.com>
Date:   Mon Apr 12 01:58:24 2021 -0700

    Added WinUI TestAdapter. (microsoft#813)

commit 4c980dd
Author: Maximilian Chaplin <chaplin_max@hotmail.com>
Date:   Thu Apr 8 11:59:49 2021 +0200

    Code cleanup with analysers. (microsoft#807)

    Doing some code cleanup with some static analyzers.

    IDE0016 Null check can be simplified
    IDE0018 Variable declaration can be inlined

commit 348e322
Author: Test Platform Bot <79333716+testplatform-bot@users.noreply.github.com>
Date:   Wed Apr 7 15:23:29 2021 +0200

    Localized file check-in by OneLocBuild Task (microsoft#811)

commit f579469
Author: Maximilian Chaplin <chaplin_max@hotmail.com>
Date:   Tue Apr 6 11:34:04 2021 +0200

    Added AreEqual and AreNotEqual tests (microsoft#809)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants