1. /*打桩的宏*/
#defineINSTALL_USERTYPE_STUB(OrgFuncName,StubFuncName) \
if (0 == KKInstallStub(OrgFuncName, StubFuncName, STUB_TYPE_USER)) \
{ \
(VOID)KKLog(#OrgFuncName" fail to install stub "); \
KKSetResult(TC_FAIL);\
}
2./*卸桩宏*/
#define UNINSTALL_STUB(funcName) \
if(0 == KKUninstallStub(funcName)) \
{ \
(VOID)KKLog(#funcName" fail to uninstall stub"); \
KKSetResult(TC_FAIL);\
}
3.命令行下发
#define COMMITCMD(cmdbuf) { \
if ( CLI_CommitCmdWord(99/*ulExecId*/,cmdbu)&&(0!= VOS_StrCmp("quit", cmdbuff))) \
{(VOID)KKLog("Commandfail at line %d", __LINE__);} \
CLI_CmdParse(99); \
(VOID)VOS_TaskDelay(10);}
测试脚本写作注意项:
1.指针使用前必须判空,所有的指针;
2.函数的错误返回值必须加以判断,且用KKLOG打印;
3.脚本流程不加以强求,但必须是每个脚本结束时,预置条件必须清除干净;
4.预置条件中尽可能的使用命令来配置;
5.脚本中尽可能多的加LOG;
6.使用goto时,必须只能向前跳,不能向后跳