55 Commits

Author SHA1 Message Date
jerome delattre
9a5bb9fe84 Support exclude condition in Automation Test Group filter
#jira UE-202242
#rnx
#rb sebastian.lewicki

[CL 30487621 by jerome delattre in ue5-main branch]
2024-01-08 14:56:28 -05:00
oleg krasnov
9650d68fce AutomationTest - Use FApp::GetInstanceId() instead of Messaging Address to identify Automation worker
#jira UE-200940
#rb Jerome.Delattre
#rnx

[CL 30232238 by oleg krasnov in ue5-main branch]
2023-12-11 01:29:09 -05:00
Jerome Delattre
81e77c198f Fix filtered out test results in automation window for the case when "Search" bar is not empty.
Introduce GetEnabledReports and GetFilteredReports; deprecated unspecific GetReports

#rnx
#fyi Oleg.Krasnov

[CL 25976576 by Jerome Delattre in ue5-main branch]
2023-06-14 09:46:24 -04:00
oleg krasnov
ae76461bc6 Implement auto expansion of subgroups that has only one child in SessionFrontend
#jira UE-187980
#rb jerome.delattre

[CL 25973143 by oleg krasnov in ue5-main branch]
2023-06-14 04:56:18 -04:00
Mikita Hauruk
bcd6b04355 Added EComparisonFileTypes enum for IAutomationReport.h, changed TEXT() to enum AutomationControllerManager.cpp when referencing test report Artifact file key
Use enum or predefined const strings when referencing test report Artifact file key in FAutomationArtifact

#jira UE-176635
#rb adam.miezianko, chris.constantinescu, jerome.delattre, oleg.krasnov, saltanat.janybekova, mikalai.sukhikh
#preflight 63ecbb15956709374afcfd36

[CL 24309464 by Mikita Hauruk in ue5-main branch]
2023-02-20 01:02:38 -05:00
Jerome Delattre
2f083222dd Improve device timeout error by differenciating DeviceName and GameInstance from the Automation device cluster manager API
#preflight 63d432775d0c0164cca5fb47
#rb Chris.Constantinescu
#jira none

[CL 23932523 by Jerome Delattre in ue5-main branch]
2023-01-31 13:35:09 -05:00
Jerome Delattre
2e98fecdba Test Automation - Add Keep PIE open in advance settings
+ add project config settings to change that default.

#jira UE-162059
#preflight 6307d9665a76ca27a8a800d6
#rb Chris.Constantinescu

[CL 21685895 by Jerome Delattre in ue5-main branch]
2022-08-29 15:29:28 -04:00
Jerome Delattre
c6c0e9a2a5 Support individual test exclusion for different RHI when parent suite does not exclude all RHI
+ enhanced management of RHI through the UI: If a RHI is specify, any child test can be excluded on an additional RHI by clicking on edit exclusion
+ disable exclusion editing on remote session

#jira UE-147020
#preflight 62ff9c99086f90bbc401a999
#rb Chris.Constantinescu

[CL 21462884 by Jerome Delattre in ue5-main branch]
2022-08-19 15:29:47 -04:00
andrew grant
f6c96db43f Automation Improvements for running editor-based automation, and specifically profiling
* Added IgnoreLogEvents automation command / cvar that can be used to exclude log events from automation reports. Specifically here this prevents errors/warnings in something like PIE from manigesting as automation events
* Automation Controller Manager now waits for an interactive framerate before executing. This ensures automation doesn't occur when async loading is being flushedcritical to startup or level loading and f
* Renamed FWaitForAverageFrameRate to FWaitForInteractiveFramerate and moved default values to be ini-driven
* Editor now disables throttling when -benchmarking is specified
* FIxed issue where Project.Maps.PIE only worked if the provided map was a full object name (/Game/Path/MyMap.MyMap)

#rb swarm

#ROBOMERGE-OWNER: andrew.grant
#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 21201287 via CL 21201301 via CL 21203967 via CL 21203996 via CL 21204009
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21205507 by andrew grant in ue5-main branch]
2022-07-21 14:39:27 -04:00
bryan sefcik
de1956f47b Ran IWYU on Public headers under Engine/Source/Developer/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182053 by bryan sefcik in ue5-main branch]
2022-07-20 12:03:45 -04:00
chris constantinescu
0d1434c4df Test Groups
#jira UE-127334
#rb Jerome.Delattre
#preflight 62b59f4d0110bdb3313e72e5

[CL 20830416 by chris constantinescu in ue5-main branch]
2022-06-27 10:21:14 -04:00
andrew grant
eab58da950 Added ability for projects to provide a list of log categories where warnings/errors will not cause tests to warn/error. This is a little more controlled than just using the option to suppress them.
Added LogAudioMixer for FN as a log that doesn't lead to functional tests having warnings

[REVIEW] [at]eric.knapik
#preflight https://horde.devtools.epicgames.com/job/62085c12c52105b487b8f45a

#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 18974282 via CL 18974333 via CL 18974336 via CL 18974337 via CL 18992583 via CL 18992954
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18997205 by andrew grant in ue5-main branch]
2022-02-15 11:30:13 -05:00
Jerome Delattre
60839c1816 Improve test exclusion list mechanic
* Rename blacklist to excludelist (requested by high management)
* Support section exclusion rule to be able to exclude entire section of tests (ie PathTracing is only supported on Win64 for now)
* Mark excluded test as skipped in the report instead of entirely removed for test list. Check for exclusion just before running the test.
* Remove NotEnoughParticipant state in favor of Skipped (same conditions lead to Skipped state with appropriate messaging)
* Add support for exclusion management from the Test Automation window. (added a column at the end of each row)
* Expose device information to UE test report
* Add support for metadata in Gauntlet test report for Horde

Limitations:
* Management through the UI is limited to which test is available through in the active worker node. That's mean Runtime only tests are not listed from a worker that is Editor(the default) and platform specific are not clearly identified.
* For platforms, the mechanic to access their config and save it will remain to be done. In the meantime, it needs to be done manually through the target platform config file.

#jira UE-125960
#jira UE-125974
#rb Chris.Constantinescu, Eric.Knapik, Louise.Rasmussen

[CL 17607554 by Jerome Delattre in ue5-main branch]
2021-09-23 09:34:55 -04:00
geoff evans
4ffe06f1be Update AutomationController Log settings
Introduce bElevateLogWarningsToErrors as a good name for existing functionality. Note it's assuming the name as it's known by its customer code. This change lines up the settings variable to its colloquial name around the codebase.

Deprecate bTreatLogWarningsAsTestErrors as it was misleading because it doesn't really shuffle log warnings into the test errors bucket as much as it just reclassifies the log verbosity from log warning to log error.

Remove bTreatLogErrorsAsTestErrors as it wasn't functional outside of EditorIterationTest's custom base class, and it's tempting to use incorrectly in place of bSuppressLogErrors

#rnx
#jira none
#rb andrew.grant
#preflight 6142442c4778fa000135b987

[CL 17526549 by geoff evans in ue5-main branch]
2021-09-15 16:50:42 -04:00
Jerome Delattre
084d9e36fa Resume UE tests pass using json report as tracking support after test pass stoped because of critical failure.
* Implement loading Json report and resume from last know failure
* Make Gauntlet uses the retry state when critical failure occured on UE automation test.
* Capture the callstack if any and update the json report
* Attached passed log before retrying
* Use enum in json serialization and desirialization
* Use one common Event class for json report and parsing from the log
* Use an unique path for artifact at each runs/retries
* Use Json report to generate the pass summary in Gauntlet

#jira UEENGQA-38051
#rb Chris.Constantinescu, Eric.Knapick

[CL 17160450 by Jerome Delattre in ue5-main branch]
2021-08-12 18:53:24 -04:00
aurel cordonnier
d17d20ca36 Merge from Release-Engine-Test @ 16758890 to UE5/Main
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719 (and Release-17.00 @ 16658211)

[CL 16763350 by aurel cordonnier in ue5-main branch]
2021-06-23 17:51:32 -04:00
aurel cordonnier
43fa62fcd8 Merge from Release-Engine-Test @ 16487383 to UE5/Main
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16488106 by aurel cordonnier in ue5-main branch]
2021-05-27 13:40:37 -04:00
Jerome Delattre
c45720f499 Add support for telemetry in automated tests
Telemetry data is stored in a csv file that can be picked up later.
Configuration options can be used to specify a custom path and force the csv file to be reset on new (editor) session.

Telemetry data stores: platform, config, datetime, testname, context, datapoint, measurement

#jira UEENGQA-38047
#rb Andrew.Grant

[CL 15667990 by Jerome Delattre in ue5-main branch]
2021-03-10 14:00:26 -04:00
geoff evans
6b85337533 Create IterationProfile automated tests to gather raw trace data from Editor
UAT:
Add a new EditorTests runner, existing runner is derelict (will be deleted in upcoming merge from UE4)
BuildGraph is project-agnostic, forked and modified from EngineTest's build graph. Follow up change will try to generalize this logic for future benefit.
Requires specification on the cmdline of project content to use and platform to run on. Project content is specified in DefaultEngine.ini.
EditorTest plugin and log error/warning handling is all handled on the command line to be unobtrusive to production uprojects

EngineTest Plugin:
Add new EditorIterationTests.cpp and a simple test object. This is copied from another test for now for the sake of iteration profiling having its own filter and automation behavior.

AutomationController:
bTreatLogErrorsAsTestErrors was specified in some ini files, but was bugged. Restore this likely deleted config variable and check it when scanning log results

Reverb:
Add Iteration test group

EngineTest:
Add Iteration test group

#rb jerome.delattre, francis.hurteau
#fyi andrew.grant

[CL 14874020 by geoff evans in ue5-main branch]
2020-12-07 17:51:46 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
josh engebretson
4a03536cec Configuration of AutomationController timings
#rnx
#rb andrew.grant


#ROBOMERGE-SOURCE: CL 10981757 via CL 10981759
#ROBOMERGE-BOT: (v632-10940481)

[CL 10981761 by josh engebretson in Main branch]
2020-01-14 10:36:18 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
Andrew Grant
4df7819655 Moved low level test settings to a place with no engine dependencies.
#jira UE-74084
#rb none
#fyi ben.marsh,max.chen

[CL 6258941 by Andrew Grant in Main branch]
2019-05-02 15:32:14 -04:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Marc Audy
d90da4ab1a Merge to Dev-Main for 4.20 @ 4090813
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4091081 by Marc Audy in Main branch]
2018-05-23 21:04:31 -04:00