stride3d / stride3d/stride

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

Open
#2,395 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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:

  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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.