microsoft / testfx

MSTest framework and adapter
MIT License
750 stars 255 forks source link

Add support for testing unpackaged WinUI applications #2784

Open Evangelink opened 6 months ago

Evangelink commented 6 months ago

Results of my investigations on the WinUI issue https://github.com/microsoft/testfx/issues/1127#issuecomment-2075705760 are showing that we now work correctly for all cases but unpackaged applications. Although, this is not a work related to MSTest, I want to keep track of this missing feature.

AB#2050311

michael-hawker commented 6 months ago

Thanks @Evangelink, is there an issue tracking this in the WinAppSDK repo we can link to?

Also, copying your matrix here and formatting as a table:

WindowsAppSDKSelfContained Not set True False
WindowsPackageType Not set None MSIX Not set None MSIX Not set None MSIX
Result with VSTest

And the resulting error for the None WindowsPackageType:

File name: 'C:\src\temp\MSTestWinUI\UnitTest\bin\x64\Debug\net6.0-windows10.0.19041.0\win10-x64\AppxManifest.xml'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
   at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
   at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
   at System.Xml.XmlTextReaderImpl.FinishInitUriString()
   at System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)
   at System.Xml.Linq.XDocument.Load(String uri, LoadOptions options)
   at Microsoft.VisualStudio.UwpTestHostRuntimeProvider.AppxManifestFile.ReadTargetPlatformVersions()
   at Microsoft.VisualStudio.UwpTestHostRuntimeProvider.AppxManifestFile.get_TargetPlatformVersion()
   at Microsoft.VisualStudio.UwpTestHostRuntimeProvider.Deployer.Microsoft.VisualStudio.UwpTestHostRuntimeProvider.IDeployer.get_TargetPlatformVersion()
   at Microsoft.VisualStudio.UwpTestHostRuntimeProvider.UwpTestHostManager.<LaunchHostAsync>d__36.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.UwpTestHostRuntimeProvider.UwpTestHostManager.<Microsoft-VisualStudio-TestPlatform-ObjectModel-Host-ITestRuntimeProvider-LaunchTestHostAsync>d__28.MoveNext()<---
Evangelink commented 6 months ago

Thanks @Evangelink, is there an issue tracking this in the WinAppSDK repo we can link to?

Not yet. I am still discussing some details but I will post here the ticket or info once it's sorted.

testplatform-bot commented 6 months ago

✅ Successfully linked to Azure Boards work item(s):

Evangelink commented 4 months ago

Postponing to next iteration as there were many bug fixes to handle this sprint.

Evangelink commented 2 months ago

Postponing to wait for availability from WinUI team.

ajayjeyasingh commented 4 days ago

@Evangelink any idea when this will be fixed ?

Evangelink commented 2 days ago

Sadly it seems this isn't going to be coming soon as we don't have any priority related to WinUI at the moment. Please upvote the issue if you are interested so we could use traction to revisit some team priorities.