]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/lib/test.qh
Merge branch 'master' into terencehill/translated_keys
[xonotic/xonotic-data.pk3dir.git] / qcsrc / lib / test.qh
index af00f979ca0175dd8a5316e64525763b819adbf4..e806db754735d03b4e57e7a02193392682663bc7 100644 (file)
@@ -5,7 +5,7 @@
 /** Use UpperCamelCase for suite and test only */
 #define TEST(suite, test) \
        void _TEST_##suite##_##test(); \
-       [[accumulate]] int TEST_RunAll_accumulated(int f) { \
+       ACCUMULATE int TEST_RunAll_accumulated(int f) { \
                if (!TEST_Run(#suite "_" #test)) ++f; \
                return = f; \
        } \
 #define SUCCEED() (TEST_ok = true)
 
 /** Add a failure, but continue */
-#define ADD_FAILURE(msg) MACRO_BEGIN { ++TEST_failed; LOG_WARNINGF(msg); } MACRO_END
+#define ADD_FAILURE(msg) MACRO_BEGIN \
+       ++TEST_failed; \
+       LOG_WARN(msg); \
+MACRO_END
 
 /** Add a failure and return */
 #define FAIL(msg) _TEST_ASSERT(ADD_FAILURE(msg))
@@ -26,7 +29,7 @@ bool RUN_ALL_TESTS();
 
 // difference between expect/assert: assert returns early
 
-#define EXPECT_EQ(expected_, actual_) MACRO_BEGIN \
+#define EXPECT_EQ(expected_, actual_) MACRO_BEGIN \
        int expected = expected_; \
        int actual = actual_; \
        if ((expected) != (actual)) { \
@@ -37,7 +40,7 @@ bool RUN_ALL_TESTS();
                        actual, expected \
                )); \
        } \
-MACRO_END
+MACRO_END
 #define ASSERT_EQ(expected, actual) _TEST_ASSERT(EXPECT_EQ(expected, actual))
 
 #define EXPECT_TRUE(condition) EXPECT_EQ(true, condition)
@@ -46,19 +49,19 @@ bool RUN_ALL_TESTS();
 #define EXPECT_FALSE(condition) EXPECT_EQ(false, condition)
 #define ASSERT_FALSE(condition) ASSERT_EQ(false, condition)
 
-#define EXPECT_NE(val1, val2) EXPECT_TRUE(val1 != val2)
+#define EXPECT_NE(val1, val2) EXPECT_TRUE((val1) != (val2))
 #define ASSERT_NE(val1, val2) _TEST_ASSERT(EXPECT_NE(val1, val2))
 
-#define EXPECT_LT(val1, val2) EXPECT_TRUE(val1 < val2)
+#define EXPECT_LT(val1, val2) EXPECT_TRUE((val1) < (val2))
 #define ASSERT_LT(val1, val2) _TEST_ASSERT(EXPECT_LT(val1, val2))
 
-#define EXPECT_LE(val1, val2) EXPECT_TRUE(val1 <= val2)
+#define EXPECT_LE(val1, val2) EXPECT_TRUE((val1) <= (val2))
 #define ASSERT_LE(val1, val2) _TEST_ASSERT(EXPECT_LE(val1, val2))
 
-#define EXPECT_GT(val1, val2) EXPECT_TRUE(val1 > val2)
+#define EXPECT_GT(val1, val2) EXPECT_TRUE((val1) > (val2))
 #define ASSERT_GT(val1, val2) _TEST_ASSERT(EXPECT_GT(val1, val2))
 
-#define EXPECT_GE(val1, val2) EXPECT_TRUE(val1 >= val2)
+#define EXPECT_GE(val1, val2) EXPECT_TRUE((val1) >= (val2))
 #define ASSERT_GE(val1, val2) _TEST_ASSERT(EXPECT_GE(val1, val2))
 
 #define EXPECT_NO_FATAL_FAILURE(statement) EXPECT_NO_FATAL_FAILURE_(statement, { })
@@ -72,22 +75,22 @@ bool TEST_ok;
 int TEST_failed;
 
 #define _TEST_ASSERT(statement) \
-       MACRO_BEGIN \
+       MACRO_BEGIN \
                LAMBDA(statement); \
                ++TEST_fatal; return; \
-       MACRO_END
+       MACRO_END
 
 #define EXPECT_NO_FATAL_FAILURE__(statement, then) \
-       MACRO_BEGIN \
+       MACRO_BEGIN \
                int TEST_prevfatal = TEST_fatal; \
                LAMBDA(statement); \
                if (TEST_fatal != TEST_prevfatal) \
                        LAMBDA(then); \
-       MACRO_END
+       MACRO_END
 
 #define EXPECT_NO_FATAL_FAILURE_(statement, then) \
        EXPECT_NO_FATAL_FAILURE__(statement, { \
-               LOG_WARNINGF( \
+               LOG_WARNF( \
                        "  Actual: %d fatal failures\n" \
                        "Expected: no fatal failures\n", \
                        TEST_fatal - TEST_prevfatal \