You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- User can now toggle Track history which will monitor subsequent tests and store a log in Saved/Automation/Logs. - We track and show up to 5 by default, this is configurable between 1 and 10. - We store 10 logs by default, non-configurable, so that the user can configure the number to show without deleting logs. Note, Placeholder icon has been added [CL 2104364 by Terence Burns in Main branch]
112 lines
4.3 KiB
C++
112 lines
4.3 KiB
C++
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
AutomationReportManager.h: Declares the FAutomationReportManager class.
|
|
=============================================================================*/
|
|
|
|
#pragma once
|
|
|
|
|
|
/**
|
|
* Wrapper class to obfuscate the hierarchy of tests
|
|
*/
|
|
class FAutomationReportManager
|
|
{
|
|
public:
|
|
/** default constructor */
|
|
FAutomationReportManager();
|
|
|
|
/** Clears out all reports */
|
|
void Empty();
|
|
|
|
/** Updates the automation reports when the number of clusters changes */
|
|
void ClustersUpdated( const int32 NumClusters );
|
|
|
|
/**
|
|
* Resets for the next run of tests
|
|
* @param NumTestPasses - The number of test results to store
|
|
*/
|
|
void ResetForExecution(const int32 NumTestPasses);
|
|
|
|
/** Stops all tests from running */
|
|
void StopRunningTests();
|
|
|
|
/**
|
|
* Searches for the next test to execute
|
|
* @param bOutAllTestsComplete - Returns True if all tests for this device cluster have been completed
|
|
* @param ClusterIndex - Index of the platform reporting the results of this test. See AutomationDeviceClusterManager
|
|
* @param PassIndex - Index of the current test pass we are on
|
|
* @param NumDevicesInCluster - The number of devices which are available in this cluster
|
|
*/
|
|
TSharedPtr<IAutomationReport> GetNextReportToExecute(bool& bOutAllTestsComplete, const int32 ClusterIndex, const int32 PassIndex, const int32 NumDevicesInCluster);
|
|
|
|
/**
|
|
* Ensures the nested tree exists ("blueprint.test.all") would have 3 levels other than the root
|
|
* @param TestInfo - Structure containing the test info
|
|
* @param ClusterIndex - Index of the platform reporting the results of this test. See AutomationDeviceClusterManager
|
|
* @param NumPasses - The number of test passes to create reports for
|
|
* @return The automation report
|
|
*/
|
|
TSharedPtr<IAutomationReport> EnsureReportExists(FAutomationTestInfo& TestInfo, const int32 ClusterIndex, const int32 NumPasses);
|
|
|
|
/** Filters the visible tests based on name, status, speed */
|
|
void SetFilter( TSharedPtr< AutomationFilterCollection > InFilter );
|
|
|
|
/** gets array of filtered tests to display in the UI*/
|
|
TArray <TSharedPtr <IAutomationReport> >& GetFilteredReports();
|
|
|
|
/** Sets whether all visible tests are enabled or not */
|
|
void SetVisibleTestsEnabled(const bool bEnabled);
|
|
/** Returns number of tests that will be run */
|
|
int32 GetEnabledTestsNum () const;
|
|
|
|
/** Gets the names of enabled tests */
|
|
void GetEnabledTestNames(TArray<FString>& OutEnabledTestNames) const;
|
|
/** Sets the enabled tests based off the passed list of enabled tests */
|
|
void SetEnabledTests(const TArray<FString>& EnabledTests);
|
|
|
|
/** Sets the current test pass */
|
|
void SetCurrentTestPass(int32 PassIndex){ CurrentTestPass = PassIndex; }
|
|
|
|
/**
|
|
* Export the automation report
|
|
* @param FileExportTypeMask - The file export mask - errors, warning etc
|
|
* @param NumDeviceClusters - The number of devices in a cluster
|
|
*/
|
|
const bool ExportReport( uint32 FileExportTypeMask, const int32 NumDeviceClusters );
|
|
|
|
/**
|
|
* Notification on whether we should, or should not, track report histories
|
|
*/
|
|
void TrackHistory(const bool bShouldTrack, const int32 NumReportsToTrack);
|
|
|
|
protected:
|
|
|
|
/**
|
|
* Used in report generation to find leaf reports
|
|
* @param InReport - The report to add
|
|
* @param NumDeviceClusters - The number of devices in a cluster
|
|
* @param ResultsLog - Message log to store the test results
|
|
* @param FileExportTypeMask - The file export mask - errors, warning etc
|
|
*/
|
|
void AddResultReport( TSharedPtr< IAutomationReport > InReport, const int32 NumDeviceClusters, TArray< FString >& ResultsLog, uint32 FileExportTypeMask );
|
|
|
|
/**
|
|
* Used in report generation to find leaf reports
|
|
* @param InReport - The parent report
|
|
* @param NumDeviceClusters - The number of devices in a cluster
|
|
* @param ResultsLog - Message log to store the test results
|
|
* @param FileExportTypeMask - The file export mask - errors, warning etc
|
|
*/
|
|
void FindLeafReport( TSharedPtr< IAutomationReport > InReport, const int32 NumDeviceClusters, TArray< FString >& ResultsLog, uint32 FileExportTypeMask );
|
|
|
|
|
|
private:
|
|
/** Root node of the hierarchy, just there to ensure little code duplication */
|
|
TSharedPtr <IAutomationReport> ReportRoot;
|
|
/** Which test pass we are currently on */
|
|
int32 CurrentTestPass;
|
|
};
|
|
|
|
|