首页 > 代码库 > API Sanity Checker在Ubuntu中的使用

API Sanity Checker在Ubuntu中的使用

API Sanity Checker是一个自动生成单元测试用例的工具,可用于链接测试。它可用于三大桌面平台,下面简单介绍它在Linux下的使用步骤:

 

1.      从http://ispras.linuxbase.org/index.php/API_Sanity_Autotest 下载最新的api-sanity-checker-1.98.6.tar.gz ;

2.      从http://ispras.linuxbase.org/index.php/ABI_Compliance_Checker下载最新的abi-compliance-checker-1.99.9.tar.gz ;

3.      从http://ftp.gnu.org/gnu/binutils   下载最新的 binutils-2.24.tar.gz(不需要安装,Ubuntu中已安装,安装也不要按照第7步中的命令,否则对Linux系统中的个别文件会有所破坏,如安装后gcc  -shared命名不能使用了,);

4.      从http://www.perl.org/get.html下载perl5,可以通过命令perl  -v来判断是否已经安装;

5.      从http://ctags.sourceforge.net/下载 ctags或者直接用sudo  apt-get  install ctags(这个也可不安装) ;

6.      将以上文件存放到/home/spring/LinkTest目录中,并解压缩到当前目录下;

7.      安装binutils,进入到此目录下,依次执行:(1)、 ./configure ; (2)、 make ; (3)、make  install(或sudo  make install);

8.      安装abi compliance checker,执行命令:sudo perl Makefile.pl -install --prefix=/usr ;

9.      安装api sanity autotest,执行命令:sudo perl Makefile.pl -install --prefix=/usr

10.  测试代码使用http://blog.csdn.net/fengbingchun/article/details/41413381;

11.  将终端定位到/home/spring/gdbtest/demo/test ,输入命令: gcc -shared/home/spring/gdbtest/src/add/add.cpp/home/spring/gdbtest/src/subtract/subtract.cpp -o libtest.so ,则会在test目录下生成一个libtest.so动态库;

12. 在test目录下创建一个test.xml文件:

<version>
    2014.11.30
</version>

<headers>
    /home/spring/gdbtest/include
</headers>

<libs>
    /home/spring/gdbtest/demo/test
</libs>

13. 在终端输入命令:api-sanity-checker  -lib  test1 -d  test.xml  -gen ,则会在test目录下生成logs和tests两个文件夹,logs/test1/2014.11.30/log.txt,此txt文件中包含了列举了需要用到的头文件和类,以及一些错误信息;tests/test1/2014.11.30/下会有比较多的文件,如测试用例文件groups/add/functions/_Z6CalAddfff/test.cpp,其内容为:

#include <add/add.h>
int main(int argc, char *argv[])
{
    CalAdd(1.5f, 2.5f, 3.5f); //target call
    return 0;
}

14.      输入命令:api-sanity-checker  -lib  test1  -d  test.xml -build,则在tests/test1/2014.11.30/groups/add/functions/_Z6CalAddfff/等对应文件下生成test执行文件,如在编译中出现错误,则会在tests/test1/2014.11.30/目录下产生一个build_fail_list文件;


15.      输入命令:api-sanity-checker  -lib  test1  -d test.xml  -run,则会在当前目录下生成一个test_results文件夹,/test_results/test1/2014.11.30/test_result.html文件会有相应结果分析信息说明,如在run中有测试用例错误,则会在tests/test1/2014.11.30/目录下产生一个run_fail_list文件;


16.      api-santify-checker的详细用法可参考/api-santy-checker-1.98.6/doc目录;

17. 其它类似工具可参考: http://www.opensourcetesting.org/unit_c.php

API Sanity Checker在Ubuntu中的使用