Files
UnrealEngineUWP/Engine/Source/Programs/AutomationTool/Gauntlet/Framework/Base/Gauntlet.AppInstance.cs
chris constantinescu 410d45be21 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 5.0

[CL 17830364 by chris constantinescu in ue5-main branch]
2021-10-15 12:15:53 -04:00

68 lines
1.3 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Text;
namespace Gauntlet
{
/// <summary>
/// Interface that represents an instance of an app running on a device
/// </summary>
public interface IAppInstance
{
/// <summary>
/// Returns true/false if the process has exited for any reason
/// </summary>
bool HasExited { get; }
/// <summary>
/// Current StdOut of the process
/// </summary>
string StdOut { get; }
/// <summary>
/// Exit code of the process.
/// </summary>
int ExitCode { get; }
/// <summary>
/// Returns true if the process exited due to Kill() being called
/// </summary>
bool WasKilled { get; }
/// <summary>
/// Path to commandline used to start the process
/// </summary>
string CommandLine { get; }
/// <summary>
/// Path to artifacts from the process
/// </summary>
string ArtifactPath { get; }
/// <summary>
/// Device that the app was run on
/// </summary>
ITargetDevice Device { get; }
/// <summary>
/// Kills the process if its running (no need to call WaitForExit)
/// </summary>
void Kill();
/// <summary>
/// Waits for the process to exit normally
/// </summary>
/// <returns></returns>
int WaitForExit();
}
public interface IWithUnfilteredStdOut
{
string UnfilteredStdOut { get; }
}
}