Conversation
WalkthroughThis pull request introduces assembly preloading functionality to resolve type identity issues between the Default AssemblyLoadContext and Godot's PluginLoadContext. A new Changes
Sequence DiagramsequenceDiagram
participant TestFramework as Test Framework
participant Fixture as GodotFixture
participant Preloader as AssemblyPreloader
participant ALC as AssemblyLoadContext.Default
participant Godot as Godot Engine
TestFramework->>Fixture: Instantiate fixture
Fixture->>Fixture: Gather assemblyDir
Fixture->>Preloader: PreloadGameAssemblies(projectPath)
Preloader->>Preloader: FindGameAssemblies()
Preloader->>Preloader: Filter system/Godot assemblies
Preloader->>ALC: Load filtered assemblies
ALC-->>Preloader: Assemblies loaded
Preloader-->>Fixture: Preloading complete
Fixture->>Godot: Initialize Godot engine
Godot->>Godot: Engine startup with assemblies in Default context
Godot-->>TestFramework: Fixture ready
Estimated Code Review Effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
Contains fixes for the problem where referenced assemblies in tests are double-loaded (by Godot) or are loaded again but with a somewhat different context.
Fixes #17
Summary by CodeRabbit
Chores
Bug Fixes