Commit Graph

33 Commits

Author SHA1 Message Date
chris constantinescu
451e8e73b0 Use Gauntlet command for low level tests on incremental and complete LLTs instead of spawning tests directly.
This should allow better detection for hangs.
#jira UE-199595
#rb sebastian.lewicki

[CL 29395771 by chris constantinescu in ue5-main branch]
2023-11-02 22:54:53 -04:00
sebastian lewicki
cc1267dd63 Functionality to call VerifyLogin on devices of type IOnlineServiceLogin
#jira UE-196366
#rb chris.constantinescu, brendan.lienau

[CL 28623045 by sebastian lewicki in ue5-main branch]
2023-10-10 12:07:39 -04:00
wojciech krywult
4b58f3c054 Automation: LowLevelTestRunner: Modified the test runner to deploy each test application into its own directory to avoid the risk of one test reading other tests' data.
More specifically, all low level tests were deployed into LowLevelTests directory/sandbox. It meanst that if we ran OnlineTests, which deploy .ini scripts, a subsequent run of FoundationTests would have these .ini as well, which would unintentionally affect the behavior of FoundationTests.

Now, Online will be deployed into LowLevelTests-OnlineTests and Foundation into LowLevelTests-Foundation avoiding the clash.

#rb chris.constantinescu, Jerome.Delattre
#jira UE-196287
#rnx

[CL 28548968 by wojciech krywult in ue5-main branch]
2023-10-06 13:59:59 -04:00
rafa lecina
3e7f36383c Properly generate staged build for OnlineTests and try to use metadata file to deploy low level tests content
Redirected binaries so they end up on the proper path

#jira UE-192858
[REVIEW] [at]Michael.Kirzinger, [at]Stephen.Ma, [at]Chris.Constantinescu, [at]Josh.Adams

[CL 27829673 by rafa lecina in ue5-main branch]
2023-09-13 10:04:31 -04:00
chris constantinescu
9aa914f01c LinuxArm64 support for Low Level Tests through emulator, running in docker container
- Catch2 built for LinuxArm64
- new option to run apps in containerized mode
- builds docker image, setup and cleanup
- StringOp BuildGraph element for string operations (replace, to lower etc)
#jira UE-193565
#rb ue-qa-sdets

[CL 27758925 by chris constantinescu in ue5-main branch]
2023-09-11 12:55:31 -04:00
stephen ma
d77fb2793c Apply fixes to OnlineTests to allow correct staging with BuildCookRun on Windows
- LowLevelTests.xml Builds tests under BuildCookRun with -NoBootstrapExe
- TestModuleRules no longer generates arguments -BaseFromWorkingDir to generated .xml files
- Fixes bug in RunLowLevelTests that puts tags in the wrong position in command line arguments

#jira UE-188819

[CL 26994753 by stephen ma in ue5-main branch]
2023-08-10 11:53:46 -04:00
lorry li
c2c48c3fd1 Add automation flow for WebTests.
#jira UE-182678
[REVIEW] [at]stephen.ma [at]chad.garyet [at]ryan.hummer [at]rafa.lecina [at]michael.kirzinger
#rb [at]chris.constantinescu

[CL 26739672 by lorry li in ue5-main branch]
2023-08-01 11:06:27 -04:00
stephen ma
169bc7a55c Update LowLevelTests to use BuildCookRun when test specifies StagesWithProjectFile.
- LowLevelTest.xml horde build step as a separate label
 - Relevant <General>.xml files updated to support the new build step
 - Added UpdateBuildGraphPropertiesFile.Automatoin.cs to help find files to checkout
 - OnlineTests updated to utilize new BuildCookRun param

#jira UE-188819
#rb Chris.Constantinescu, Jake.Niman

[CL 26195017 by stephen ma in ue5-main branch]
2023-06-22 17:41:56 -04:00
chris constantinescu
fcf133c0ae NDA platforms in restricted - move some parts into the platform folders
#rb Jerome.Delattre
#preflight 6478ecb71c5c2b3fa23f041d

[CL 25741561 by chris constantinescu in ue5-main branch]
2023-06-01 16:57:35 -04:00
chris constantinescu
9c730597b6 LLT: Finding the correct executable for Development config when multiple different candidates exist in the same folder
#rb Jerome.Delattre
#preflight skip

[CL 25678140 by chris constantinescu in ue5-main branch]
2023-05-30 11:07:02 -04:00
chris constantinescu
ad0ee9c1e9 LLT: collect log output option for certain platforms
#rb Jerome.Delattre
#preflight 6459550b2d27fa25b3ae3fc6

[CL 25382915 by chris constantinescu in ue5-main branch]
2023-05-08 21:59:06 -04:00
chris constantinescu
e003cfd4a1 Use Gauntlet to run low level tests instead of BG's Spawn, move LowLevelTests.xml to public folder and remove all restricted platform names
#rb Jerome.Delattre
#preflight 6452abfd4d593c0b422b5d9e

[CL 25335483 by chris constantinescu in ue5-main branch]
2023-05-04 11:05:46 -04:00
stephen ma
09970db0bc Modify RunLowLevelTests to have a -SkipStage flag to skip staging process for applications already-packaged.
#rb Chris.Constantinescu, Michael.Kirzinger, Jake.Niman
#fyi Alejandro.Aguilar, Chris.Varnsverry, Lorri.Li
#jira UE-184491
#preflight 644a7c2009453df5485e95be

[CL 25214478 by stephen ma in ue5-main branch]
2023-04-27 10:39:16 -04:00
chris constantinescu
a1df65eeb5 Low Level Tests: timeout detection from within test app, inactivity detection via Gauntlet
Default timeouts for tests are:
- optional, only enabled when set via --timeout=X (in minutes)
- standard practice to help triage tests and bound their running time; slower tests can be tagged appropriately and run with the nightly tests
- useful to detect segmentation faults and other issues by enforcing a maximum period of inactivity
#rb Jerome.Delattre, Adam.Miezianko, Rob.Huyett
#jira UE-182253
#preflight 642f18864c3ccbbdf18b9916

[CL 25067632 by chris constantinescu in ue5-main branch]
2023-04-17 10:11:51 -04:00
chris constantinescu
b0e2605d0a Nightly Low Level tests must run only slow and performance tests
Additional small quality of life fixes
#rb Jerome.Delattre, Rob.Huyett
#preflight 64120656bd6894c435c1f7c4

[CL 24660566 by chris constantinescu in ue5-main branch]
2023-03-15 15:35:19 -04:00
Ben Marsh
235eb77726 Change to structured logging in other AutomationTool projects.
#preflight 6408c4478c0039bbf750e861

[CL 24562553 by Ben Marsh in ue5-main branch]
2023-03-08 12:43:35 -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
eric knapik
26df6dea74 #jira: FORT-477143, FORT-448935
Have gauntlet display the command a test was ran with
Add server output to the horde log so errors can be easier identified from a webpage.
Fixing a typo with Text which should have been Test

#preflight 63408864587d6afac86da474
#rb: Gary.Yuan
https://p4-swarm.epicgames.net/reviews/22408413/

[CL 22451857 by eric knapik in ue5-main branch]
2022-10-11 02:54:50 -04:00
stephen ma
46af3ff432 Added "ReportType=" parameter to RunLowLevelTests.cs to support enabling report type.
#jira none
#preflight 6335fae42f447ea8dc277fde
#reviewer @Chris.Constantinescu

[CL 22310358 by stephen ma in ue5-main branch]
2022-10-03 14:53:22 -04:00
chris constantinescu
08fee9ccbf Low level tests quality of life changes:
- bump "Started test case" log messages to Display when --debug is used
- additional duration log messages. Catch2 durations were never printed in sync with --debug log messages
- ability to specify a device and attach to a debugger when running the LowLevelTests script; ability to specify configuration type
#rb Devin.Doucette, Jerome.Dellatre
#preflight 631f554d705bdbceb5b91b82

[CL 21989658 by chris constantinescu in ue5-main branch]
2022-09-13 15:06:34 -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
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
David Harvey
6d0a8e54a9 LowLevelTests does not allow the command line to be replaced because it is passed to catch2 which fails on unknown arguments.
#preflight 62c6a729557511b126dfa565
#jira UE-151087
#rb Chris.Constantinescu
#rnx

[CL 21003635 by David Harvey in ue5-main branch]
2022-07-08 03:38:58 -04:00
David Harvey
b329453021 LowLevelTest fixes:
- add virtual devices to the pool, for parity with RunUnreal.
  - release devices when the session is destroyed.

#jira UE-139998
#rb Chris.Constantinescu
#preflight 62a1a81644115ef87db55997

[CL 20572593 by David Harvey in ue5-main branch]
2022-06-09 04:05:18 -04:00
David Harvey
76d361df75 Low-Level test runner for windows-based platform extensions.
#jira UE-131865, UE-139998, UE-147194
#rnx
#preflight 6272becc365de864c49eefe8
#rb Eric.McDaniel, Chris.Constantinescu

[CL 20057912 by David Harvey in ue5-main branch]
2022-05-05 10:56:38 -04:00