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,原因暫時不明,思考中。。。。。
原文轉自:http://www.anti-gravitydesign.com