X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Funittest%2Ftest.h;h=1102f6d33b2b77c41d5984f6f27dc66a954cd69e;hb=6ccb5835ff55d85156be91473c598eca9d6cb9a6;hp=c4351a67bfc988901789cad57558f52fac14a641;hpb=921151d97a2fb2238ab514324fb95e2732248b96;p=dragonfireclient.git diff --git a/src/unittest/test.h b/src/unittest/test.h index c4351a67b..1102f6d33 100644 --- a/src/unittest/test.h +++ b/src/unittest/test.h @@ -31,7 +31,7 @@ class TestFailedException : public std::exception { }; // Runs a unit test and reports results -#define TEST(fxn, ...) do { \ +#define TEST(fxn, ...) { \ u64 t1 = porting::getTimeMs(); \ try { \ fxn(__VA_ARGS__); \ @@ -47,21 +47,20 @@ class TestFailedException : public std::exception { num_tests_run++; \ u64 tdiff = porting::getTimeMs() - t1; \ rawstream << #fxn << " - " << tdiff << "ms" << std::endl; \ -} while (0) +} // Asserts the specified condition is true, or fails the current unit test -#define UASSERT(x) do { \ +#define UASSERT(x) \ if (!(x)) { \ rawstream << "Test assertion failed: " #x << std::endl \ << " at " << fs::GetFilenameFromPath(__FILE__) \ << ":" << __LINE__ << std::endl; \ throw TestFailedException(); \ - } \ -} while (0) + } // Asserts the specified condition is true, or fails the current unit test // and prints the format specifier fmt -#define UTEST(x, fmt, ...) do { \ +#define UTEST(x, fmt, ...) \ if (!(x)) { \ char utest_buf[1024]; \ snprintf(utest_buf, sizeof(utest_buf), fmt, __VA_ARGS__); \ @@ -69,11 +68,10 @@ class TestFailedException : public std::exception { << " at " << fs::GetFilenameFromPath(__FILE__) \ << ":" << __LINE__ << std::endl; \ throw TestFailedException(); \ - } \ -} while (0) + } // Asserts the comparison specified by CMP is true, or fails the current unit test -#define UASSERTCMP(T, CMP, actual, expected) do { \ +#define UASSERTCMP(T, CMP, actual, expected) { \ T a = (actual); \ T e = (expected); \ if (!(a CMP e)) { \ @@ -86,12 +84,12 @@ class TestFailedException : public std::exception { << e << std::endl; \ throw TestFailedException(); \ } \ -} while (0) +} #define UASSERTEQ(T, actual, expected) UASSERTCMP(T, ==, actual, expected) // UASSERTs that the specified exception occurs -#define EXCEPTION_CHECK(EType, code) do { \ +#define EXCEPTION_CHECK(EType, code) { \ bool exception_thrown = false; \ try { \ code; \ @@ -99,7 +97,7 @@ class TestFailedException : public std::exception { exception_thrown = true; \ } \ UASSERT(exception_thrown); \ -} while (0) +} class IGameDef;