public ErrorTestBase(UnrealTestContext InContext) : base(InContext) { ErrorType = ErrorTypes.Check; ErrorDelay = 5; Server = false; }
public override void CreateReport(TestResult Result, UnrealTestContext Contex, UnrealBuildSource Build, IEnumerable <UnrealRoleArtifacts> Artifacts, string ArtifactPath) { UnrealRoleArtifacts ClientArtifacts = Artifacts.Where(A => A.SessionRole.RoleType == UnrealTargetRole.Client).FirstOrDefault(); var SnapshotSummary = new UnrealSnapshotSummary <UnrealHealthSnapshot>(ClientArtifacts.AppInstance.StdOut); Log.Info("Elemental Performance Report"); Log.Info(SnapshotSummary.ToString()); base.CreateReport(Result, Contex, Build, Artifacts, ArtifactPath); }
/// <summary> /// Called after a test finishes to create an overall summary based on looking at the artifacts /// </summary> /// <param name="Result"></param> /// <param name="Context"></param> /// <param name="Build"></param> /// <param name="Artifacts"></param> /// <param name="InArtifactPath"></param> public override void CreateReport(TestResult Result, UnrealTestContext Context, UnrealBuildSource Build, IEnumerable <UnrealRoleArtifacts> Artifacts, string InArtifactPath) { // only check for artifacts if the test passed if (Result != TestResult.Passed) { return; } if (!DidDetectLaunch) { SetUnrealTestResult(TestResult.Failed); Log.Error("Failed to detect completion of launch"); return; } bool MissingFiles = false; foreach (var RoleArtifact in Artifacts) { DirectoryInfo RoleDir = new DirectoryInfo(RoleArtifact.ArtifactPath); IEnumerable <FileInfo> ArtifactFiles = RoleDir.EnumerateFiles("*.*", SearchOption.AllDirectories); // user may not have cleared paths between runs, so throw away anything that's older than 2m ArtifactFiles = ArtifactFiles.Where(F => (DateTime.Now - F.LastWriteTime).TotalMinutes < 2); if (ArtifactFiles.Any() == false) { MissingFiles = true; Log.Error("No artifact files found for {0}. Were they not retrieved from the device?", RoleArtifact.SessionRole); } IEnumerable <FileInfo> LogFiles = ArtifactFiles.Where(F => F.Extension.Equals(".log", StringComparison.OrdinalIgnoreCase)); if (LogFiles.Any() == false) { MissingFiles = true; Log.Error("No log files found for {0}. Were they not retrieved from the device?", RoleArtifact.SessionRole); } } if (MissingFiles) { SetUnrealTestResult(TestResult.Failed); Log.Error("One or more roles did not generated any artifacts"); } Log.Info("Found valid artifacts for test"); }
public ErrorTestGPF(UnrealTestContext InContext) : base(InContext) { ErrorType = ErrorTypes.GPF; }
public ErrorTestFatal(UnrealTestContext InContext) : base(InContext) { ErrorType = ErrorTypes.Fatal; }
public ErrorTestCheck(UnrealTestContext InContext) : base(InContext) { ErrorType = ErrorTypes.Check; }
public ErrorTestEnsure(UnrealTestContext InContext) : base(InContext) { ErrorType = ErrorTypes.Ensure; }
public BasicDedicatedServerTest(UnrealTestContext InContext) : base(InContext) { }
public EpicGameTestNode(UnrealTestContext InContext) : base(InContext) { }
public ListenServerQuickMatchTest(UnrealTestContext InContext) : base(InContext) { }
public EditorTestNode(UnrealTestContext InContext) : base(InContext) { }
public DefaultTest(UnrealTestContext InContext) : base(InContext) { }
public HorizonUIPluginDemoTest(UnrealTestContext InContext) : base(InContext) { }
public DaeGauntletTest(UnrealTestContext InContext) : base(InContext) { }
public BootTest(UnrealTestContext InContext) : base(InContext) { }
public ListenServerTest(UnrealTestContext InContext) : base(InContext) { }