]> git.sur5r.net Git - u-boot/blobdiff - include/test/ut.h
ARM: uniphier: update DRAM init code for LD20 SoC
[u-boot] / include / test / ut.h
index 275f27ffeaec878200dc0ff9a0bf75d65db19b83..85434d785a835a76575f033b5f81b371610102c7 100644 (file)
@@ -9,15 +9,17 @@
 #ifndef __TEST_UT_H
 #define __TEST_UT_H
 
+#include <linux/err.h>
+
 struct unit_test_state;
 
 /**
  * ut_fail() - Record failure of a unit test
  *
  * @uts: Test state
- * @fname: Filename where the error occured
- * @line: Line number where the error occured
- * @func: Function name where the error occured
+ * @fname: Filename where the error occurred
+ * @line: Line number where the error occurred
+ * @func: Function name where the error occurred
  * @cond: The condition that failed
  */
 void ut_fail(struct unit_test_state *uts, const char *fname, int line,
@@ -27,9 +29,9 @@ void ut_fail(struct unit_test_state *uts, const char *fname, int line,
  * ut_failf() - Record failure of a unit test
  *
  * @uts: Test state
- * @fname: Filename where the error occured
- * @line: Line number where the error occured
- * @func: Function name where the error occured
+ * @fname: Filename where the error occurred
+ * @line: Line number where the error occurred
+ * @func: Function name where the error occurred
  * @cond: The condition that failed
  * @fmt: printf() format string for the error, followed by args
  */
@@ -42,7 +44,7 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line,
 #define ut_assert(cond)                                                        \
        if (!(cond)) {                                                  \
                ut_fail(uts, __FILE__, __LINE__, __func__, #cond);      \
-               return -1;                                              \
+               return CMD_RET_FAILURE;                                 \
        }
 
 /* Assert that a condition is non-zero, with printf() string */
@@ -50,7 +52,7 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line,
        if (!(cond)) {                                                  \
                ut_failf(uts, __FILE__, __LINE__, __func__, #cond,      \
                         fmt, ##args);                                  \
-               return -1;                                              \
+               return CMD_RET_FAILURE;                                 \
        }
 
 /* Assert that two int expressions are equal */
@@ -61,7 +63,7 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line,
                ut_failf(uts, __FILE__, __LINE__, __func__,             \
                         #expr1 " == " #expr2,                          \
                         "Expected %d, got %d", val1, val2);            \
-               return -1;                                              \
+               return CMD_RET_FAILURE;                                 \
        }                                                               \
 }
 
@@ -73,7 +75,7 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line,
                ut_failf(uts, __FILE__, __LINE__, __func__,             \
                         #expr1 " = " #expr2,                           \
                         "Expected \"%s\", got \"%s\"", val1, val2);    \
-               return -1;                                              \
+               return CMD_RET_FAILURE;                                 \
        }                                                               \
 }
 
@@ -85,7 +87,7 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line,
                ut_failf(uts, __FILE__, __LINE__, __func__,             \
                         #expr1 " = " #expr2,                           \
                         "Expected %p, got %p", val1, val2);            \
-               return -1;                                              \
+               return CMD_RET_FAILURE;                                 \
        }                                                               \
 }
 
@@ -97,7 +99,20 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line,
                ut_failf(uts, __FILE__, __LINE__, __func__,             \
                         #expr " = NULL",                               \
                         "Expected non-null, got NULL");                \
-               return -1;                                              \
+               return CMD_RET_FAILURE;                                 \
+       }                                                               \
+}
+
+/* Assert that a pointer is not an error pointer */
+#define ut_assertok_ptr(expr) {                                        \
+       const void *val = (expr);                                       \
+                                                                       \
+       if (IS_ERR(val)) {                                              \
+               ut_failf(uts, __FILE__, __LINE__, __func__,             \
+                        #expr " = NULL",                               \
+                        "Expected pointer, got error %ld",             \
+                        PTR_ERR(val));                                 \
+               return CMD_RET_FAILURE;                                 \
        }                                                               \
 }