- 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]