Commit Graph

45 Commits

Author SHA1 Message Date
brendan lienau
b843f634bb [Automation] Improve csv build version validation checks to catch all build label suffixes.
#rb Clayton.Langford

[CL 26845960 by brendan lienau in ue5-main branch]
2023-08-04 10:42:36 -04:00
tyler staples
be7ecefac8 CitySample - Fix csvs not being found on some platforms.
+ Use PathUtils.FindRelevantPath to search for the FPSChartStats folder within the artifacts dir. Then copy out the newest csv each iteration.
+ Remove deletion of saved dir between iterations as it's no longer needed since we grab the latest csv file.
+ Pass in the build name as it's not reliably set in Gauntlet on all platforms.

#jira UE-186796
#rnx
#rb clayton.langford

[CL 25945245 by tyler staples in ue5-main branch]
2023-06-12 22:20:58 -04:00
tyler staples
de803ac1a6 Gauntlet - Add missing copyright notice.
#rnx

[CL 25824781 by tyler staples in ue5-main branch]
2023-06-06 15:12:33 -04:00
tyler staples
6a7f8b3936 Gauntlet - Move PathUtils into the Gauntlet project.
Make these utilities accessible for engine projects.

#rnx
[REVIEW] clayton.langford,brendan.lienau
#rb clayton.langford

[CL 25824160 by tyler staples in ue5-main branch]
2023-06-06 14:58:17 -04:00
tyler staples
07fc50fbb8 Gauntlet - Fix missing copyright notice.
#rnx

[CL 25192036 by tyler staples in ue5-main branch]
2023-04-25 19:21:09 -04:00
tyler staples
eb05db870e Move ReportGenUtils and the CsvImporter interface into the Gauntlet project.
#rnx
#rb brendan.lienau

[CL 25186917 by tyler staples in ue5-main branch]
2023-04-25 15:17:30 -04:00
Jerome Delattre
f38b6d4278 Log UE critical failure as Gauntlet_FatalEvent
+ limit the number of reported not run tests
+ clean up some part of summary report

#jira UE-176042
#preflight 63f661449129b42b256eef3d
#rb Chris.Constantinescu
#rnx

[CL 25024749 by Jerome Delattre in ue5-main branch]
2023-04-13 10:10:21 -04:00
tim kennedy
c6b7cbaccb #JIRA: none
#preflight 63fe91f8ae54ee4ce9e7a51a
** Had to do a new CL because of the move rules preventing me from submitting the previous CL**

So that the new Gauntlet RPC tools do not go out to licensees prematurely, moving all RPC related files to:

FortniteGame/Build/Scripts/Automation/Utility/RPC/Gauntlet/Framework/
FortniteGame/Build/Scripts/Automation/Utility/RPC/Gauntlet/Framework/Utils
FortniteGame/Build/Scripts/Automation/Utility/RPC/Gauntlet/Framework/Utils/RPC

This preserves Gauntlet's file structure, meaning that if we decide to make this available to license holders, we can simply move the contents of the Gauntlet folder into the Gauntlet project and the structure will be compatible. There are two classes that needed a file created to be moved - GauntletHttpClient and GauntletHttpResponse - they are now in Gauntlet.GauntletHttpClient.cs

[CL 24465068 by tim kennedy in ue5-main branch]
2023-03-01 12:35:09 -05:00
jerome delattre
11496fb777 Override key entry when the key already exists in the TestData object
#jira UE-178710
#preflight 63fe497def1b24bf941b3720
#rnx
#rb Josh.Engebretson

[CL 24454249 by jerome delattre in ue5-main branch]
2023-02-28 18:19:14 -05:00
tim kennedy
ce81a619bb Gauntlet Written Tests with RPC's: This is only the Gauntlet code, and has been tested with Flask as a mock process/endpoint with data modeled on the C++ code. Goals for this commit:
* Implement a way to write and run top-down tests in Gauntlet easily.
* Genericize and write tools around existing RPC functionality to allow it to be easily used.
* Create a generic timer that can enable test execution to wait for specific events and time out if they take too long.
**Note** Tests pass, but roles often shows failed due to the test finishing before the Unreal Process(es) have initialized.
#preflight n/a
#rb
[REVIEW] [at]gary.yuan [at]eric.knapik [at]ben.salem [at]zorin.abner

[CL 23935012 by tim kennedy in ue5-main branch]
2023-01-31 14:46:39 -05:00
Josh Engebretson
85b49aca06 Horde: Add version to Gauntlet horde reports, add some basic test information to simple reports for new backend
#jira none
#rnx
#rb Jerome.Delattre
#preflight 636a640af56cab38c7242313

[CL 23053411 by Josh Engebretson in ue5-main branch]
2022-11-09 08:55:04 -05:00
Jerome Delattre
555d1823dd Implement Fetch Data from telemetry database for post run analytics
#preflight 627030f2592316675c21b2d7
#rb Geoff.Evans,Chris.Constantinescu

[CL 20764203 by Jerome Delattre in ue5-main branch]
2022-06-21 15:58:53 -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
db5a3407ba Better Manage UE screenshot artifacts with Horde Automated Test Session
* avoid attaching reference and delta of passed image comparison
* add warning instead of error when attaching image compare failed to work
* fix an issue with image artifacts being attached to the wrong event when attaching artifact failed...

#preflight 62363f9bb43f22036e1ee910
#jira none
#rnx

[CL 19447670 by Jerome Delattre in ue5-main branch]
2022-03-20 15:30:53 -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
f8c58dfd2c Avoid duplicates of Screenshot comparison artifacts when producing automated test html/json report
#jira UE-144056
#preflight 621e630f3e14f0c7e5497b07
#rb Chris.Constantinescu

[CL 19271563 by Jerome Delattre in ue5-main branch]
2022-03-04 14:04:40 -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
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
Jerome Delattre
c7f99392c4 Add Horde Job Step link in telemetry results
#jira none
#rnx
#rb trivial

[CL 16972774 by Jerome Delattre in ue5-main branch]
2021-07-27 16:05:47 -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
e0ad4e25df Merge from Release-Engine-Test @ 16624776 to UE5/Main
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16625248 by aurel cordonnier in ue5-main branch]
2021-06-10 13:13:24 -04:00
Jerome Delattre
c7dc6ed851 Gauntlet - Add support for Unit and Baseline to Telemetry data
#jira none
#rb none
#rnx

[CL 16496261 by Jerome Delattre in ue5-main branch]
2021-05-27 21:57:49 -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
31d2f3d302 Gauntlet telemetry - make the csv parser more resilient to non compliant formating
#rnx
#rb none
#jira none

[CL 16215623 by Jerome Delattre in ue5-main branch]
2021-05-05 19:27:53 -04:00
Jerome Delattre
01a1d02940 Gauntlet - Avoid using deprecated json parser, use System.Text.Json instead
#jira none
#rb none
#rnx

[CL 15676046 by Jerome Delattre in ue5-main branch]
2021-03-11 09:42:08 -04:00