Commit Graph

25 Commits

Author SHA1 Message Date
rafa lecina
249c319874 Fixes to be able to run tests on iOS
[REVIEW] [at]Bertrand.Carre, [at]Michael.Kirzinger, [at]Chris.Constantinescu, [at]Stephen.Ma
#jira UE-166445

[CL 26035334 by rafa lecina in 5.3 branch]
2023-06-16 01:10:03 -04:00
nick edwards
015b0a084d Write the is_unreal_test file to the correct location if the target lives under the project directory. Addresses an issue where the PostBuildStep would fail for test targets outside of the engine.
#rb chris.constantinescu
#rb elias.lozadabenavent

[CL 25933412 by nick edwards in ue5-main branch]
2023-06-12 15:00:47 -04:00
joe kirchoff
c04da27b3b UnrealBuildTool: More automated code cleanup
#rnx
#preflight 64767efb4b1ead7c7f428c7a

[CL 25693857 by joe kirchoff in ue5-main branch]
2023-05-30 18:59:32 -04:00
joe kirchoff
36d266e932 UnrealBuildTool: Automated code cleanup
#rnx
#preflight 6476799e947ff6973c225619

[CL 25693241 by joe kirchoff in ue5-main branch]
2023-05-30 18:38:07 -04:00
joe kirchoff
57a8fe409c UnrealBuildTool: Use expression body for simple properties and accessors
#rnx
#preflight 64766abcfe6a3b258a04cb50

[CL 25691579 by joe kirchoff in ue5-main branch]
2023-05-30 18:01:50 -04:00
chris constantinescu
e4566803bb LLT: the .is_unreal_test file path doesn't depend on having a project file or not
#rb Stephen.Ma
#preflight 6474f04e4b1ead7c7f0ece5b

[CL 25674274 by chris constantinescu in ue5-main branch]
2023-05-30 06:17:15 -04:00
chris constantinescu
af8f098f9c LLT targets with project files - solution directory missing case
#rb Stephen.Ma
#preflight skip

[CL 25652009 by chris constantinescu in ue5-main branch]
2023-05-26 16:23:08 -04:00
chris constantinescu
9cb4d3f9de Correct placement of low level tests solution folder for projects
#rb Jerome.Delattre, Adam.Miezianko, Rob.Huyett
#preflight 646fa3ec407983b99811e857

[CL 25627753 by chris constantinescu in ue5-main branch]
2023-05-25 16:08:34 -04:00
ionut matasaru
1172a216a1 UBT: Deprecated TragetInfo::bUseMallocProfiler toggle. No longer used as MallocProfiler2 and FMallocProfiler runtime is removed in favor of UnrealInsights.
#jira UE-141779
#rb Joe.Kirchoff
#preflight 64380bdbae4448e6f909db87

[CL 25142451 by ionut matasaru in ue5-main branch]
2023-04-21 02:24:21 -04:00
bryan sefcik
241a1f79d2 Fixed an issue where other target test settings would leak into other tests.
#rb joe.kirchoff
#preflight 6424cc08b01a25d6a00b5cd1

[CL 24848706 by bryan sefcik in ue5-main branch]
2023-03-29 20:09:34 -04: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
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
chris constantinescu
fe1ac0c01a Check for File nullable when tagging test builds
#rnx
#preflight skip

[CL 22922948 by chris constantinescu in ue5-main branch]
2022-11-02 14:43:21 -04:00
chris constantinescu
d20ee9868d Fix postbuild action for win64 low level tests: correct path to build binary
#preflight skip
#rnx

[CL 22886184 by chris constantinescu in ue5-main branch]
2022-11-01 13:34:40 -04:00
joe kirchoff
900599bf9d UnrealBuildTool: Use BuildSettings.Latest as defaults, so changing the latest version will also update these variables. Latest is still set to V2.
#rnx
#rb trivial

[CL 22876166 by joe kirchoff in ue5-main branch]
2022-10-31 20:57:12 -04:00
joe pribele
7938bdda07 [LowLevelTestRunner] added custom reporter to make parsing of xml easier for UnrealVS TestAdapter
#rb devin.doucette
#preflight 635312f3777a77c4407b2733

[CL 22702551 by joe pribele in ue5-main branch]
2022-10-21 18:00:09 -04:00
chris constantinescu
79078dc749 Low level tests adapter that can translate Catch2-defined test to a Functional Test
#preflight 629f74c6233ae0a8f8fb1f97
#rb Devin.Doucette

[CL 20540119 by chris constantinescu in ue5-main branch]
2022-06-07 12:37:53 -04:00
chris constantinescu
72e744f75a Build in solution by default set to true for inheriting classes of TestTargetRules
#rb Chris.Caulfield
#preflight skip

[CL 20286954 by chris constantinescu in ue5-main branch]
2022-05-19 16:29:25 -04:00
chris constantinescu
1278a26f76 Low level tests further refactoring and test resource deployment
#preflight 626955ed0d4ac78d716eacf0
#rnx

[CL 19941830 by chris constantinescu in ue5-main branch]
2022-04-27 12:36:35 -04:00
chris constantinescu
28111d40fc Redundancy cleanup in UBT Low Level Tests:
- test-specific targets and modules are constructed by RulesAssembly which removes a lot of spaghetti code
- no more excluding the Tests folder by default which is guaranteed to mislead users #fyi Jon.Nabozny
- test compilation in Tests is controlled through WITH_LOW_LEVEL_TESTS
- preparation code for switching tests between Catch2 / TestAutomation Fmwk

Nightly LLT PF 6260431391376845adeb4c40

#rnx
#preflight 62602d50dd47b4ad2173c30b

[CL 19834665 by chris constantinescu in ue5-main branch]
2022-04-20 14:24:59 -04:00
chris constantinescu
87b6452bc5 LLT TargetSourceFile - fixes incremental build
#rnx

#ROBOMERGE-AUTHOR: chris.constantinescu
#ROBOMERGE-SOURCE: CL 19548065 in //UE5/Release-Engine-Staging/...
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19560875 by chris constantinescu in ue5-main branch]
2022-03-30 14:16:42 -04:00
chris constantinescu
b36a988848 LowLevelTests manual integration with UBT
#preflight 6243316b3a5a4c1622b33d33
#jira UE-147452
#rnx

#ROBOMERGE-OWNER: chris.constantinescu
#ROBOMERGE-AUTHOR: chris.constantinescu
#ROBOMERGE-SOURCE: CL 19545984 via CL 19546389 via CL 19546396
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19560843 by chris constantinescu in ue5-main branch]
2022-03-30 14:15:11 -04:00
chris constantinescu
ae281656f2 Tests converted from 18848115 made to work multi-platform.
Not all were converted because they were designed for packaged applications whereas low level tests are designed to run as "native" non-packaged applications.
- reporting support for non-desktop platforms, for the moment Catch2 report type "console" is used that is sent to a .out file
- most number of tests possible running multi platform, slower tests excluded on incremental builds
- slow tests are moved to run on the monolithic build
- Catch2 report failure event listener such that Horde detects them as build errors. Must add new Horde matcher for Catch2 failures

#rb Mark.Lintott
#preflight 623c8de389625f0612dabd64

[CL 19498448 by chris constantinescu in ue5-main branch]
2022-03-24 13:28:25 -04:00
chris constantinescu
a067ec8344 Modularized setup and teardown for LLTs + global setup preliminary.
Nightly LLTs preflight 6205328b4c6c33118fa85c3d
#rb Jerome.Delattre,Mark.Lintott
#preflight 62053298a155a4cddabf933f

[CL 18938635 by chris constantinescu in ue5-main branch]
2022-02-10 12:33:20 -05:00
chris constantinescu
8c968941f9 UBT TestMode that allows building a test executable for an associated target.
- Each module can now have a Tests folder at its root containing low level tests written with Catch2
- Used like this: UnrealBuildTool.exe -Mode=Test TargetName Platform Configuration
- It creates a test executable that's associated with the specified build Target and it includes all the tests for the Target AND all its dependencies as well
- When building without -Mode=Test it will omit the Tests folder contents from compilation: in theory we never allowed folders named Tests at the root of modules, but there might be isolated exceptions where we didn't validate folder names - in this case we will need to move that Tests folder one level up for example
- Code paths for test and non-test builds are entirely separated

#jira UE-135280
#rb Jerome.Delattre
#preflight 61e839d5276892ce10759205

[CL 18663474 by chris constantinescu in ue5-main branch]
2022-01-19 15:00:37 -05:00