ProcessOneFile(fdata.cFileName + strlen("test-suite-"));
}
}while(FindNextFile(hFind, &fdata));
FindClose(hFind);
printf("all file processed\n");
getchar();
return 0;
}
3 代码使用说明
1.在使用此代码进行测试前还必须安装ActivePerl,gawk,UnxUtils这几个软件包并配置好相应的路径。
2.然后修改misc-simple.tcl文件,将其中set quiet false这行语句去掉,否则测试时将不断调用xgraph,影响连续测试。
3.如果运行nstest不带任何参数,则运行所有的测试直到测试出来错误。
也可以用nstest test_name这样的方式调用,其中的test_name只要使用test-suite-*.tcl中的星号部分就可以了,如nstest adaptive-red。
4测试中发现的问题
有一些测试无法通过,估计是由于编译器的差异引起的,如有一些测试生成的数据是5.623,而供比较用的数据是5.622,且只有一两个地方不一致,因此在代码中做了处理,允许这种不一致。再如3.2e-05和3.2e-005这样的差异也认为不是错误。
另外有一些则差别很远,如test-suite-broken.tcl,原因暂时不明,思考中。。。。。