kunit: decrease macro layering for EQ/NE asserts
authorDaniel Latypov <dlatypov@google.com>
Tue, 18 Jan 2022 22:35:06 +0000 (14:35 -0800)
committerShuah Khan <skhan@linuxfoundation.org>
Tue, 25 Jan 2022 20:04:50 +0000 (13:04 -0700)
Introduce KUNIT_BINARY_PTR_ASSERTION to match KUNIT_BINARY_INT_ASSERTION
and make KUNIT_EXPECT_EQ and KUNIT_EXPECT_PTREQ use these instead of
shared intermediate macros that only remove the need to type "==" or
"!=".

The current macro chain looks like:
KUNIT_EXPECT_EQ_MSG => KUNIT_BINARY_EQ_MSG_ASSERTION => KUNIT_BASE_EQ_MSG_ASSERTION => KUNIT_BASE_BINARY_ASSERTION
KUNIT_EXPECT_PTR_EQ_MSG => KUNIT_BINARY_PTR_EQ_MSG_ASSERTION => KUNIT_BASE_EQ_MSG_ASSERTION => KUNIT_BASE_BINARY_ASSERTION
<ditto for NE and ASSERT>

After this change:
KUNIT_EXPECT_EQ_MSG => KUNIT_BINARY_INT_ASSERTION => KUNIT_BASE_BINARY_ASSERTION
KUNIT_EXPECT_PTR_EQ_MSG => KUNIT_BINARY_PTR_ASSERTION => KUNIT_BASE_BINARY_ASSERTION

Signed-off-by: Daniel Latypov <dlatypov@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
include/kunit/test.h

index 48cf520b69ce6f23c1fe75e1bd188035d2cbbf5b..bf82c313223b27e2e2c6e8ae7beab1246f44d2cf 100644 (file)
@@ -888,48 +888,6 @@ do {                                                                              \
                        ##__VA_ARGS__);                                        \
 } while (0)
 
-#define KUNIT_BASE_EQ_MSG_ASSERTION(test,                                     \
-                                   assert_class,                              \
-                                   ASSERT_CLASS_INIT,                         \
-                                   assert_type,                               \
-                                   left,                                      \
-                                   right,                                     \
-                                   fmt,                                       \
-                                   ...)                                       \
-       KUNIT_BASE_BINARY_ASSERTION(test,                                      \
-                                   assert_class,                              \
-                                   ASSERT_CLASS_INIT,                         \
-                                   assert_type,                               \
-                                   left, ==, right,                           \
-                                   fmt,                                       \
-                                   ##__VA_ARGS__)
-
-#define KUNIT_BASE_NE_MSG_ASSERTION(test,                                     \
-                                   assert_class,                              \
-                                   ASSERT_CLASS_INIT,                         \
-                                   assert_type,                               \
-                                   left,                                      \
-                                   right,                                     \
-                                   fmt,                                       \
-                                   ...)                                       \
-       KUNIT_BASE_BINARY_ASSERTION(test,                                      \
-                                   assert_class,                              \
-                                   ASSERT_CLASS_INIT,                         \
-                                   assert_type,                               \
-                                   left, !=, right,                           \
-                                   fmt,                                       \
-                                   ##__VA_ARGS__)
-
-#define KUNIT_BINARY_EQ_MSG_ASSERTION(test, assert_type, left, right, fmt, ...)\
-       KUNIT_BASE_EQ_MSG_ASSERTION(test,                                      \
-                                   kunit_binary_assert,                       \
-                                   KUNIT_INIT_BINARY_ASSERT_STRUCT,           \
-                                   assert_type,                               \
-                                   left,                                      \
-                                   right,                                     \
-                                   fmt,                                       \
-                                   ##__VA_ARGS__)
-
 #define KUNIT_BINARY_INT_ASSERTION(test,                                      \
                                   assert_type,                                \
                                   left,                                       \
@@ -945,43 +903,18 @@ do {                                                                             \
                                    fmt,                                       \
                                    ##__VA_ARGS__)
 
-#define KUNIT_BINARY_PTR_EQ_MSG_ASSERTION(test,                                       \
-                                         assert_type,                         \
-                                         left,                                \
-                                         right,                               \
-                                         fmt,                                 \
-                                         ...)                                 \
-       KUNIT_BASE_EQ_MSG_ASSERTION(test,                                      \
-                                   kunit_binary_ptr_assert,                   \
-                                   KUNIT_INIT_BINARY_PTR_ASSERT_STRUCT,       \
-                                   assert_type,                               \
-                                   left,                                      \
-                                   right,                                     \
-                                   fmt,                                       \
-                                   ##__VA_ARGS__)
-
-#define KUNIT_BINARY_NE_MSG_ASSERTION(test, assert_type, left, right, fmt, ...)\
-       KUNIT_BASE_NE_MSG_ASSERTION(test,                                      \
-                                   kunit_binary_assert,                       \
-                                   KUNIT_INIT_BINARY_ASSERT_STRUCT,           \
-                                   assert_type,                               \
-                                   left,                                      \
-                                   right,                                     \
-                                   fmt,                                       \
-                                   ##__VA_ARGS__)
-
-#define KUNIT_BINARY_PTR_NE_MSG_ASSERTION(test,                                       \
-                                         assert_type,                         \
-                                         left,                                \
-                                         right,                               \
-                                         fmt,                                 \
-                                         ...)                                 \
-       KUNIT_BASE_NE_MSG_ASSERTION(test,                                      \
+#define KUNIT_BINARY_PTR_ASSERTION(test,                                      \
+                                  assert_type,                                \
+                                  left,                                       \
+                                  op,                                         \
+                                  right,                                      \
+                                  fmt,                                        \
+                                   ...)                                       \
+       KUNIT_BASE_BINARY_ASSERTION(test,                                      \
                                    kunit_binary_ptr_assert,                   \
                                    KUNIT_INIT_BINARY_PTR_ASSERT_STRUCT,       \
                                    assert_type,                               \
-                                   left,                                      \
-                                   right,                                     \
+                                   left, op, right,                           \
                                    fmt,                                       \
                                    ##__VA_ARGS__)
 
@@ -1082,12 +1015,11 @@ do {                                                                           \
        KUNIT_EXPECT_EQ_MSG(test, left, right, NULL)
 
 #define KUNIT_EXPECT_EQ_MSG(test, left, right, fmt, ...)                      \
-       KUNIT_BINARY_EQ_MSG_ASSERTION(test,                                    \
-                                     KUNIT_EXPECTATION,                       \
-                                     left,                                    \
-                                     right,                                   \
-                                     fmt,                                     \
-                                     ##__VA_ARGS__)
+       KUNIT_BINARY_INT_ASSERTION(test,                                       \
+                                  KUNIT_EXPECTATION,                          \
+                                  left, ==, right,                            \
+                                  fmt,                                        \
+                                   ##__VA_ARGS__)
 
 /**
  * KUNIT_EXPECT_PTR_EQ() - Expects that pointers @left and @right are equal.
@@ -1104,12 +1036,11 @@ do {                                                                           \
        KUNIT_EXPECT_PTR_EQ_MSG(test, left, right, NULL)
 
 #define KUNIT_EXPECT_PTR_EQ_MSG(test, left, right, fmt, ...)                  \
-       KUNIT_BINARY_PTR_EQ_MSG_ASSERTION(test,                                \
-                                         KUNIT_EXPECTATION,                   \
-                                         left,                                \
-                                         right,                               \
-                                         fmt,                                 \
-                                         ##__VA_ARGS__)
+       KUNIT_BINARY_PTR_ASSERTION(test,                                       \
+                                  KUNIT_EXPECTATION,                          \
+                                  left, ==, right,                            \
+                                  fmt,                                        \
+                                  ##__VA_ARGS__)
 
 /**
  * KUNIT_EXPECT_NE() - An expectation that @left and @right are not equal.
@@ -1126,12 +1057,11 @@ do {                                                                           \
        KUNIT_EXPECT_NE_MSG(test, left, right, NULL)
 
 #define KUNIT_EXPECT_NE_MSG(test, left, right, fmt, ...)                      \
-       KUNIT_BINARY_NE_MSG_ASSERTION(test,                                    \
-                                     KUNIT_EXPECTATION,                       \
-                                     left,                                    \
-                                     right,                                   \
-                                     fmt,                                     \
-                                     ##__VA_ARGS__)
+       KUNIT_BINARY_INT_ASSERTION(test,                                       \
+                                  KUNIT_EXPECTATION,                          \
+                                  left, !=, right,                            \
+                                  fmt,                                        \
+                                   ##__VA_ARGS__)
 
 /**
  * KUNIT_EXPECT_PTR_NE() - Expects that pointers @left and @right are not equal.
@@ -1148,12 +1078,11 @@ do {                                                                           \
        KUNIT_EXPECT_PTR_NE_MSG(test, left, right, NULL)
 
 #define KUNIT_EXPECT_PTR_NE_MSG(test, left, right, fmt, ...)                  \
-       KUNIT_BINARY_PTR_NE_MSG_ASSERTION(test,                                \
-                                         KUNIT_EXPECTATION,                   \
-                                         left,                                \
-                                         right,                               \
-                                         fmt,                                 \
-                                         ##__VA_ARGS__)
+       KUNIT_BINARY_PTR_ASSERTION(test,                                       \
+                                  KUNIT_EXPECTATION,                          \
+                                  left, !=, right,                            \
+                                  fmt,                                        \
+                                  ##__VA_ARGS__)
 
 /**
  * KUNIT_EXPECT_LT() - An expectation that @left is less than @right.
@@ -1358,12 +1287,11 @@ do {                                                                           \
        KUNIT_ASSERT_EQ_MSG(test, left, right, NULL)
 
 #define KUNIT_ASSERT_EQ_MSG(test, left, right, fmt, ...)                      \
-       KUNIT_BINARY_EQ_MSG_ASSERTION(test,                                    \
-                                     KUNIT_ASSERTION,                         \
-                                     left,                                    \
-                                     right,                                   \
-                                     fmt,                                     \
-                                     ##__VA_ARGS__)
+       KUNIT_BINARY_INT_ASSERTION(test,                                       \
+                                  KUNIT_ASSERTION,                            \
+                                  left, ==, right,                            \
+                                  fmt,                                        \
+                                   ##__VA_ARGS__)
 
 /**
  * KUNIT_ASSERT_PTR_EQ() - Asserts that pointers @left and @right are equal.
@@ -1379,12 +1307,11 @@ do {                                                                           \
        KUNIT_ASSERT_PTR_EQ_MSG(test, left, right, NULL)
 
 #define KUNIT_ASSERT_PTR_EQ_MSG(test, left, right, fmt, ...)                  \
-       KUNIT_BINARY_PTR_EQ_MSG_ASSERTION(test,                                \
-                                         KUNIT_ASSERTION,                     \
-                                         left,                                \
-                                         right,                               \
-                                         fmt,                                 \
-                                         ##__VA_ARGS__)
+       KUNIT_BINARY_PTR_ASSERTION(test,                                       \
+                                  KUNIT_ASSERTION,                            \
+                                  left, ==, right,                            \
+                                  fmt,                                        \
+                                  ##__VA_ARGS__)
 
 /**
  * KUNIT_ASSERT_NE() - An assertion that @left and @right are not equal.
@@ -1400,12 +1327,11 @@ do {                                                                           \
        KUNIT_ASSERT_NE_MSG(test, left, right, NULL)
 
 #define KUNIT_ASSERT_NE_MSG(test, left, right, fmt, ...)                      \
-       KUNIT_BINARY_NE_MSG_ASSERTION(test,                                    \
-                                     KUNIT_ASSERTION,                         \
-                                     left,                                    \
-                                     right,                                   \
-                                     fmt,                                     \
-                                     ##__VA_ARGS__)
+       KUNIT_BINARY_INT_ASSERTION(test,                                       \
+                                  KUNIT_ASSERTION,                            \
+                                  left, !=, right,                            \
+                                  fmt,                                        \
+                                   ##__VA_ARGS__)
 
 /**
  * KUNIT_ASSERT_PTR_NE() - Asserts that pointers @left and @right are not equal.
@@ -1422,12 +1348,11 @@ do {                                                                           \
        KUNIT_ASSERT_PTR_NE_MSG(test, left, right, NULL)
 
 #define KUNIT_ASSERT_PTR_NE_MSG(test, left, right, fmt, ...)                  \
-       KUNIT_BINARY_PTR_NE_MSG_ASSERTION(test,                                \
-                                         KUNIT_ASSERTION,                     \
-                                         left,                                \
-                                         right,                               \
-                                         fmt,                                 \
-                                         ##__VA_ARGS__)
+       KUNIT_BINARY_PTR_ASSERTION(test,                                       \
+                                  KUNIT_ASSERTION,                            \
+                                  left, !=, right,                            \
+                                  fmt,                                        \
+                                  ##__VA_ARGS__)
 /**
  * KUNIT_ASSERT_LT() - An assertion that @left is less than @right.
  * @test: The test context object.