Files
UnrealEngine/Engine/Source/Developer/LauncherServices/Private/Profiles/LauncherProfileAutomatedTest.h
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

124 lines
2.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "ILauncherProfileAutomatedTest.h"
#include "Dom/JsonObject.h"
class FLauncherProfileAutomatedTest final : public ILauncherProfileAutomatedTest
{
public:
FLauncherProfileAutomatedTest( const TCHAR* InInternalName )
: InternalName(InInternalName)
{
}
FLauncherProfileAutomatedTest(const FJsonObject& Object)
{
Load(Object);
}
FLauncherProfileAutomatedTest( FArchive& Archive )
{
Serialize(Archive);
}
virtual void SetUATCommand( const TCHAR* InUATCommand ) override
{
UATCommand = InUATCommand;
}
virtual const FString& GetUATCommand() const override
{
return UATCommand;
}
virtual void SetTests( const TCHAR* InTests ) override
{
Tests = InTests;
}
virtual const FString& GetTests() const override
{
return Tests;
}
virtual void SetAdditionalCommandLine( const TCHAR* InAdditionalCommandLine ) override
{
AdditionalCommandLine = InAdditionalCommandLine;
}
virtual const FString& GetAdditionalCommandLine() const override
{
return AdditionalCommandLine;
}
virtual void SetEnabled( bool bInEnabled ) override
{
bEnabled = bInEnabled;
}
virtual bool IsEnabled() const override
{
return bEnabled;
}
virtual void SetPriority( int32 InPriority ) override
{
Priority = InPriority;
}
virtual int32 GetPriority() const override
{
return Priority;
}
virtual const TCHAR* GetInternalName() const override
{
return *InternalName;
}
virtual void Load(const FJsonObject& Object) override
{
InternalName = Object.GetStringField(TEXT("InternalName"));
UATCommand = Object.GetStringField(TEXT("UATCommand"));
Tests = Object.GetStringField(TEXT("Tests"));
AdditionalCommandLine = Object.GetStringField(TEXT("AdditionalCommandLine"));
bEnabled = Object.GetBoolField(TEXT("Enabled"));
Priority = Object.GetIntegerField(TEXT("Priority"));
}
virtual void Save(TJsonWriter<>& Writer) override
{
Writer.WriteObjectStart();
Writer.WriteValue(TEXT("InternalName"), InternalName);
Writer.WriteValue(TEXT("UATCommand"), UATCommand);
Writer.WriteValue(TEXT("Tests"), Tests);
Writer.WriteValue(TEXT("AdditionalCommandLine"), AdditionalCommandLine);
Writer.WriteValue(TEXT("Enabled"), bEnabled);
Writer.WriteValue(TEXT("Priority"), Priority);
Writer.WriteObjectEnd();
}
virtual void Serialize( FArchive& Archive ) override final
{
Archive << InternalName
<< UATCommand
<< Tests
<< AdditionalCommandLine
<< bEnabled
<< Priority
;
}
protected:
FString UATCommand = TEXT("RunUnreal");
FString Tests; //-Test=xxx,yyy
FString AdditionalCommandLine;
bool bEnabled = true;
int32 Priority = 0; // longer tests should generally have lower priority
FString InternalName;
};