[components][utest] 将 utest_assert.h 加入 utest.h,以后测试用例仅需要包含 utest.h
[components][utest] 增加 buf 类型的字节比较 assert 宏 [components][utest] 修复错误日志打印的输出类型为 ERR 级别 Signed-off-by: MurphyZhao <d2014zjt@163.com>
This commit is contained in:
parent
bef1d55736
commit
f9e5d87c98
|
@ -112,7 +112,7 @@ static void utest_run(const char *utest_name)
|
||||||
{
|
{
|
||||||
if (tc_table[i].init() != RT_EOK)
|
if (tc_table[i].init() != RT_EOK)
|
||||||
{
|
{
|
||||||
LOG_I("[ FAILED ] [ result ] testcase (%s)", tc_table[i].name);
|
LOG_E("[ FAILED ] [ result ] testcase (%s)", tc_table[i].name);
|
||||||
goto __tc_continue;
|
goto __tc_continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -126,19 +126,19 @@ static void utest_run(const char *utest_name)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LOG_I("[ FAILED ] [ result ] testcase (%s)", tc_table[i].name);
|
LOG_E("[ FAILED ] [ result ] testcase (%s)", tc_table[i].name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LOG_I("[ FAILED ] [ result ] testcase (%s)", tc_table[i].name);
|
LOG_E("[ FAILED ] [ result ] testcase (%s)", tc_table[i].name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tc_table[i].cleanup != RT_NULL)
|
if (tc_table[i].cleanup != RT_NULL)
|
||||||
{
|
{
|
||||||
if (tc_table[i].cleanup() != RT_EOK)
|
if (tc_table[i].cleanup() != RT_EOK)
|
||||||
{
|
{
|
||||||
LOG_I("[ FAILED ] [ result ] testcase (%s)", tc_table[i].name);
|
LOG_E("[ FAILED ] [ result ] testcase (%s)", tc_table[i].name);
|
||||||
goto __tc_continue;
|
goto __tc_continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -236,3 +236,34 @@ void utest_assert_string(const char *a, const char *b, rt_bool_t equal, const ch
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void utest_assert_buf(const char *a, const char *b, rt_size_t sz, rt_bool_t equal, const char *file, int line, const char *func, const char *msg)
|
||||||
|
{
|
||||||
|
if (a == RT_NULL || b == RT_NULL)
|
||||||
|
{
|
||||||
|
utest_assert(0, file, line, func, msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (equal)
|
||||||
|
{
|
||||||
|
if (rt_memcmp(a, b, sz) == 0)
|
||||||
|
{
|
||||||
|
utest_assert(1, file, line, func, msg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
utest_assert(0, file, line, func, msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (rt_memcmp(a, b, sz) == 0)
|
||||||
|
{
|
||||||
|
utest_assert(0, file, line, func, msg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
utest_assert(1, file, line, func, msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#include "utest_log.h"
|
#include "utest_log.h"
|
||||||
|
#include "utest_assert.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* utest_error
|
* utest_error
|
||||||
|
@ -57,7 +58,7 @@ typedef struct utest *utest_t;
|
||||||
* Will export the data to `UtestTcTab` section in flash.
|
* Will export the data to `UtestTcTab` section in flash.
|
||||||
*
|
*
|
||||||
* @member name Testcase name.
|
* @member name Testcase name.
|
||||||
* @member run_timeout Testcase maximum test time.
|
* @member run_timeout Testcase maximum test time (Time unit: seconds).
|
||||||
* @member init Necessary initialization before executing the test case function.
|
* @member init Necessary initialization before executing the test case function.
|
||||||
* @member tc Total number of tests failed.
|
* @member tc Total number of tests failed.
|
||||||
* @member cleanup Total number of tests failed.
|
* @member cleanup Total number of tests failed.
|
||||||
|
@ -125,7 +126,7 @@ utest_t utest_handle_get(void);
|
||||||
* @param name The testcase name.
|
* @param name The testcase name.
|
||||||
* @param init The initialization function of the test case.
|
* @param init The initialization function of the test case.
|
||||||
* @param cleanup The cleanup function of the test case.
|
* @param cleanup The cleanup function of the test case.
|
||||||
* @param timeout Testcase maximum test time.
|
* @param timeout Testcase maximum test time (Time unit: seconds).
|
||||||
*
|
*
|
||||||
* @return None
|
* @return None
|
||||||
*
|
*
|
||||||
|
|
|
@ -19,6 +19,7 @@ void utest_assert(int value, const char *file, int line, const char *func, const
|
||||||
|
|
||||||
/* No need for the user to use this function directly */
|
/* No need for the user to use this function directly */
|
||||||
void utest_assert_string(const char *a, const char *b, rt_bool_t equal, const char *file, int line, const char *func, const char *msg);
|
void utest_assert_string(const char *a, const char *b, rt_bool_t equal, const char *file, int line, const char *func, const char *msg);
|
||||||
|
void utest_assert_buf(const char *a, const char *b, rt_size_t sz, rt_bool_t equal, const char *file, int line, const char *func, const char *msg);
|
||||||
|
|
||||||
/* No need for the user to use this macro directly */
|
/* No need for the user to use this macro directly */
|
||||||
#define __utest_assert(value, msg) utest_assert(value, __FILE__, __LINE__, __func__, msg)
|
#define __utest_assert(value, msg) utest_assert(value, __FILE__, __LINE__, __func__, msg)
|
||||||
|
@ -37,6 +38,8 @@ void utest_assert_string(const char *a, const char *b, rt_bool_t equal, const ch
|
||||||
* @macro uassert_int_not_equal if @a not equal to @b, not assert, means passing. Integer type test.
|
* @macro uassert_int_not_equal if @a not equal to @b, not assert, means passing. Integer type test.
|
||||||
* @macro uassert_str_equal if @a equal to @b, not assert, means passing. String type test.
|
* @macro uassert_str_equal if @a equal to @b, not assert, means passing. String type test.
|
||||||
* @macro uassert_str_not_equal if @a not equal to @b, not assert, means passing. String type test.
|
* @macro uassert_str_not_equal if @a not equal to @b, not assert, means passing. String type test.
|
||||||
|
* @macro uassert_buf_equal if @a equal to @b, not assert, means passing. buf type test.
|
||||||
|
* @macro uassert_buf_not_equal if @a not equal to @b, not assert, means passing. buf type test.
|
||||||
* @macro uassert_in_range if @value is in range of min and max, not assert, means passing.
|
* @macro uassert_in_range if @value is in range of min and max, not assert, means passing.
|
||||||
* @macro uassert_not_in_range if @value is not in range of min and max, not assert, means passing.
|
* @macro uassert_not_in_range if @value is not in range of min and max, not assert, means passing.
|
||||||
*
|
*
|
||||||
|
@ -52,6 +55,9 @@ void utest_assert_string(const char *a, const char *b, rt_bool_t equal, const ch
|
||||||
#define uassert_str_equal(a, b) utest_assert_string((const char*)(a), (const char*)(b), RT_TRUE, __FILE__, __LINE__, __func__, "string not equal")
|
#define uassert_str_equal(a, b) utest_assert_string((const char*)(a), (const char*)(b), RT_TRUE, __FILE__, __LINE__, __func__, "string not equal")
|
||||||
#define uassert_str_not_equal(a, b) utest_assert_string((const char*)(a), (const char*)(b), RT_FALSE, __FILE__, __LINE__, __func__, "string equal")
|
#define uassert_str_not_equal(a, b) utest_assert_string((const char*)(a), (const char*)(b), RT_FALSE, __FILE__, __LINE__, __func__, "string equal")
|
||||||
|
|
||||||
|
#define uassert_buf_equal(a, b, sz) utest_assert_buf((const char*)(a), (const char*)(b), (sz), RT_TRUE, __FILE__, __LINE__, __func__, "buf not equal")
|
||||||
|
#define uassert_buf_not_equal(a, b, sz) utest_assert_buf((const char*)(a), (const char*)(b), (sz), RT_FALSE, __FILE__, __LINE__, __func__, "buf equal")
|
||||||
|
|
||||||
#define uassert_in_range(value, min, max) __utest_assert(((value >= min) && (value <= max)), "(" #value ") not in range("#min","#max")")
|
#define uassert_in_range(value, min, max) __utest_assert(((value >= min) && (value <= max)), "(" #value ") not in range("#min","#max")")
|
||||||
#define uassert_not_in_range(value, min, max) __utest_assert(!((value >= min) && (value <= max)), "(" #value ") in range("#min","#max")")
|
#define uassert_not_in_range(value, min, max) __utest_assert(!((value >= min) && (value <= max)), "(" #value ") in range("#min","#max")")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue