|
一个简单例子:
/*被测程序*/
int Fun(int in)
{
if (in >= 0)
{
return 1;
}
else
{
return -1;
}
}
那么通过TCL进行扩展指令编写时,针对该被测函数,驱动如下:
/*用户自己扩展的用户指令,用来驱动被测函数*/
int Ex_TestFun(ClientData clientData,Tcl_Interp * interp,int argc, char* argv[])
{
int i;
int ret,iExceptedRet;
//打开测试结果记录文件
FILE * out;
out = fopen("D:\\result.txt","a");
//第一步:检查用户输入参数个数是否正确
if (3 != argc)
{
fputs("Parameters error",out);
fflush(out);
return TCL_ERROR;
}
//第二步:取出用户输入参数
if (TCL_OK != Tcl_GetInt(interp,argv[1],&i))
{
return TCL_ERROR;
}
if (TCL_OK != Tcl_GetInt(interp,argv[2],&iExceptedRet))
{
return TCL_ERROR;
}
//第三步:将参数传递给被测函数
ret = Fun(i);
//第四步:将被测函数执行结果和输入的期望结果进行比较,根据比较结果作为用例执行结果输出到测试报告中
if (ret != iExceptedRet)
{
fputs("test fail",out);
fflush(out);
}
else
{
fputs("test success",out);
fflush(out);
}
return TCL_OK;
} |
|