69 Commits

Author SHA1 Message Date
steve robb
85f2d450ad EAutomationTestFlags is now an enum class of almost entirely pure flags, with the aim of making the flags visible in the debugger. ApplicationContextMask still needs fixing up everywhere.
#rb robert.manuszewski

[CL 34305488 by steve robb in ue5-main branch]
2024-06-12 09:14:05 -04:00
jerome delattre
75b7496ef4 Prune log info when passing test results to test report when test succeed to reduce foot print
The optimization is enabled by default but can be disabled through project config:
[/Script/AutomationController.AutomationControllerSettings]
bPruneLogsOnSuccess=false

Sorting tests by failure type in json output is now disabled by default and can be enabled using this config:
bSortTestsByFailure=true
It resides in the same AutomationControllerSettings section.

#jira UE-215907
#rb sebastian.lewicki

[CL 34092189 by jerome delattre in ue5-main branch]
2024-06-04 09:23:22 -04: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
4a5957a406 Add frame comparison failure to the test report when comparing image sequence for Movie Pipeline Functional Test
+ Improve messaging when movie pipeline test is failing for reason other than image comparison.
+ Store ScreenshotName inside comparison request and result.

#jira UE-194701
#rnx
#rb Matt.Hoffman, Sean.Sweeney

[CL 28750594 by jerome delattre in ue5-main branch]
2023-10-13 09:42:36 -04:00
oleg krasnov
6f6f351000 Implement OnBeforeAllTestsEvent and OnAfterAllTestsEvent in FAutomationTestFramework
#jira UE-189725
#rb jerome.delattre chris.constantinescu rob.huyett

[CL 26541344 by oleg krasnov in ue5-main branch]
2023-07-24 09:12:45 -04: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
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
bryan sefcik
a3dddc6630 Pass 1 on Developer include fixes:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631e281694758d0bf2ea1399

[CL 21960082 by bryan sefcik in ue5-main branch]
2022-09-11 18:32:18 -04:00
jerome delattre
76f15ec740 Follow up to 21896012 - change LastPingTime type from float to double
#rnx

[CL 21908291 by jerome delattre in ue5-main branch]
2022-09-08 20:11:58 -04:00
jerome delattre
633b27d9c0 Revert 21824856 (Retry sending a request to run a test if schedule was not confirmed)
#rnx

[CL 21908280 by jerome delattre in ue5-main branch]
2022-09-08 20:11:38 -04:00
jerome delattre
ec6f3a74bc Put back LLM scope and float to double change in test Automation modules
#rnx

[CL 21828531 by jerome delattre in ue5-main branch]
2022-09-06 16:29:09 -04:00
jerome delattre
0998fb6b90 Test Automation - Retry sending a request to run a test if schedule was not confirmed.
#preflight 631767b36431d379928cc011
#rb Chris.Constantinescu
#rnx

[CL 21828390 by jerome delattre in ue5-main branch]
2022-09-06 16:23:26 -04:00
Zak Middleton
84fb0737e0 #ue5 - Fix type conversion warnings in modules: AutomationController, AutomationTest, AVEncoder, AVIWriter.
#jira UE-160830
#rb Andrew.Davidson
#preflight 630d2147556fc14dce527da5

[CL 21690862 by Zak Middleton in ue5-main branch]
2022-08-29 18:32:03 -04: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
bob tellez
410858eb02 #UE Compile fix for when WITH_AUTOMATION_TESTS is false in an editor build
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 21342143 via CL 21342255 via CL 21342279
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21343966 by bob tellez in ue5-main branch]
2022-08-11 16:19:05 -04:00
andrew grant
f34aa9015c Fix for automation changes in shipping editor builds
#p4v-cherrypick 21201897

#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 21201864 via CL 21204054 via CL 21204077 via CL 21204091
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21207498 by andrew grant in ue5-main branch]
2022-07-21 15:37:21 -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
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
Jerome Delattre
05eada6e78 Improve errors reported to Automated Test Session
* Support multiple devices on a test (ie: network tests)
* Support log attached to device app instance
* Make Incomplete run flagged as failure when session is finishing
* Critical failure tag as crash in the test report

#preflight 627bffe71e749933439e54ba
#rb Chris.Constantinescu
#jira none

[CL 20378481 by Jerome Delattre in ue5-main branch]
2022-05-26 09:22:47 -04:00
Jerome Delattre
76a96a81bb Gauntlet - Horde Automated Test Session report
* Introduce Automated Test Session data model for Horde TestData
* Introduce Suite and Type to UnrealTestNode to have better control over Session naming
* Add PreflightChange option to discriminate Session that are not official run
* Add test Duration and DateTime to UE json report model
* Accomodate for posting New and Old report models

#jira UEENGQA-29178
#preflight 622bb8ec46679d56c323f49a
#rb Chris.Constantinescu

[CL 19367745 by Jerome Delattre in ue5-main branch]
2022-03-12 10:03:43 -04: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
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
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
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