Commit Graph

20 Commits

Author SHA1 Message Date
chris constantinescu
a1ee2f981b Low level tests readme update
#preflight skip
#rnx

[CL 19943810 by chris constantinescu in ue5-main branch]
2022-04-27 14:32:54 -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
d0d5b9826f Copyright boilerplate
#rnx
#preflight skip

[CL 19784332 by chris constantinescu in ue5-main branch]
2022-04-18 07:41:39 -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
stephen ma
29d8450e88 LowLevelTests: Add ReportType to set -r xml for Dashboard reporting output
#rb @Chis.Constantinescu
#preflight 625038d611261bc7b237948f

[CL 19686665 by stephen ma in ue5-main branch]
2022-04-08 09:56:47 -04:00
Devin Doucette
00c5ef381d UBT: Added VSTestRunSettingsFile to TargetRules
#preflight 624e09ca14634fba5c9563f6
#rb Jonathan.Adamczewski
#fyi Chris.Constantinescu

[CL 19661383 by Devin Doucette in ue5-main branch]
2022-04-06 20:50:46 -04:00
mark lintott
bc9b168688 Add new Unit Tests
#rb Chris.Constantinescu
#preflight 62458f77292f228e09013681

[CL 19571202 by mark lintott in ue5-main branch]
2022-03-31 07:45:37 -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
c8cb8f0b04 Module-level setup/teardown with the help of source file build order overrides.
- optional alter of source file build order: towards beginning or end
- test build: correctly handle inclusion of special dependencies such as Engine, Editor, CoreUObject and ApplicationCore
- existing tests: add setup and teardown tests that initialize test modules. This causes setup and teardown to be local to module instead of global, which was not the correct way to run tests across multiple modules.

#preflight 62151e43dc0170cfb3649ee8
#rb Jermoe.Delattre

[CL 19076600 by chris constantinescu in ue5-main branch]
2022-02-22 13:52:35 -05: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
mark lintott
dff14a25c8 Updated Low Level Tests
Removed existing SampleTest
Added an example Catch 2 Test for Math Colors into Core Module
Coverted Cbor tests to Catch2
Moved TDeque and TToken tests into Core Module
#fyi chris.constantinescu
#jira none
#preflight 61f9589e8b4112f7cc9a83c8
#preflight 61f95dbbfa6554dff3d52f21
#preflight 61f987b74404d5fadefa98d2

[CL 18812960 by mark lintott in ue5-main branch]
2022-02-01 14:39:50 -05:00
chris constantinescu
9212fef5a7 LLT 2.0 on preflights
- bIncludeAllTests flag on target will compile with all tests: used on LowLevelTests target to run on preflights
- Preflights now running low level tests by default, only those from LowLevelTests and its dependencies stemming from Core and Projects
#preflight 61f930bb8b4112f7cc95e807
#rb Mark.Lintott

[CL 18807604 by chris constantinescu in ue5-main branch]
2022-02-01 09:04:25 -05:00
JeanMichel Dignard
570fa3a6b6 In preparation for the editor and enterprise low level tests:
- Added a CommonEngineInit file to share engine init code accross low level tests programs.
- Made the preprocessor definitions setup overridable per low level tests target.
#preflight 61f17d11f8088a3d298ce242

[CL 18739254 by JeanMichel Dignard in ue5-main branch]
2022-01-26 13:31:44 -05:00
chris constantinescu
a2cf18e430 IOS Self test - use app core.
#jira UE-132940
#robomerge 5.0
#preflight 61e85071da16597a1f3d5a79
#rnx

[CL 18661485 by chris constantinescu in ue5-main branch]
2022-01-19 13:44:21 -05:00
chris constantinescu
94c6538aad Fix public facing error "Unable to instantiate module 'HeadlessChaos': System.IO.DirectoryNotFoundException: Could not find a part of the path"
#jira UE-137994
#robomerge 5.0
#preflight 61d71bebc65e66487b2a841c

[CL 18532910 by chris constantinescu in ue5-main branch]
2022-01-06 12:35:51 -05:00
chris constantinescu
d4b17708d1 LLTs: add disabled flag, enable it for OSS
#rnx
#robomerge 5.0

[CL 18156578 by chris constantinescu in ue5-main branch]
2021-11-11 14:50:42 -05:00
chris constantinescu
3282b026da Create public and restricted versions of LowLevelTests_GenProps.xml
#jira UE-133126
#robomerge 5.0

[CL 18086056 by chris constantinescu in ue5-main branch]
2021-11-08 09:14:43 -05:00
chris constantinescu
410d45be21 Low level tests - platform fixes and presubmit default compilation to prevent breaking
- Addressed remaining NDA platform code that was present in public facing folders
- Compile LowLevelTests target by default on presubmits and incremental builds for Main and 5.0
- Add dummy test on LowLevelTetsts and run it on consoles daily - this test is called "Self" and it's a sanity check run for Catch2
- Fixed Switch indefinite hang - Self test run successfully on this console
- Added IRunningStateOptions to control app run state: startup and check running state options
- AudioUnitTests run successfully on XboxOneGDK and XSX
- XSX Self and AudioUnitTests run successfully but XSX reports VideoEscape errors - JIRA UE-131334

#jira UEENGQA-52681, UE-127449
#rb Jerome.Delattre
#robomerge 5.0

[CL 17830364 by chris constantinescu in ue5-main branch]
2021-10-15 12:15:53 -04:00
chris constantinescu
cd6530efad Low Level Tests: code tests built on Catch2 with multi-platform support.
Intended for writing unit, integration, functional and all types of tests.

#jira UEENGQA-49764
#rb Jerome.Delattre

[CL 17666358 by chris constantinescu in ue5-main branch]
2021-09-29 15:50:07 -04:00