stride icon indicating copy to clipboard operation
stride copied to clipboard

Test Failures in Stride.Samples.Tests related to Missing Packages

Open dloe opened this issue 1 year ago • 0 comments

Release Type: Official Release

Version: 4.2.0.2188 (but still seen in current master branch #87608ec61)

Platform(s): Windows

Describe the bug

All tests in the Stride.Samples.Tests fail due to not being able to find certain packages located in the external nuget package directory (These are located in your corresponding user folder on your hard drive under ~/Users/Name/.nuget/packages/

Unable to find the following packages: Stride.Assets.Presentation, Stride.Spritestudio.Offline, and Stride.Samples.Templates however they do exisit at least on my device as well as the version being used (4.2.0.1 in this case).

To Reproduce Steps to reproduce the behavior:

  1. In the Stride Test Suites, run the Stride.Samples.Tests suite (about 32 tests total)
  2. All should fail with the same error. (will include Test Detail Summary logs below) (Putting a breakpoint at line 99 in StrideDefaultAssetPlugin.cs and at line 270 in NugetStore.cs may prove useful in seeing how the packages are found)

Expected behavior These tests all use the GameTestingClient class for their unit tests (located in GameTestingClient.cs). They all send requests to the router which in turn route them to the running game. Each setup for the unit tests involve calling LoadDefaultTemplates for project setups where we see an error occur where the stride.assets.presentation, stride.spritestudio.offline, and stride.samples.templates packages cannot be found.

I would imagine that when working properly various scenes are rendered, screenshots are taken and compared, similar to how the other GPU rendering tests are ran (For example: Stride.Graphics.Tests).

Log and callstacks Missing Package Logs: MissingPackageLog.txt

Additional context After some messing around I was able to determine that this error could sometimes be fixed because of the folder names being case sensitve. Fixing the directory names in LoadDefaultTemplates function inside the StrideDefaultAssetPlugin.cs file allows this to continue further but we hit other errors. However, I had issues getting this to work consistently to show what happens after I got past the initial error.

Just a note here as well, when I did somehow get the packages to be found, there was a new error related to generating sample models from template (I think the types of models depended on the type of test being ran but all still conistently failed). For whatever reason I was not able to continue getting past the missing package error when trying to recreate this with the changes below.

Change that got me past the missing package before: Located in https://github.com/stride3d/stride/blob/master/sources/editor/Stride.Assets.Presentation/StrideDefaultAssetsPlugin.cs Capture_SampleTestIssue_SuggestedChange

dloe avatar Jul 18 '24 18:07 dloe