判断所调用的代码
对于不能用数据的计算结果来判断输出的情形,可以用判断所调用代码的方式来代替。
对于调用了底层函数的代码,可以用判断底层函数的调用次数来作为输出,即设置底层输入的call times的输出,请参考底层输入。
对于不适合判断底层函数的调用次数的情形,可以使用插入代码+局部输出的方式来判断。VU定义了一个全局数组:long
vux_var[16],可用于判断代码的调用状态。vux_var会在每个用例执行前清零。下面是一个示例:
if (!(testflag & 2))
{
if
(extend)
{
_INSERT_(vux_var[0] = 1;) //第5行
puts("- check
records and index references"); //第6行
}
else
{
_INSERT_(vux_var[0] = 2;) //第10行
puts("- check
record links");
//第11行
}
_OUTPUT_(long,vux_var[0],'A');
//第13行
}
在上例中,为了判断在某种条件下,结果是调用第6行还是第11行,用插入普通代码 vux_var[0] = 1;
添加了第5行,用同样方法添加了第10行,用局部输出添加了第13行。在用例数据中,通过判断vux_var[0]的结果是否为1,可以判断是否调用了第6行,同样,通过判断vux_var[0]的结果是否为2,可以判断是否调用第11行。
当同一函数需要在不同代码块多次使用vux_var时,可以取不同的index,例如,代码块一使用vux_var[0],代码块二使用vux_var[1],最大为vux_var[15]。 |