mirror of
https://github.com/minetest/irrlicht.git
synced 2024-12-28 03:30:30 +01:00
f5c6d3e945
find -type f | # list all regular files grep -E '\.(h|cpp|mm)$' | # filter for source files grep -v '/mt_' | # filter out generated files grep -v '/vendor/' | # and vendored GL grep -v '/test/image_loader_test.cpp' | # and this file (has giant literals arrays) xargs -n 1 -P $(nproc) clang-format -i # reformat everything Co-authored-by: numzero <numzer0@yandex.ru>
34 lines
1.5 KiB
C++
34 lines
1.5 KiB
C++
#pragma once
|
|
|
|
#include <exception>
|
|
#include <iostream>
|
|
|
|
class TestFailedException : public std::exception
|
|
{
|
|
};
|
|
|
|
// Asserts the comparison specified by CMP is true, or fails the current unit test
|
|
#define UASSERTCMP(CMP, actual, expected) \
|
|
do { \
|
|
const auto &a = (actual); \
|
|
const auto &e = (expected); \
|
|
if (!CMP(a, e)) { \
|
|
std::cout \
|
|
<< "Test assertion failed: " << #actual << " " << #CMP << " " \
|
|
<< #expected << std::endl \
|
|
<< " at " << __FILE__ << ":" << __LINE__ << std::endl \
|
|
<< " actual: " << a << std::endl \
|
|
<< " expected: " \
|
|
<< e << std::endl; \
|
|
throw TestFailedException(); \
|
|
} \
|
|
} while (0)
|
|
|
|
#define CMPEQ(a, e) (a == e)
|
|
#define CMPTRUE(a, e) (a)
|
|
#define CMPNE(a, e) (a != e)
|
|
|
|
#define UASSERTEQ(actual, expected) UASSERTCMP(CMPEQ, actual, expected)
|
|
#define UASSERTNE(actual, nexpected) UASSERTCMP(CMPNE, actual, nexpected)
|
|
#define UASSERT(actual) UASSERTCMP(CMPTRUE, actual, true)
|