Tag Archives: Tools

Qt中的一些全局测试用例

近期工作中接触过的,觉得很有意义。

目前这些测试用例都还在在$QTDIR/tests/auto下:

bic
说明:利用g++的-fdump-class-hierarchy参数生成的类信息数据和VTable数据检查二进制兼容性。对于库来说很重要。gen.sh对已发布的版本生成历史数据,然后调用g++ -fdump-class-hierarchy生成当前版本数据再进行比较。只要是支持g++的平台都可以检测。

compilerwarnings
说明:tst_CompilerWarnings::warnings()中对几种编译器的警告进行了检测。

headers
说明:tst_Headers::licenseCheck()中对所有源文件进行协议检查。tst_Headers::privateSlots()中对所有头文件检查了私有槽必须含有“_q_”。tst_Headers::macros()对所有头文件检查了宏。

symbols
说明:利用nm检查库中函数名和全局变量。tst_Symbols::prefix()中利用nm -g -C -D –format=posix –defined-only对库中的函数名称的前缀进行检查。tst_Symbols::globalObjects()中利用nm -C –format=posix对库中的全局静态对象进行检测,应该是不能有的。