Commit Graph

38 Commits

Author SHA1 Message Date
chris constantinescu
b192ea74b9 Sleep uses seconds, not milliseconds
#rnx
#preflight skip

[CL 21562824 by chris constantinescu in ue5-main branch]
2022-08-25 09:30:44 -04:00
chris constantinescu
f11a47ac10 RightChop instead of LeftChop
#rnx
#preflight skip

[CL 21554622 by chris constantinescu in ue5-main branch]
2022-08-24 18:35:23 -04:00
chris constantinescu
b604e668e2 Test runner:
- sleep on init to allow for sync w/ Gauntlet for Xbox platforms
- remove unused --base-global-module #fyi Stephen.Ma
Gauntlet:
- support low level tests build for different configurations (debug etc)
- readable command line arguments (-r to --reporter)
- allow argument names containing "-" e.g. --filenames-as-tags
#preflight 630536b1c00af5e2943540a1
#rb Jerome.Delattre

[CL 21550045 by chris constantinescu in ue5-main branch]
2022-08-24 15:53:16 -04:00
Devin Doucette
aea7f2af32 LowLevelTests: Allow command line arguments to the engine following "--"
The --base-global-module argument is now expected to be in the format --base-global-module=ModuleName.

RunTests has been refactored into the new private FTestRunner type.

#preflight 6303991333729407e88f8069
#preflight 6303a65a516bef57ff7420b4
#rb Chris.Constantinescu

[CL 21485276 by Devin Doucette in ue5-main branch]
2022-08-22 12:16:02 -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
Devin Doucette
1225bdd006 CoreUObject: Disable the FObjectHandle::Resolve test until its warnings and errors are fixed
#preflight 62ffed75904ba3bd264adf8d
#rb Zousar.Shaker
#rnx
#fyi Chris.Constantinescu

[CL 21464067 by Devin Doucette in ue5-main branch]
2022-08-19 16:12:42 -04:00
chris constantinescu
0d0ad8e4c8 Remove faulty global GBlockLocalPrint, cleanup unused VS config
All platforms preflight 62f67851b66d5d9313f240b6
#rb Devin.Doucette
#preflight 62f67866bd746abb99c0be54

[CL 21362093 by chris constantinescu in ue5-main branch]
2022-08-12 15:45:37 -04:00
chris constantinescu
1bfe2da3f2 Use platform-dependent LocalPrint and make sure output is redirected to stdout when running LowLevelTests so that local and build machine test runs print debug and fault information directly to stdout.
AssertionMacrosTest is printing out failed asserts using LocalPrint which is undesirable - implemented GBlockLocalOutput as a way to supress LocalPrint output.
Other fixes included:
- ability to select a low level test build based on any configuration, not just Development: useful for Debug builds
- New "printoutput" LLT Gauntlet parameter used for certain platforms to control output redirect to stdout
#rb David.Harvey
#preflight 62f405a05a6f2fec99b64f21

[CL 21334255 by chris constantinescu in ue5-main branch]
2022-08-11 07:31:45 -04:00
joe pribele
fc71c8cb35 [LowLevelTestsRunner] added --break to Catch command line args to break into debugger when attached by default.
#rb devin.doucette
#preflight 62f3fd00e60c9215b991bd07

[CL 21323419 by joe pribele in ue5-main branch]
2022-08-10 14:53:21 -04:00
Chris Varnsverry
0fcb315349 - Fix ConsoleListener attempting to send TCHAR* to cout, printing pointer values instead of strings.
#jira OI-4874
#review-21257422 @Michael.Kirzinger @Stephen.Ma @Alex.Kasianchuk @Sam.Zamani
#preflight 62f28751d76ea4b5030ad047

[CL 21290568 by Chris Varnsverry in ue5-main branch]
2022-08-09 12:19:20 -04:00
chris constantinescu
28702d29a5 Boilerplate
#rnx
#preflight skip

[CL 21116150 by chris constantinescu in ue5-main branch]
2022-07-15 15:53:31 -04:00
chris constantinescu
d17f975071 LLT Catch2-style macros: REQUIRE_(NO)ENSURE and CHECK_(NO)ENSURE
Based on existing Catch2 macros and reusing FDebug number of ensures counter.
#rb Scott.Lindeneau
#preflight skip

[CL 21115661 by chris constantinescu in ue5-main branch]
2022-07-15 15:23:10 -04:00
chris constantinescu
e90997b34e Catch2 - mini module cleanup
#preflight 62c793827e606620fd304713
#rb Jerome.Delattre

[CL 21004901 by chris constantinescu in ue5-main branch]
2022-07-08 06:55:54 -04:00
chris constantinescu
bf1a489842 Catch2 3.0.1
#preflight 62ba61e2dc1cd7fc47d9c708
#rnx

[CL 20857962 by chris constantinescu in ue5-main branch]
2022-06-28 10:36:46 -04:00
chris constantinescu
2300a4ad0f LLTs: Maximum log verbosity with --debug, allow logging from fault context
#rb Devin.Doucette
#preflight skip

[CL 20464451 by chris constantinescu in ue5-main branch]
2022-06-01 22:45:35 -04:00
chris constantinescu
b258362e47 Catch2 3.0 preview source code integration with on-demand static library build for all platforms.
Other preflights: Catch2 Build Library 6283d1c14316db80d194f6c8, Nightly Low Level Tests 6283d1c9114e08fa2f237e6b
#preflight 6283d1b5114e08fa2f237db3

[CL 20248814 by chris constantinescu in ue5-main branch]
2022-05-17 15:06:28 -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
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
matija kecman
e417ffe69a Catch unit tests: Redirect UE_LOG and ensure output to the global log singleton when running unit tests with Catch
Prior to this change running a catch executable (e.g., I tested with GeometryProcessingUnitTests.exe) there was no way to see any UE_LOGs or ensure output. Following this change ensure output is always shown, UE_LOG output with verbosity level <= Warning is shown if the command line argument "--log" is passed, and  UE_LOG output with verbosity level <= Log is shown if the command line arguement "--debug" is also passed. For even more verbose output the `DesiredLogVerbosity` variable in TestRunner.cpp can be edited.

#rb jimmy.andrews
#rnx
#jira none
#preflight 6255dc50153828d2734dbe7c

[CL 19728147 by matija kecman in ue5-main branch]
2022-04-12 16:27:07 -04:00
chris constantinescu
1ad862400a CoreUObject test conversion damage control.
Correcting tests commited in CL 19498448 that were converted and tagged [Smoke] but weren't marked with EAUtomationTestFlags::SmokeFilter in the original source.
EditorBulkDataTests was left unconverted, moved back to original Private/Tests/Serialization folder
ObjectPtrTest -> CoreUObject::TObjectPtr::Soft Object Path fails at line 197 on non-desktop platforms but it didn't failed before the conversion.
#preflight 624eee0a2c01f9c6da9446e0
#rb Devin.Doucette

[CL 19668909 by chris constantinescu in ue5-main branch]
2022-04-07 10:34:55 -04:00
mark lintott
a9305972ac Catch2 Conversion of Core Tests
#rb trival
#fyi Chris.Constantinescu
#preflight 6246cb4bc61d8a458f5bae63

[CL 19586009 by mark lintott in ue5-main branch]
2022-04-01 06:05:26 -04:00
chris constantinescu
cdcaefe035 Introducing Catch2 disabled test cases, scenarios etc
Motivation: [.] only hides a test and it can still be executed using ~[SomeOtherTag]; It's very easy to fall into the trap of executing an infinite loop test that is decorated with the [.] tag
#rb Andriy.Tylychko, Michael.Balzer
#preflight 6245fb64f4217035fa8f38ec

[CL 19576763 by chris constantinescu in ue5-main branch]
2022-03-31 15:16:31 -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
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