UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LowLevelTestAdapter.h File Reference
#include "Containers/StringConv.h"
#include "Containers/UnrealString.h"
#include <sstream>
#include <vector>

Go to the source code of this file.

Macros

#define IMPLEMENT_SIMPLE_AUTOMATION_TEST_PRIVATE_LLT(TClass, PrettyName, TFlagsOrTags, FileName, LineNumber)
 
#define LLT_JOIN(Prefix, Counter)   LLT_JOIN_INNER(Prefix, Counter)
 
#define LLT_JOIN_INNER(Prefix, Counter)   Prefix##Counter
 
#define TEST_CASE_NAMED_STR(TClass, StrName, PrettyName, TFlagsOrTags)
 
#define TEST_CASE_GENERATED_NAME_UNIQUE   LLT_JOIN(FLLTAdaptedTest, __COUNTER__)
 
#define LLT_STR(Macro)   #Macro
 
#define LLT_STR_EXPAND(Macro)   LLT_STR(Macro)
 
#define TEST_CASE_GENERATED_NAME_UNIQUE_STR   LLT_STR_EXPAND(TEST_CASE_GENERATED_NAME_UNIQUE)
 
#define TEST_CASE(PrettyName, TFlagsOrTags)   TEST_CASE_NAMED_STR(TEST_CASE_GENERATED_NAME_UNIQUE, TEST_CASE_GENERATED_NAME_UNIQUE_STR, PrettyName, TFlagsOrTags)
 
#define TEST_CASE_NAMED(ClassName, PrettyName, TFlagsOrTags)   TEST_CASE_NAMED_STR(ClassName, #ClassName, PrettyName, TFlagsOrTags)
 
#define MAKE_UNIQUE_IDENT(str)   LLT_JOIN(str, __LINE__)
 
#define DISABLED_TEST_CASE(...)   static void MAKE_UNIQUE_IDENT(disabled_test_()
 
#define DISABLED_TEST_CASE_NAMED(ClassName, ...)   static void MAKE_UNIQUE_IDENT(disabled_test_)()
 
#define DISABLED_SCENARIO(...)   static void MAKE_UNIQUE_IDENT(disabled_scenario_)()
 
#define DISABLED_SECTION(...)   auto MAKE_UNIQUE_IDENT(disabled_section_) = []()
 
#define CHECK(...)   if (!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(TEXT("Condition failed")); }
 
#define CHECK_FALSE(...)   if (!!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(TEXT("Condition expected to return false but returned true")); }
 
#define CHECKED_IF(...)   if (!!(__VA_ARGS__))
 
#define CHECKED_ELSE(...)   if (!(__VA_ARGS__))
 
#define CHECK_MESSAGE(Message, ...)   if (!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(Message); }
 
#define CHECK_FALSE_MESSAGE(Message, ...)   if (!!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(Message); }
 
#define REQUIRE(...)   if (!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(TEXT("Required condition failed, interrupting test")); return; }
 
#define REQUIRE_MESSAGE(Message, ...)   if (!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(Message); return; }
 
#define STATIC_REQUIRE(...)   static_assert(__VA_ARGS__, #__VA_ARGS__);
 
#define STATIC_CHECK(...)   static_assert(__VA_ARGS__, #__VA_ARGS__);
 
#define STATIC_CHECK_FALSE(...)   static_assert(!(__VA_ARGS__), "!(" #__VA_ARGS__ ")");
 
#define CHECK_EQUALS(What, X, Y)   FAutomationTestFramework::Get().GetCurrentTest()->TestEqual(What, X, Y);
 
#define CHECK_EQUALS_SENSITIVE(What, X, Y)   FAutomationTestFramework::Get().GetCurrentTest()->TestEqualSensitive(What, X, Y);
 
#define CHECK_NOT_EQUALS(What, X, Y)   FAutomationTestFramework::Get().GetCurrentTest()->TestNotEqual(What, X, Y);
 
#define CHECK_NOT_EQUALS_SENSITIVE(What, X, Y)   FAutomationTestFramework::Get().GetCurrentTest()->TestNotEqualSensitive(What, X, Y);
 
#define SECTION(Text)   FAutomationTestFramework::Get().GetCurrentTest()->AddInfo(TEXT(Text));
 
#define FAIL_CHECK(Message)   FAutomationTestFramework::Get().GetCurrentTest()->AddError(Message);
 
#define CAPTURE(...)   FAutomationTestFramework::Get().GetCurrentTest()->AddInfo(CaptureExpressionsAndValues(#__VA_ARGS__, __VA_ARGS__));
 
#define INFO(Message)   FAutomationTestFramework::Get().GetCurrentTest()->AddInfo(Message);
 
#define WARN(Message)   FAutomationTestFramework::Get().GetCurrentTest()->AddWarning(Message);
 
#define ADD_WARNING(Message)   FAutomationTestFramework::Get().GetCurrentTest()->AddWarning(Message);
 
#define ADD_ERROR(Message)   FAutomationTestFramework::Get().GetCurrentTest()->AddError(Message);
 
#define FAIL_ON_MESSAGE(Message)   FAutomationTestFramework::Get().GetCurrentTest()->AddExpectedError(Message);
 
#define SKIP(Message)
 

Functions

template<typename... ArgTypes>
FString CaptureExpressionsAndValues (const FString &InExpressions, ArgTypes &&... InExpressionsValues)
 Captures expressions and their evaluated values. Internal use only for the low level tests adapter.
 

Macro Definition Documentation

◆ ADD_ERROR

#define ADD_ERROR (   Message)    FAutomationTestFramework::Get().GetCurrentTest()->AddError(Message);

◆ ADD_WARNING

#define ADD_WARNING (   Message)    FAutomationTestFramework::Get().GetCurrentTest()->AddWarning(Message);

◆ CAPTURE

#define CAPTURE (   ...)    FAutomationTestFramework::Get().GetCurrentTest()->AddInfo(CaptureExpressionsAndValues(#__VA_ARGS__, __VA_ARGS__));

◆ CHECK

#define CHECK (   ...)    if (!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(TEXT("Condition failed")); }

◆ CHECK_EQUALS

#define CHECK_EQUALS (   What,
  X,
  Y 
)    FAutomationTestFramework::Get().GetCurrentTest()->TestEqual(What, X, Y);

◆ CHECK_EQUALS_SENSITIVE

#define CHECK_EQUALS_SENSITIVE (   What,
  X,
  Y 
)    FAutomationTestFramework::Get().GetCurrentTest()->TestEqualSensitive(What, X, Y);

◆ CHECK_FALSE

#define CHECK_FALSE (   ...)    if (!!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(TEXT("Condition expected to return false but returned true")); }

◆ CHECK_FALSE_MESSAGE

#define CHECK_FALSE_MESSAGE (   Message,
  ... 
)    if (!!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(Message); }

◆ CHECK_MESSAGE

#define CHECK_MESSAGE (   Message,
  ... 
)    if (!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(Message); }

◆ CHECK_NOT_EQUALS

#define CHECK_NOT_EQUALS (   What,
  X,
  Y 
)    FAutomationTestFramework::Get().GetCurrentTest()->TestNotEqual(What, X, Y);

◆ CHECK_NOT_EQUALS_SENSITIVE

#define CHECK_NOT_EQUALS_SENSITIVE (   What,
  X,
  Y 
)    FAutomationTestFramework::Get().GetCurrentTest()->TestNotEqualSensitive(What, X, Y);

◆ CHECKED_ELSE

#define CHECKED_ELSE (   ...)    if (!(__VA_ARGS__))

◆ CHECKED_IF

#define CHECKED_IF (   ...)    if (!!(__VA_ARGS__))

◆ DISABLED_SCENARIO

#define DISABLED_SCENARIO (   ...)    static void MAKE_UNIQUE_IDENT(disabled_scenario_)()

◆ DISABLED_SECTION

#define DISABLED_SECTION (   ...)    auto MAKE_UNIQUE_IDENT(disabled_section_) = []()

◆ DISABLED_TEST_CASE

#define DISABLED_TEST_CASE (   ...)    static void MAKE_UNIQUE_IDENT(disabled_test_()

◆ DISABLED_TEST_CASE_NAMED

#define DISABLED_TEST_CASE_NAMED (   ClassName,
  ... 
)    static void MAKE_UNIQUE_IDENT(disabled_test_)()

◆ FAIL_CHECK

#define FAIL_CHECK (   Message)    FAutomationTestFramework::Get().GetCurrentTest()->AddError(Message);

◆ FAIL_ON_MESSAGE

#define FAIL_ON_MESSAGE (   Message)    FAutomationTestFramework::Get().GetCurrentTest()->AddExpectedError(Message);

◆ IMPLEMENT_SIMPLE_AUTOMATION_TEST_PRIVATE_LLT

#define IMPLEMENT_SIMPLE_AUTOMATION_TEST_PRIVATE_LLT (   TClass,
  PrettyName,
  TFlagsOrTags,
  FileName,
  LineNumber 
)

◆ INFO

#define INFO (   Message)    FAutomationTestFramework::Get().GetCurrentTest()->AddInfo(Message);

◆ LLT_JOIN

#define LLT_JOIN (   Prefix,
  Counter 
)    LLT_JOIN_INNER(Prefix, Counter)

◆ LLT_JOIN_INNER

#define LLT_JOIN_INNER (   Prefix,
  Counter 
)    Prefix##Counter

◆ LLT_STR

#define LLT_STR (   Macro)    #Macro

◆ LLT_STR_EXPAND

#define LLT_STR_EXPAND (   Macro)    LLT_STR(Macro)

◆ MAKE_UNIQUE_IDENT

#define MAKE_UNIQUE_IDENT (   str)    LLT_JOIN(str, __LINE__)

◆ REQUIRE

#define REQUIRE (   ...)    if (!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(TEXT("Required condition failed, interrupting test")); return; }

◆ REQUIRE_MESSAGE

#define REQUIRE_MESSAGE (   Message,
  ... 
)    if (!(__VA_ARGS__)) { FAutomationTestFramework::Get().GetCurrentTest()->AddError(Message); return; }

◆ SECTION

#define SECTION (   Text)    FAutomationTestFramework::Get().GetCurrentTest()->AddInfo(TEXT(Text));

◆ SKIP

#define SKIP (   Message)

◆ STATIC_CHECK

#define STATIC_CHECK (   ...)    static_assert(__VA_ARGS__, #__VA_ARGS__);

◆ STATIC_CHECK_FALSE

#define STATIC_CHECK_FALSE (   ...)    static_assert(!(__VA_ARGS__), "!(" #__VA_ARGS__ ")");

◆ STATIC_REQUIRE

#define STATIC_REQUIRE (   ...)    static_assert(__VA_ARGS__, #__VA_ARGS__);

◆ TEST_CASE

◆ TEST_CASE_GENERATED_NAME_UNIQUE

#define TEST_CASE_GENERATED_NAME_UNIQUE   LLT_JOIN(FLLTAdaptedTest, __COUNTER__)

◆ TEST_CASE_GENERATED_NAME_UNIQUE_STR

#define TEST_CASE_GENERATED_NAME_UNIQUE_STR   LLT_STR_EXPAND(TEST_CASE_GENERATED_NAME_UNIQUE)

◆ TEST_CASE_NAMED

#define TEST_CASE_NAMED (   ClassName,
  PrettyName,
  TFlagsOrTags 
)    TEST_CASE_NAMED_STR(ClassName, #ClassName, PrettyName, TFlagsOrTags)

◆ TEST_CASE_NAMED_STR

#define TEST_CASE_NAMED_STR (   TClass,
  StrName,
  PrettyName,
  TFlagsOrTags 
)
Value:
namespace \
{ \
} \
void TClass::TestBody(const FString& Parameters)
#define TEXT(x)
Definition Platform.h:1272
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define IMPLEMENT_SIMPLE_AUTOMATION_TEST_PRIVATE_LLT(TClass, PrettyName, TFlagsOrTags, FileName, LineNumber)
Definition LowLevelTestAdapter.h:51
#define LLT_JOIN(Prefix, Counter)
Definition LowLevelTestAdapter.h:92

◆ WARN

#define WARN (   Message)    FAutomationTestFramework::Get().GetCurrentTest()->AddWarning(Message);

Function Documentation

◆ CaptureExpressionsAndValues()

template<typename... ArgTypes>
FString CaptureExpressionsAndValues ( const FString &  InExpressions,
ArgTypes &&...  InExpressionsValues 
)

Captures expressions and their evaluated values. Internal use only for the low level tests adapter.

Parameters
InExpressionsComma-separated list of expressions
InExperssionsValuesThe list of evaluated expressions values