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]
Introduce Gauntlet.ITestReport interface
- enable attaching artifact to report through ITestReport.AttachArtifact(string)
- enable reporting errors and warnings to ITestReport
Deprecate CreateReport(TestResult, Context, Build, Artifacts, ArtifactPath) and favor to CreateReport(ITestReport)
Generate a simplified report for Horde Test Data
Better support copying artifacts with long path on Windows
#jira none
#rb Andrew.Grant
[CL 14859929 by Jerome Delattre in ue5-main branch]
This resolves a issue with PCBs were pdbcopy failed to run because it does not support portable pdbs.
#rb none
[CL 14837521 by Joakim Lindqvist in ue5-main branch]
Some behavior changes:
Output paths - Both tools are now output to a subdirectory of Binaries/Dotnet, I believe most hardcoded paths have been fixed up but there may be tools that will fail because of this.
UAT Plugin Building - As .NET Core does not support AppDomain unloading, how we build the plugins has changed quite a bit, these are now built before UAT is started rather then by UAT itself. If you just start UAT via RunUAT.bat/sh this should just continue to work.
#rb ben.marsh
[CL 14834347 by Joakim Lindqvist in ue5-main branch]
Avoid redundant error report in the log by implementing a new property LogWarningsAndErrorsAfterSummary to ITestNode
#jira none
#rnx
#rb josh.engebretson, andrew.grant
[CL 14809680 by Jerome Delattre in ue5-main branch]
Also cleaned up some output assemblies, preventing all transative references from being outputed (as we assume they build directly to the output directory instead). Unfortunatley the UBT references still cause tranastive dependencies to be copied as this is also a executable that needs to work outside of UAT as well, we should eventually move all UBT referenced code into BuildUtilities.
#rb none
#fyi ben.marsh
[CL 14775171 by Joakim Lindqvist in ue5-main branch]
Also reduces footprint on disk and speedsup builds slightly.
Also took a pass over all projects to fixup their output paths as there were some inconsitencies from my port to netcore.
Lastly I disabled the resource folders for everything but english to reduce some of the noise in the output folder, this just impacts which languages you get code analysis.
#jira UE-102147
#rb none
[CL 14651855 by Joakim Lindqvist in ue5-main branch]
Added a NET_CORE define to allow us to have changes side by side.
The AWS S3 changes are required due to us requiring to upgrade the S3 assembly version to get net core support (which made all methods async).
The ACL checks for files are not available in the system libraries of net core, as such the api is a bit different.
AutomationToolLauncher now just spawns a subprocess when used in netcore, as netcore does not support custom AppDomains and shadow copying. We will generally need to revisit this for netcore as this whole feature of building the source for UAT in UAT is not really possible.
To enable this set environment variable "UE_USE_DOTNET=1", note that with netcore all applications change their output path so this will likely break a bit of tooling when enabled.
#rb ben.marsh
[CL 14572339 by Joakim Lindqvist in ue5-main branch]
While these were present no csproj actually referenced them and built them, thus these files do not actually compile.
#rb none
[CL 14532228 by Joakim Lindqvist in ue5-main branch]