Parasoft C++Test常见问题


1. 源代码编译正常,但创建C++test测试用例,执行用例时,文件中定义的静态全局指针变量值并没有被正确设置上值。
被测源代码 XX.CPP
static const char * PATH_STR=".C:\1.txt" ;

int fun1()
{
if( isdirnull(PATH_STR))
return;

}
虽然从代码上看,PATH_STR应当是有值的,但是调试用例发现,PATH_STR的值却为NULL。

找了高手,可能是测试工具生成的测试用例中,会将全局变量默认初始化为0.
所以解决方法真的很简单:只要在测试用例中正确设置那些全局变量值即可。

2 fopen 以 a+ w+方式打开文件总是返回NULL
通常a+\w+方式都能成功,因为文件存在时,可以打开进行写,文件不存在时会创建。 但是我用c++test测试时,fopen总是返回NULL。
查看errno、及其错误信息,结果errno也是0,即没有问题。

FILE *fp = NULL;
if ((fp =fopen("./test/1.txt", “r”)) == NULL)
{
printf(“open fail errno = %d reason = %s \n”, errno, strerrno(errno));
}

最终高人指点,原来c++test有三种桩函数:原函数,安全、用户自定义的。
fopen同时有原函数和安全的,所以会使用安全类型的桩函数,所以总是返回0了。
解决方法很简单:将那些希望调用原函数的安全桩函数注释掉即可。

3.测试用例由于执行时长超过了指定时长而被终止掉。
解决方法:修改测试用例执行的么个用例的最大执行时长,加大该时长,即可解决该问题。
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值