RT_Thread的测试框架使用及分析

本文详细介绍了如何使用RT_Thread的测试框架,包括如何编写不使用TestCase框架的简单测试用例,以及如何基于TC框架创建和运行测试用例。通过修改rtconfig.h,添加必要的源码和配置,实现了testfunc1和testfunc2的自动化测试。此外,文章还讨论了TestCase框架的运行机制,并提供了官方测试用例的运行方法。
摘要由CSDN通过智能技术生成

RT_Thread的测试框架使用及分析

为了行文的简单,RT_Thread将简称为RTT。

一个最简单的测试用例(不使用TestCase框架)

RTT的finsh组件,提供了非常强大的调试功能,我们可以将函数输出到finsh上,然后就可以在finsh中手动的调用这个函数,这一点非常的强大。可以说finsh是RTT的调试利器,善用finsh,可以极大的提高开发的效率。

关于finsh的详细的介绍,可以参考《RT_Thread实时操作系统编程指南》的 Finsh Shell系统一章,这里先只是简单的举一个例子。

在application.c中的最后添加如下代码


int testfunc(void)
{
	rt_kprintf("hello, rt-thread!\n");
}

#include <finsh.h>
FINSH_FUNCTION_EXPORT(testfunc, just a test function);

不要忘记在rtconfig.h中使能 RT_USING_FINSH宏.
我们编写了名为 testfunc的函数,然后希望在finsh中挑用它,那么我们需要使用FINSH_FUNCTION_EXPORT宏带两个参数,第一个参数是函数名,第二个参数是对函数的说明,可以是任意字符串,用户可以根据自己的喜好编写,不过建议对函数做客观的说明或介绍。
FINSH_FUNCTION_EXPORT 会函数testfunc输出给finsh,这样finsh就会“知道”有一个函数名为testfunc。

接下来,重新编译工程,启动串口工具,比如putty,windows系统自带的超级终端,或者SecureCRT。
复位开发板,你就可以看到如下信息:

 \ | /
- RT -     Thread Operating System
 / | \     1.1.0 build Apr 15 2012
 2006 - 2012 Copyright by rt-thread team

finsh />


此时,按下Tab键,可以看到如下语句

--function:
testfunc         -- just a test function
list_mem         -- list memory usage information
list_date        -- list date
hello            -- say hello world
version          -- show RT-Thread version information
list_thread      -- list thread
list_sem         -- list semaphone in system
list_event       -- list event in system
list_mutex       -- list mutex in system
list_mailbox     -- list mail box in system
list_msgqueue    -- list message queue in system
list_mempool     -- list memory pool in system
list_timer       -- list timer i
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值