Commit Graph

107 Commits

Author SHA1 Message Date
eric mcdaniel
e569459e66 UAT: Fix skipClient support
- skipClient option allows for client steps to be run in UAT with a null role which causes them to be skipped
  - the test still runs and is considered successful and all dependencies are still executed
  - this results in a "Null" client device with a null platform
  - IDeviceUsageReporter causes exceptions with this configuration
- change IDeviceUsageReporter methods to take a platform reference and handle a null platform internally
  - no events are logged for the null device and platform

- the null client device associated with teh skip tests will create a NullAppInstance
  - NullAppInstance only completes upon WaitForExit() but many tests don't do this as they run until they see a specific line in the output log or something similar (ex:  boot tests)
  - this causes some NullAppInstance tests to never complete and to run until a timeout is encountered
- NullAppInstance is now considered completed and HasExited upon creation to resolve this
  - the base test node then identifies the null app instance as completed

#rb Chris.Constantinescu, Josh.Engebretson, Jerome.Delattre
#jira none
#preflight https://horde.devtools.epicgames.com/job/61e1c430b14a67d611987c49

[CL 18648971 by eric mcdaniel in ue5-main branch]
2022-01-18 17:11:29 -05:00
andrew grant
dd8e6aa4bd Fix for non-threadsafe logging that can result in occasional errors when running parallel tests
[FYI] andrew.rodham

#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 18614808 via CL 18616613 via CL 18616639 via CL 18616640 via CL 18619517 via CL 18619786 via CL 18620121
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18620619 by andrew grant in ue5-main branch]
2022-01-14 13:41:31 -05:00
nick darnell
c7cee4bd53 Lyra - Adding file lock checking for the deployment script, adding a temporary method of using BPT tool 1.5 until it's available online, will have to correct the script then.
#jira none
#preflight skip

#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 18566893 in //UE5/Release-5.0/... via CL 18566901
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18566915 by nick darnell in ue5-release-engine-test branch]
2022-01-10 18:37:13 -05:00
andrew grant
04af8afc7f Added a debug statement and exception handler to try and track down a periodic exception in logging from tests
#preflight skip

#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 18468195 via CL 18469208 via CL 18469217 via CL 18469242 via CL 18469457 via CL 18469496
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18469512 by andrew grant in ue5-release-engine-test branch]
2021-12-15 14:16:00 -05:00
jerome delattre
a9a2921a21 Add support for on-demand virtual devices in Gauntlet
#jira none
#rb Josh.Engebretson, Chris.Constantinescu

#ROBOMERGE-AUTHOR: jerome.delattre
#ROBOMERGE-SOURCE: CL 18383350 in //UE5/Release-5.0/... via CL 18383354
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18383363 by jerome delattre in ue5-release-engine-test branch]
2021-12-06 11:35:41 -05:00
chris constantinescu
fa655a1808 Gauntlet unnaceptable words fix
#jira UE-131083
#rb Jerome.Delattre

#ROBOMERGE-AUTHOR: chris.constantinescu
#ROBOMERGE-SOURCE: CL 18270791 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18270804 by chris constantinescu in ue5-release-engine-test branch]
2021-11-23 11:18:17 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
chris constantinescu
bb62366170 FN Editor test fail due to it reusing local devices when spawning parallel tests instead of managing them per test session.
UnrealDeviceReservation is causing this because it's storing static device data.
Changed to non-static and associated a test session with a UnrealDeviceReservation instance 1:1

#jira UE-133981
#rb Jerome.Delattre, Josh.Engrebetson

#ROBOMERGE-AUTHOR: chris.constantinescu
#ROBOMERGE-SOURCE: CL 18108024 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18108080 by chris constantinescu in ue5-release-engine-test branch]
2021-11-09 12:47:22 -05:00
jerome delattre
41e276d20c Telemetry - modify data model to use a build table and a record table separately
+ support for staging db target

#jira none
#rb Chris.Constantinescu, Geoff.Evans

#ROBOMERGE-AUTHOR: jerome.delattre
#ROBOMERGE-SOURCE: CL 17923403 in //UE5/Release-5.0/... via CL 17923442
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17923450 by jerome delattre in ue5-release-engine-test branch]
2021-10-26 10:12:39 -04:00
chris constantinescu
911e95a6d0 Low level tests - platform fixes and presubmit default compilation to prevent breaking
- Addressed remaining NDA platform code that was present in public facing folders
- Compile LowLevelTests target by default on presubmits and incremental builds for Main and 5.0
- Add dummy test on LowLevelTetsts and run it on consoles daily - this test is called "Self" and it's a sanity check run for Catch2
- Fixed Switch indefinite hang - Self test run successfully on this console
- Added IRunningStateOptions to control app run state: startup and check running state options
- AudioUnitTests run successfully on XboxOneGDK and XSX
- XSX Self and AudioUnitTests run successfully but XSX reports VideoEscape errors - JIRA UE-131334

#jira UEENGQA-52681, UE-127449
#rb Jerome.Delattre

#ROBOMERGE-AUTHOR: chris.constantinescu
#ROBOMERGE-SOURCE: CL 17830364 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17830380 by chris constantinescu in ue5-release-engine-test branch]
2021-10-15 12:17:53 -04:00
josh engebretson
940ac7adcd Remove platform reference from Gauntlet device reservations
#jira UE-130404
#rnx

#ROBOMERGE-AUTHOR: josh.engebretson
#ROBOMERGE-SOURCE: CL 17818539 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)

[CL 17818550 by josh engebretson in ue5-release-engine-test branch]
2021-10-14 13:24:52 -04:00
chris constantinescu
72b02c5967 Low Level Tests: code tests built on Catch2 with multi-platform support.
Intended for writing unit, integration, functional and all types of tests.

#jira UEENGQA-49764
#rb Jerome.Delattre


#ROBOMERGE-AUTHOR: chris.constantinescu
#ROBOMERGE-SOURCE: CL 17666358 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17666384 by chris constantinescu in ue5-release-engine-test branch]
2021-09-29 15:50:57 -04:00
aurel cordonnier
69fe095547 Merge from Release-Engine-Staging @ 17636544 to Release-Engine-Test
This represents UE4/Main @17638339 and Dev-PerfTest @17636504

[CL 17638842 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-27 19:54:25 -04:00
jerome delattre
ef7a418217 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

#ROBOMERGE-AUTHOR: jerome.delattre
#ROBOMERGE-SOURCE: CL 17607554 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17607557 by jerome delattre in ue5-release-engine-test branch]
2021-09-23 09:35:30 -04:00
aurel cordonnier
7f517562d5 Merge from Release-Engine-Staging @ 17438845 to Release-Engine-Test
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17439044 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-06 12:23:53 -04:00
jonathan adamczewski
cdbb72ca00 AutomationTool:
When looking for types that come from script modules, look at just the script module assemblies.

#jira none
#rb none

#ROBOMERGE-SOURCE: CL 17352195 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17352224 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-30 10:43:17 -04:00
jerome delattre
d0f6bf21ca 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

#ROBOMERGE-SOURCE: CL 17160450 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17160467 by jerome delattre in ue5-release-engine-test branch]
2021-08-12 18:54:00 -04:00
jonathan adamczewski
fa6f2a7b37 Gauntlet:
Skip the AutomationTool assembly: if Microsoft.Build.Framework can't be loaded, trying to do so will throw an exception.

#jira none
#rb Josh.Engebretson

#ROBOMERGE-SOURCE: CL 17108416 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v854-17104634)

[CL 17108448 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-09 18:00:15 -04:00
jonathan adamczewski
f270855eef AutomationTool: Compile script modules within the application
Add a layer of caching to avoid running msbuild as much as possible.

#jira UE-109181
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 17102399 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17102408 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-09 10:39:35 -04:00
josh engebretson
c882966b35 Gauntlet: Fixing issue with reservation renewal, adding Horde job and step ids to reservations. Cleaning up some legacy workers configuration
#jira UE-120801
#rnx

#ROBOMERGE-SOURCE: CL 17037659 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v848-17036448)

[CL 17037684 by josh engebretson in ue5-release-engine-test branch]
2021-08-03 16:18:05 -04:00
geoff evans
a3b8c275cd Preserve slashes and other regular expression operations when throwing text at markdown.
This fixes the handling of \ and + characters in file paths when communicating the logdir through to the horde web pages.
For now remove the markdown link decoration, as whatever markdown processor is running on this .md file, it doesn't yield a file:// anchor tag that works in Chrome or Firefox, at least with Windows network paths (\\computer\share\folder\file.txt).

#jira none
#rb ryan.durand

#ROBOMERGE-SOURCE: CL 16985416 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16985423 by geoff evans in ue5-release-engine-test branch]
2021-07-28 14:13:41 -04:00
jerome delattre
172c1be3ea Add Horde Job Step link in telemetry results
#jira none
#rnx
#rb trivial

#ROBOMERGE-SOURCE: CL 16972774 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16972777 by jerome delattre in ue5-release-engine-test branch]
2021-07-27 16:06:09 -04:00
aurel cordonnier
02c0f425e8 Copy up from Release-Engine-Staging @ 16738359
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719

[CL 16738582 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-22 00:27:54 -04:00
aurel cordonnier
25a11deeac Merge from Release-Engine-Staging @ 16579919
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16581170 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-07 20:09:45 -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