You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#jira UE-166991 #preflight 63f6731fff5afbbb03cc67ed #rb peter.engstrom, chris.constantinescu [CL 24368012 by Ryan Gerleve in ue5-main branch]
91 lines
3.3 KiB
C++
91 lines
3.3 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "GenericPlatform/GenericPlatformFile.h"
|
|
#include "HAL/PlatformFileManager.h"
|
|
#include "Iris/IrisConfig.h"
|
|
#include "Materials/Material.h"
|
|
#include "Misc/CommandLine.h"
|
|
#include "Misc/ConfigCacheIni.h"
|
|
#include "Misc/CoreDelegates.h"
|
|
#include "Modules/ModuleManager.h"
|
|
#include "Net/Core/Trace/Private/NetTraceInternal.h"
|
|
#include "ProfilingDebugging/TraceAuxiliary.h"
|
|
#include "Styling/UMGCoreStyle.h"
|
|
#include "TestCommon/CoreUtilities.h"
|
|
#include "TestCommon/EngineUtilities.h"
|
|
#include "TestCommon/Initialization.h"
|
|
#include "UObject/Package.h"
|
|
#include "UObject/PackageResourceManager.h"
|
|
#include "UObject/UObjectBase.h"
|
|
|
|
#include <catch2/catch_test_macros.hpp>
|
|
|
|
GROUP_BEFORE_GLOBAL(Catch::DefaultGroup)
|
|
{
|
|
// Initialize trace
|
|
FString Parameter;
|
|
if (FParse::Value(FCommandLine::Get(), TEXT("-trace="), Parameter, false))
|
|
{
|
|
FTraceAuxiliary::Initialize(FCommandLine::Get());
|
|
FTraceAuxiliary::TryAutoConnect();
|
|
}
|
|
|
|
#if UE_NET_TRACE_ENABLED
|
|
uint32 NetTraceVerbosity;
|
|
if(FParse::Value(FCommandLine::Get(), TEXT("-nettrace="), NetTraceVerbosity))
|
|
{
|
|
FNetTrace::SetTraceVerbosity(NetTraceVerbosity);
|
|
}
|
|
#endif
|
|
|
|
UE::Net::SetUseIrisReplication(true);
|
|
|
|
// Use our own mock platform file implementation, we don't need to do any file I/O for these tests
|
|
if (IPlatformFile* WrapperFile = FPlatformFileManager::Get().GetPlatformFile(TEXT("ReplicationSystemLowLevelTestsFile")))
|
|
{
|
|
IPlatformFile* CurrentPlatformFile = &FPlatformFileManager::Get().GetPlatformFile();
|
|
WrapperFile->Initialize(CurrentPlatformFile, TEXT(""));
|
|
FPlatformFileManager::Get().SetPlatformFile(*WrapperFile);
|
|
}
|
|
|
|
InitAllThreadPools(true);
|
|
InitAsyncQueues();
|
|
InitTaskGraph();
|
|
InitStats();
|
|
InitGWarn();
|
|
|
|
IPackageResourceManager::Initialize();
|
|
|
|
FDelayedAutoRegisterHelper::RunAndClearDelayedAutoRegisterDelegates(EDelayedRegisterRunPhase::FileSystemReady);
|
|
|
|
if (!GetTransientPackage())
|
|
{
|
|
FModuleManager::Get().AddExtraBinarySearchPaths();
|
|
FConfigCacheIni::InitializeConfigSystem();
|
|
|
|
// Mock config values to allow the engine to initialize
|
|
GConfig->SetString(TEXT("/Script/Engine.Engine"), TEXT("AIControllerClassName"), TEXT("/Script/AIModule.AIController"), GEngineIni);
|
|
GConfig->SetString(TEXT("/Script/Engine.Engine"), TEXT("DefaultMaterialName"), TEXT("/Engine/Transient.MockDefaultMaterial"), GEngineIni);
|
|
GConfig->SetString(TEXT("/Script/Engine.Engine"), TEXT("DefaultLightFunctionMaterialName"), TEXT("/Engine/Transient.MockDefaultMaterial"), GEngineIni);
|
|
GConfig->SetString(TEXT("/Script/Engine.Engine"), TEXT("DefaultDeferredDecalMaterialName"), TEXT("/Engine/Transient.MockDefaultMaterial"), GEngineIni);
|
|
GConfig->SetString(TEXT("/Script/Engine.Engine"), TEXT("DefaultPostProcessMaterialName"), TEXT("/Engine/Transient.MockDefaultMaterial"), GEngineIni);
|
|
|
|
FModuleManager::Get().LoadModule(TEXT("CoreUObject"));
|
|
FCoreDelegates::OnInit.Broadcast();
|
|
|
|
FUMGCoreStyle::ResetToDefault();
|
|
|
|
// Create a mock default material to keep the material system happy
|
|
UMaterial* MockMaterial = NewObject<UMaterial>(GetTransientPackage(), UMaterial::StaticClass(), TEXT("MockDefaultMaterial"), RF_Transient | RF_MarkAsRootSet);
|
|
|
|
ProcessNewlyLoadedUObjects();
|
|
}
|
|
|
|
FModuleManager::Get().LoadModule(TEXT("IrisCore"));
|
|
}
|
|
|
|
GROUP_AFTER_GLOBAL(Catch::DefaultGroup)
|
|
{
|
|
CleanupAll();
|
|
}
|