- Project generation will add a new IsTestTarget property in the "Globals" property group section of the project file for explicit test target projects
- UnrealVS checks for this property and does not change the command line for test targets
- TestRunner removes all project argument logic - that can be passed after --extra-args using -project="Path/To/*.uproject" and/or -projectdir="Path/To/Project"
- OSS and Online global handlers, which occur during the Catch2 session, will read project name and/or directory using SetProjectNameAndDirectory from TestCommon/Initialization.h
#jira UE-189840
[CL 26688348 by chris constantinescu in ue5-main branch]
Migrated and updated the only test code I found in the plugin, some basic predicted cue functionality, to the test program.
Low-level test runner InitAll helper function now sets GIsRunning to true, NetworkPrediction is checking for this during initialization.
#jira none
#rb brian.bekich, chris.constantinescu
#preflight 6413818332723d4a20e515c8
[CL 24679630 by Ryan Gerleve in ue5-main branch]
Replication system tests: initialize some ini settings in the PreObjectSystemReady phase to prevent "Generating descriptor for struct that has custom serialization" warnings.
#jira UE-178241
#preflight 640123f33206d45d20ca57d5
#rb peter.engstrom, chris.constantinescu
[CL 24499028 by Ryan Gerleve in ue5-main branch]
- bUsePlatformFileStub = true replaces the default platform file. The default PF is saved and can be reused at any time.
The side effect is lots of warnings for missing files and object loading errors which is acceptable for low level tests.
- bMockEngineDefaults = true sets some mandatory engine defaults (materials, fonts etc) that can only be loaded from cooked assets.
#jira UE-178194
#rb Ryan.Gerleve
#preflight 63f8e7051206d91a2bd8b0cd
[CL 24407283 by chris constantinescu in ue5-main branch]
#fyi wouter.dek
The problem with this change is that late-created shader types will not be in the shadertype list and as such will not be included in the shader map even if their ShouldCompilePermutation() would return true.
Original CL Desc
-----------------------------------------------------------------
Convert shader type and parameter struct metadata from global variables to static locals to defer initialization. This allows us to create these types dynamically at startup, while keeping the rest of the infrastructure as is.
#preflight 63eca58e7d2ec3d2fd286d9a
#rb zach.bethel
[CL 24240825 by Arciel Rekman in ue5-main branch]
- remove dependency on LaunchEngineLoop.cpp which also allows compilation against engine to succeed
- LowLevelTestsRunner no dependency on engine modules required: Launch, Core, Project
- EXPLICIT_TESTS_TARGET definition for self-contained tests: test modules and targets that derive from TestModuleRules/TestTargetRules respectively
- Cleanup Launch dependencies from existing explicit tests
- Cleanup redundant flags from existing explicit tests
- rename Self -> Foundation for in Horde
- additional platform fixes
Default #preflight 63e14d37244dc45a20e29337
All platform/tests LLTs #preflight 63e022f91b44ee7cb1c11d60
#rnx
[CL 24035900 by chris constantinescu in ue5-main branch]
#fyi chris.constantinescu
Original CL Desc
-----------------------------------------------------------------
(LLT) Set cached data directories via FPlatformFile::InitializeAfterProjectFilePath -> fixes code path cycle for Program type applications where no project path is defined.
#jira UE-163672
#rb Josh.Adams
#preflight 6321e55e506f1a33e0bf2576
Reverting as it causes UE-165118 (Insights log not being gathered on some platforms). The problem was that some systems rely on the cached paths being available very early during the launch sequence. Delaying the initialization of these paths leads to non-existent paths being used and traces not being written.
#preflight 633355a4d747fe52c807dfbf
#fyi chris.constantinescu
#jira UE-165118
#rnx
[CL 22212743 by wojciech krywult in ue5-main branch]
It is unsafe to skip module shutdown because many modules need to destroy things that were lazily initialized, and may crash later during shutdown if the expected shutdown flow was skipped.
#jira UE-163043
#preflight 631a272a980179553ed8097d
#preflight 631a27eea60c539c989bc821
#rb Brandon.Schaefer
#rnx
#fyi Chris.Constantinescu
[CL 21902718 by Devin Doucette in ue5-main branch]
Motivation: CoreUObject, taskgraph and threads are global constructs and need to be initialized as such and are expensive to setup/teardown before/after multiple single tests.
Introduced --global-setup and --no-global-setup to control execution of global test setup.
Unit tests that rely heavily on mocking and are designed to run without any global context should use --no-global-setup
Other: Removed CoreTestFixture and applied minor fixes wherever things didn't make sense.
One particular CoreUObject test was converted but had always failed to run on non-desktop platforms. It needs to be addressed ASAP.
#preflight 625873c7e304a95465fc148e
#rb Devin.Doucette, Zousar.Shaker
[CL 19769262 by chris constantinescu in ue5-main branch]