Files
UnrealEngineUWP/Engine/Source/Developer/LowLevelTestsRunner/Public/TestRunner.h
chris constantinescu 054a91e666 Introduce global setup for the LowLevelTests project.
Motivation: CoreUObject, taskgraph and threads are global constructs and need to be initialized as such and are expensive to setup/teardown before/after multiple single tests.

Introduced --global-setup and --no-global-setup to control execution of global test setup.
Unit tests that rely heavily on mocking and are designed to run without any global context should use --no-global-setup

Other: Removed CoreTestFixture and applied minor fixes wherever things didn't make sense.
One particular CoreUObject test was converted but had always failed to run on non-desktop platforms. It needs to be addressed ASAP.

#preflight 625873c7e304a95465fc148e
#rb Devin.Doucette, Zousar.Shaker

[CL 19769262 by chris constantinescu in ue5-main branch]
2022-04-15 07:21:27 -04:00

36 lines
817 B
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include COMPILED_PLATFORM_HEADER_WITH_PREFIX(Platform,TestRunner.h)
#include "CommandLineUtil.h"
#include "Logging/LogScopedVerbosityOverride.h"
#include "Logging/LogSuppressionInterface.h"
#include "Modules/ModuleManager.h"
#include "Misc/CommandLine.h"
#include <cstring>
#include <thread>
#include <chrono>
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable : 4005)
#endif
extern bool bCatchIsRunning;
extern bool bGAllowLogging;
extern bool bGMultithreaded;
extern bool bGDebug;
extern bool bGGlobalSetup;
#if __cplusplus
extern "C" const char* GetProcessExecutablePath();
#else
const char* GetProcessExecutablePath();
#endif
const char* GetCacheDirectory();
int RunTests(int argc, const char* argv[]);