免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4299 | 回复: 7
打印 上一主题 下一主题

使用automake工具,进行自动化测试 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-04 12:09 |只看该作者 |倒序浏览
使用automake工具,进行自动化测试
作者:net_robber
日期:2008年07月04日
原帖发表于 ChinaUnix.net


前言:
在对软件进行测试过程中,经常会遇到对大量测试样本进行测试。
测试样本通常会归类后,放在不同的子目录中。有多种方式可以遍历目录、文件进行测试。
但是,如果采用Make工具进行测试,除了可以遍历目录,还可以检查样本和输出结果之间的依赖关系,
并根据时间戳,自动判断是否重新测试。
如果测试中断,还能自动掠过已经使用过的样本

示例以及详细说明:
假设现在有如下样本环境
  1. .
  2. |-- DIR1
  3. |   |-- file_1.in
  4. |   |-- file_2.in
  5. |   |-- file_3.in
  6. |   `-- file_4.in
  7. `-- DIR2
  8.     |-- file_a.in
  9.     |-- file_b.in
  10.     |-- file_c.in
  11.     `-- file_d.in
复制代码

测试要求:对每一个样本进行某一操作,输出结果为同名out文件,如: file_1.in  ---> file_1.out
为了方便演示, 这里使用touch操作

操作过程:
1、首先在样本根目录创建 configure.ac文件如下:

  1. AC_PREREQ(2.59)
  2. AC_INIT(Make-tester, 1..0, [email]net_robber@TimeCtrl.net[/email])
  3. AM_INIT_AUTOMAKE




  4. AC_CHECK_FILE(  [/bin/touch],
  5.                 [echo "Have command touch"],
  6.                 [AC_MSG_ERROR(["can NOT find command touch"])])



  7. AC_CONFIG_FILES([Makefile
  8.                 DIR1/Makefile
  9.                 DIR2/Makefile])
  10. AC_OUTPUT

复制代码


2、在样本根目录创建 Makefile.am文件
  1. SUBDIRS= DIR1 DIR2
复制代码


3、在DIR1 和DIR2目录下,分别创建 Makefile.am文件

  1. in = file_1.in file_2.in file_3.in file_4.in
  2. out =$(patsubst %.in,%.out,$(in) )
  3. all : $(out)
  4. %.out : %.in
  5.         touch $@

  6. clean:
  7.         rm -fr *.out

复制代码

  1. in = file_a.in file_b.in file_c.in file_d.in
  2. out =$(patsubst %.in,%.out,$(in) )
  3. all : $(out)
  4. %.out : %.in
  5.         touch $@

  6. clean:
  7.         rm -fr *.out

复制代码


4、执行

  1. touch AUTHORS ChangeLog NEWS README
  2. aclocal
  3. automake -a -f
  4. autoconf -f
复制代码



5、执行

  1. ./configure
  2. make
复制代码

进行测试

6、执行
  1. make clean
复制代码

清空测试结果




总结:
混多工具,如果换一种角度去考虑它的使用,也许会带来一些额外的帮助

[ 本帖最后由 net_robber 于 2008-7-4 12:15 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-07-04 12:10 |只看该作者
好东西,虽然现在连makefile都写不好,还是支持一下!

论坛徽章:
0
3 [报告]
发表于 2008-07-04 16:22 |只看该作者
顶,支持交流!

论坛徽章:
0
4 [报告]
发表于 2008-07-04 16:24 |只看该作者
学习了,不过现在automake用的还不是很熟练呢。。

论坛徽章:
0
5 [报告]
发表于 2008-07-04 17:41 |只看该作者
呵 好多工具 用途的都不局限的 关键要灵活使用!

论坛徽章:
0
6 [报告]
发表于 2008-07-24 15:29 |只看该作者
支持

论坛徽章:
0
7 [报告]
发表于 2008-07-24 16:05 |只看该作者
支持,刚刚才学了autoconf , automake

[ 本帖最后由 net_robber 于 2008-7-24 16:09 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-07-24 16:33 |只看该作者

回复 #1 net_robber 的帖子

上次装了个IDE,先得装楼主说的这个东东,应该是自动用的,不要自己操作
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP