Commit Graph

48 Commits

Author SHA1 Message Date
Brandon Schaefer
50ca5a9fd3 Move logic into platform request exit area to flush logs if we can
#jira UE-146560
#preflight none
#rb Michael.Sartain, Robert.Seiver

[CL 19440198 by Brandon Schaefer in ue5-main branch]
2022-03-18 15:26:38 -04:00
Brandon Schaefer
5af26f436b GLog->Flush to ensure the UE_LOGs end up in the log, as we require the output of the above logs for a test to pass
#jira UE-146560
#rb Jerome.Delattre
#preflight 6234d2f68900c14eec954a5c

[CL 19439897 by Brandon Schaefer in ue5-main branch]
2022-03-18 15:05:46 -04:00
phisko
6879eb72a5 PR #8106: Add SetFilter command to Automation framework (Contributed by phisko)
#jira UE-117305
#rb Eric.Knapik

[CL 17650998 by phisko in ue5-main branch]
2021-09-28 16:11:26 -04:00
Andriy Tylychko
2a295eb685 deprecated FTicker and family and replaced by thread-safe FTSTicker
#jira UE-120090
#rb francis.hurteau

[CL 17176325 by Andriy Tylychko in ue5-main branch]
2021-08-16 11:05:18 -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
Marc Audy
8f73cd7fa9 Merge UE5/Release-Engine-Staging @ 15630841 to UE5/Main
This represents UE4/Main @ 15601601

[CL 15631170 by Marc Audy in ue5-main branch]
2021-03-05 19:27:14 -04:00
Andrew Grant
5087ea59ea TL;DR
Improved behavior of PIE automation to deal with extremly long hitches and better represet the time a user is going to wait before the editor is usable.
Improved usability of BenchmarkBuild script


Changes

+ Added new automation command for waiting until average fps reaches a specified value. Using this with a conservative value is a better way of checking for interactivity than looping at shader compiles etc.
+ When Errors are added to a test as a result of logging, this itself is now logged as an error. This makes it clearer why a test may have failed despite its own checks having passed.
+ BenchmarkBuild can now just specify empty arguments for PIE/Cook tests (e.g. -PIE1_Args="") to allow comparisons between default/other.
+ Project.Maps.PIE can now take a "-maps" argument on the command line for the list of maps to test
+ Turned on AutomationController.SuppresLogErrors for Frosty to prevent errors causing errors to fail
+ Cleaned up naming for mulltiple-variations of PIE/Cook tests in BenchmarkBuild. Now use -PIE1Args, -PIE2Args etc

Fixes -

* Fixed issue in AutomationControllerManager where extreme hitching resulted in an editor test timing out due to outstanding pings being given a "TimeSince" that would exceed a timeout
* Fixed issue where bTreatLogErrorsAsTestErrors was (strangely) causing the editor to exit with a zero-error code when tests failed.
* Made FWaitForShadersToFinishCompiling automation task non-blocking to prevent timeouts. (It also checks texture compilation as the blocking version used to)
* Fixed BenchmarkBuild using the old System.Maps.PIE test that isn't enabled by default in projects
* Removed flush of shaders/textures in Project.Maps.PIE since this doesn't represent when the level is playable. Measuring this will be added as a separate test.
* Fixed issue where a user specifying a map with an extension would cause Project.Maps.PIE not to recognize the level had loaded

#rb swarm
#jira nojira

[CL 15426493 by Andrew Grant in ue5-main branch]
2021-02-16 20:13:40 -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
Arciel Rekman
cb998fe373 Remove unused private fields - Automation
#rb Andrew.Grant
#review-14242502 @Andrew.Grant
#jira none

[CL 14243816 by Arciel Rekman in ue5-main branch]
2020-09-02 09:24:31 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -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
c036ee60ab Fix copyright issue
#ROBOMERGE-SOURCE: CL 11178049 via CL 11178784
#ROBOMERGE-BOT: (v640-11091645)

[CL 11178886 by josh engebretson in Main branch]
2020-01-30 13:12:00 -05:00
josh engebretson
c30553b865 Fix isue with automated test command line delegate
#rb andrew.grant


#ROBOMERGE-SOURCE: CL 11177879 via CL 11178775
#ROBOMERGE-BOT: (v640-11091645)

[CL 11178865 by josh engebretson in Main branch]
2020-01-30 13:11:19 -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
85e93f9957 Allow filters for automated tests to be on multiple lines
#jira nojira
#rb na
#lockdown nick.penwarden

#ROBOMERGE-SOURCE: CL 10325873 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v593-10286020)

[CL 10326542 by andrew grant in Main branch]
2019-11-20 17:05:29 -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
andrew grant
3849b61f6b Moved automation settings to a common class.
Removed SetTreatWarningsAsErrors from AutomationFramework. Tests should now override TreatLogErrorsAsErrors and TreatLogWarningsAsErrors to control this behavior.

Tidied up some logging and formalized messages emitted by tests.

Emit a Gauntlet-parsed message on test completion

#rb CR'd


#ROBOMERGE-SOURCE: CL 6236960 via CL 6242044

[CL 6242091 by andrew grant in Main branch]
2019-05-01 21:54:37 -04:00
andrew grant
5695c4b8b3 Temporarily removed exit report used by CIS as it turns out some Fortnite tests are actually silently failing :(
#ROBOMERGE-SOURCE: CL 6132799 via CL 6133272

[CL 6174327 by andrew grant in Main branch]
2019-04-30 11:28:21 -04:00
andrew grant
ca5fdf9244 Cleaned up some logging in automation controller
#ROBOMERGE-SOURCE: CL 6115332 via CL 6132874

[CL 6174055 by andrew grant in Main branch]
2019-04-30 11:26:15 -04:00
andrew grant
fc33f5c82a Added support for allowing definition and execution of "groups" of tests using the legacy automation framework.
Groups are defined in DefaultEngine.ini by specifying a groupname and then a set of filters that are used to determine group membership. Groups of tests may then be executed via "RunTests Group:GroupName".

Filters can now also be specified via "RunTests Filter:System+Filter:Editor". This will correctly match filters instead of the old behavior of doing a substring search e.g. SomeNonEditorTest is executed by "RunTests Editor"

Setup some common groups of tests in EngineTest project.

Added TestFilter option to RunAutomatedTests Gauntlet script. Defaults to Project+System

#rb swarm


#ROBOMERGE-SOURCE: CL 6083324 via CL 6088169

[CL 6088218 by andrew grant in Main branch]
2019-04-24 18:33:45 -04:00
andrew grant
0de4efcf07 Fixed warnings when workers are not ready yet.
Cut down on number of warnings issued.

#jira UE-66856
#rb na


#ROBOMERGE-SOURCE: CL 4925036 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 4925037 by andrew grant in Main branch]
2019-02-06 17:43:24 -05: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
Ben Marsh
75e9f5c691 Print messages when causing the editor to force-quit after running automated tests, and ignore exit codes on errors.
#rb none

[CL 4014962 by Ben Marsh in Dev-Geometry branch]
2018-04-19 20:53:44 -04:00