Files
UnrealEngineUWP/Engine/Source/Developer/FunctionalTesting/Classes/ScreenshotFunctionalTest.h
christopher fiala 6291d6738b Update LightweightStereoTestVariants mode to run ONLY stereo test variants, no baseline, since they've been moved into their own category. Remove support for specifically exempting tests from running stereo variants. Save screenshots even for passed variants for the time being, since it's now possible to have a variant be the only test running.
Now `Automation.EnableStereoTestVariants=1` (off by default) enables ViewRectOffset, and adding `Automation.LightweightStereoTestVariants=1` causes us to ONLY run ViewRectOffset (on by default).

#jira UE-194361
#rb Jerome.Delattre

[CL 30174576 by christopher fiala in ue5-main branch]
2023-12-06 23:16:08 -05:00

48 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "ScreenshotFunctionalTestBase.h"
#include "AutomationScreenshotOptions.h"
#include "ScreenshotFunctionalTest.generated.h"
class FAutomationTestScreenshotEnvSetup;
/**
* No UI
*/
UCLASS(Blueprintable)
class FUNCTIONALTESTING_API AScreenshotFunctionalTest : public AScreenshotFunctionalTestBase
{
GENERATED_BODY()
public:
AScreenshotFunctionalTest(const FObjectInitializer& ObjectInitializer);
virtual void Serialize(FArchive& Ar) override;
// Tests not relying on temporal effects can force a camera cut to flush stale data
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera", SimpleDisplay)
bool bCameraCutOnScreenshotPrep;
protected:
virtual void PrepareTest() override;
virtual void RequestScreenshot() override;
virtual void OnScreenShotCaptured(int32 InSizeX, int32 InSizeY, const TArray<FColor>& InImageData) override;
virtual void OnScreenshotTakenAndCompared() override;
virtual void StartTest() override;
private:
void SetupVariant(FString VariantName, FString SetpCommand, FString RestoreCommand);
FString CurrentVariantName;
FString VariantRestoreCommand;
bool bNeedsVariantRestore;
bool bShouldDoBaselineTest;
bool bShouldDoViewRectOffsetVariant;
};