Also implements overrides for each desktop platform (Win64, WinGDK, Linux, Mac)
#jira UE-201386
#rb David.Harvey, Jerome.Delattre
[CL 32056288 by brendan lienau in ue5-main branch]
This new flow is disabled by default and requires -ExperimentalLaunchFlow to be present to run
Changes:
- Current implementation of LaunchSession has been moved to Legacy_LaunchSession(). Adding further references should be avoided.
- Exception guarding happens in several steps, improving clarity on which step failures occur in LaunchSession
- Tests that run several iterations will now clean the device artifacts between each run without needing a full re-install of the build
- UnrealDeviceReservation can now choose to release only problem devices
- When a problem device is encountered during LaunchSession, only the problem device(s) will be released to the pool instead of all devices
- Overall improvements to logging
#rb Ryan.Bazinet, Marcelo.Gomes
#jira UE-201402
[CL 30931650 by brendan lienau in ue5-main branch]
+ Handle setting up the default command line arguments through TargetDeviceDesktopCommon
+ Align log settings across configs
#jira UE-203448
#rnx
#rb brendan.lienau, sebastian.lewicki
[CL 30684372 by jerome delattre in ue5-main branch]
IDeviceValidator provides the ability to verify a TargetDevice matches a set of requirements.
They are particularily useful for ensuring development kits are in a desired state prior to a test.
This can include, but is not limited to:
- Proper firmware versions
- Having an account signed in
- Pushing a list of settings onto the device
To add new DeviceValidators, simply create a concrete type that inherits from IDeviceValidator.
Implement ValidateDevice() and determine whether this validator should be enabled within the constructor
It can be especially helpful to toggle whether a validator is enabled via commandline arguments, for ease of opt-in
#jira UE-201402
#rb marcelo.gomes
[CL 30352267 by brendan lienau in ue5-main branch]
This CL stubs out the following ITargetDevice functions which will be implemented for each platform one by one
- FullClean
- CleanArtifacts
- InstallApplication (new signature)
- CreateAppInstall
- CopyAdditionalFiles
Once stubs have been implemented, UnrealSession.LaunchSession will optionally be able to execute a new flow using these modularized pieces
After further validations are made, the legacy implementation of LaunchSession will be deprecated and the new flow will become the standard
#jira UE-201403
#rb marcelo.gomes
[CL 30326785 by brendan lienau in ue5-main branch]
Also remove destlocalinstalldir from UnrealSession and adds an equivalent InstallRoot into TargetDeviceDesktopCommon
#jira UE-201400
#rb David.Harvey, Josh.Engebretson
[CL 30120356 by brendan lienau in ue5-main branch]
- Move log processing out of the IsTestRunning accessor and into TickTest where it should be.
- Tidy up some legacy comparison test stuff. Will remove soon
[CL 28579386 by ben woodhouse in ue5-main branch]