Test Failures in Stride.Samples.Tests related to Missing Packages
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 49
Description
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:
- In the Stride Test Suites, run the Stride.Samples.Tests suite (about 32 tests total)
- 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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Run the Stride.Samples.Tests suite and review the missing-package log first. Trace LoadDefaultTemplates in StrideDefaultAssetsPlugin.cs, the GameTestingClient.cs setup, and package lookup in NugetStore.cs, using the noted breakpoints if needed. Done means the sample tests can find the named packages and proceed consistently beyond setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- game-dev, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100