Commit Graph

29 Commits

Author SHA1 Message Date
stephen ma
9be28c4d4f Update LowLevelTests.xml to pass in -programprojectoverride=$(BuildProject) when using StagesWithProjectFile=True
Add support for LowLevelTests uprojects in /Tests/ folder within Game Folders

#rb chris.constantinescu

[CL 34560561 by stephen ma in ue5-main branch]
2024-06-21 09:39:17 -04:00
chris constantinescu
36cd2f25b9 Platform file stub not loading - stub module name changed in CL 33938220 but invoked with previous name
#jira UE-215875

[CL 33983687 by chris constantinescu in ue5-main branch]
2024-05-29 15:33:08 -04:00
danny couture
75f532dd16 [TaskGraph]
- Remove old task graph backend
 - Remove old deprecations

#rb kevin.macaulayvacher

[CL 33099915 by danny couture in ue5-main branch]
2024-04-19 08:16:10 -04:00
Alex Kasianchuk
8503e37f20 OSS Tests PS4 - Test application didn't log any test events after timeout period of 5 minutes, stopping.
#jira UE-212381
#rb chris.constantinescu, stephen.ma

[CL 33005352 by Alex Kasianchuk in ue5-main branch]
2024-04-16 12:58:38 -04:00
chris constantinescu
7c5095a408 LLT Android support
#rb Chris.Babcock, sebastian.lewicki
#jira UE-210332

[CL 32714226 by chris constantinescu in ue5-main branch]
2024-04-03 18:39:56 -04:00
chris constantinescu
56b2fd5e18 Move UE component cleanup logic from TestRunner into proper place (introduced at CL 32031322) and fix refactoring (CL 32031169) on Sony platforms to re-allow unpackaged builds
#jira UE-209196
#rb sebastian.lewicki

[CL 32221092 by chris constantinescu in ue5-main branch]
2024-03-13 14:18:48 -04:00
Christine Petrosyan
a8b8600dd5 Fixed an Assertion fail
#jira UE-193464
#rb stephen.ma

[CL 27239927 by Christine Petrosyan in ue5-main branch]
2023-08-21 11:16:33 -04:00
chris constantinescu
c45d474014 UnrealVS - do not project prepend project path for Editor configuration in the case of test targets
- 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]
2023-07-28 17:20:05 -04:00
joe pribele
bcf1352880 finish initializing the garbage collector allowing tests to run GC
#rb Chris.Constantinescu
https://p4-swarm.epicgames.net/reviews/25665144
#preflight 6474e4595152deaa1097fb22

[CL 25667530 by joe pribele in ue5-main branch]
2023-05-29 15:37:03 -04:00
ionut matasaru
c04fc14767 Removed the deprecated MemoryProfiler runtime:
* Removed code switched by USE_MALLOC_PROFILER.
* Removed the USE_MALLOC_PROFILER define and the MALLOC_PROFILER macro.
* Removed PLATFORM_RUNTIME_MALLOCPROFILER_SYMBOLICATION define.
* Removed FMallocProfilerEx and FMallocProfilerEx wrappers and the GMallocProfiler global variable.
* Removed console commands: "MPROF", "DUMPALLOCSTOFILE", "SNAPSHOTMEMORY" and "SNAPSHOTMEMORYFRAME".
Please use Unreal Insights (Memory Insights; -trace=memory) instead.

#jira UE-141779
#rb Johan.Berg
#preflight 6437f5dd00398d6f88b5b18f

[CL 25101805 by ionut matasaru in ue5-main branch]
2023-04-19 04:07:55 -04:00
Ryan Gerleve
4fdbfce9a0 Add a stub low-level tests program for the NetworkPrediction plugin.
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]
2023-03-16 17:08:41 -04:00
Ryan Gerleve
334fce160a Run EDelayedRegisterRunPhase::PreObjectSystemReady and EDelayedRegisterRunPhase::ObjectSystemReady in the low level test runner's InitCoreUObject helper.
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]
2023-03-03 10:51:27 -05:00
chris constantinescu
2bfbb96df8 Mute missing packages when using platform file stub
#rb Ryan.Gerleve
#preflight 63f92d1a2b1a2765f99cccca

[CL 24411374 by chris constantinescu in ue5-main branch]
2023-02-24 18:10:16 -05:00
chris constantinescu
cd0c323c11 LLT options: Stub platform file and mock some default engine resources for low level tests that run with the engine.
- 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]
2023-02-24 15:27:37 -05:00
Ryan Gerleve
924855dfa9 Add a couple calls to RunAndClearDelayedAutoRegisterDelegates from the low-level tests runner to run additional initialization code, required to run tests that depend on the engine module on some platforms.
#jira UE-166991
#preflight 63f62f82ff5afbbb03a73268
#rb chris.constantinescu

[CL 24361348 by Ryan Gerleve in ue5-main branch]
2023-02-22 10:23:19 -05:00
wouter dek
3ae5c6c895 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.
#rb jason.nadro
#preflight 63f352130803c73accb744f1

[CL 24311526 by wouter dek in ue5-main branch]
2023-02-20 06:10:39 -05:00
Arciel Rekman
84d3f99470 [Backout] - CL24227640
#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]
2023-02-15 15:57:24 -05:00
wouter dek
7a70fa6a8f 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 24227640 by wouter dek in ue5-main branch]
2023-02-15 05:55:29 -05:00
chris constantinescu
4e7e7f9f3f LLT cleanup and improvements/updates:
- 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]
2023-02-06 14:27:24 -05:00
Devin Doucette
3d6eadfbd6 LowLevelTests: Removed unnecessary public includes of DDC
#preflight 63920182cf0e31f7279e4644
#rb Zousar.Shaker
#rnx

[CL 23446983 by Devin Doucette in ue5-main branch]
2022-12-08 10:46:59 -05:00
wojciech krywult
568cba9511 [Backout] - CL22010754
#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]
2022-09-27 18:30:41 -04:00
chris constantinescu
b2e0214c64 (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

[CL 22010754 by chris constantinescu in ue5-main branch]
2022-09-14 13:37:32 -04:00
Devin Doucette
8d4b17d3d2 LowLevelTests: Always shut down modules on exit
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]
2022-09-08 16:35:00 -04:00
Devin Doucette
bd378f5441 LowLevelTests: Use Unreal logging functionality instead of LocalPrint
#preflight 62ffef1cd642db47d8d52c90
#preflight 62feb1fb3c4417dcec1aaabb
#rb Chris.Constantinescu

[CL 21464557 by Devin Doucette in ue5-main branch]
2022-08-19 16:28:57 -04:00
chris constantinescu
054a91e666 Introduce global setup for the LowLevelTests project.
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]
2022-04-15 07:21:27 -04:00