CT 2024.12 提供了多个宏,帮助用户更轻松地编写测试代码。您可以使用测试编辑器中的快捷键( Ctrl + Spacebar)查看并编写所提供的宏。

断言宏

检查条件表达式,并在Test Case选项卡中打印成功/失败。

参数 示例
CS_ASSERT(_b) _b: 条件表达式 CS_ASSERT(val!=1);
CS_ASSERT_MSG(_B, _msg) _B: 条件表达式
_mgs: 当条件表达式为假时打印的消息
CS_ASSERT_MSG(val==1, "val is not 1!");

输出宏

打印Test Case选项卡中特定变量的值。

参数 示例
CS_INT_OUTPUT(_v, _s)
CS_UINT_OUTPUT(_v, _s)
CS_FLT_OUTPUT(_v, _s)
CS_STR_OUTPUT(_v, _s)
v: 变量,用于打印数值
_s: 在Test Case选项卡中显示的名称
CS_INT_OUTPUT(int_var, "int_var_name");
CS_UINT_OUTPUT(unsigned_int_var, "unsigned_int_var_name");
CS_FLT_OUTPUT(float_var, "float_var_name");
CS_STR_OUTPUT(string_var, "string_var_name");

输入宏

将测试数据传递给被测函数。

参数 示例
CS_INT_INPUT(_t, _s)
CS_UINT_INPUT(_t, _s)
CS_FLT_INPUT(_t, _s)
CS_STR_INPUT(_t, _s)
_t: 变量的类型
_s: 在Test Case选项卡中显示的名称
CS_INT_INPUT(int, "int_var_name");
CS_UINT_INPUT(unsigned int, "unsigned_int_var_name");
CS_FLT_INPUT(float, "float_var_name");
CS_STR_INPUT(char*, "string_var_name");

与地址相关的宏

如果在转换后的源代码中存在直接赋值或获取嵌入地址值的部分,则在本地计算机上执行时可能无法正常运行。在这种情况下,可以为虚拟地址使用与地址相关的宏。

说明
CS_VIRTUAL_ADDR(_b,_e) 创建从地址 (_b) 到地址 (_e) 的空间
CS_ADDR_ASSIGN(_t,_a,_v)
CS_ADDR_SET(_t,_a,_v)
将类型 (_t) 的值 (_v) 赋给地址 (_a)
CS_ADDR_GET(_t,_a) 从地址 (_a) 抓取类型 (_t) 的值
CS_VIRTUAL_ADDR_CLEAR() 释放创建的内存空间

地址相关宏示例

// 从 0xFFE40000U 创建大小为 100 的虚拟内存区域。
CS_VIRTUAL_ADDR(0xFFE40000U, 0xFFE40000U+100);

// 将 int 类型的值 10 分配给 0xFFE40000U
CS_ADDR_ASSIGN(int ,0xFFE40000U, 10);
CS_ADDR_SET(int ,0xFFE40000U, 10);

// 将 0xFFE40000U 的值返回变量 a。
int a = CS_ADDR_GET(int ,0xFFE40000U);

// 将 0xFFE40000U 的地址返回到指针类型的变量 ptr 中。
int* ptr = CS_ADDR_PTR(0xFFE40000U);

// 释放创建的内存空间。
CS_VIRTUAL_ADDR_CLEAR();

其他宏

参数 说明 示例
CS_LOG(_msg) _msg: 日志信息 打印用户日志 CS_LOG("User Log");
CS_LOG_FORMAT(_msg, …) _msg: 带格式说明符的日志信息
…: 格式规范引用的参数
以指定格式打印用户日志 CS_LOG_FORMAT("Message: %s", "example");
CS_LOG_FORMAT("Message: %d", 10);
CS_TESTCASENO() 返回当前正在运行的测试的编号 int testCaseNum = CS_TESTCASENO();

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.