Posted on 2009-01-27 22:24
S.l.e!ep.¢% 閱讀(315)
評論(0) 編輯 收藏 引用 所屬分類:
test
使用automake工具,進行自動化測試
作者:net_robber
日期:2008年07月04日
原帖發(fā)表于 ChinaUnix.net
前言:
在對軟件進行測試過程中,經(jīng)常會遇到對大量測試樣本進行測試。
測試樣本通常會歸類后,放在不同的子目錄中。有多種方式可以遍歷目錄、文件進行測試。
但是,如果采用Make工具進行測試,除了可以遍歷目錄,還可以檢查樣本和輸出結(jié)果之間的依賴關系,
并根據(jù)時間戳,自動判斷是否重新測試。
如果測試中斷,還能自動掠過已經(jīng)使用過的樣本
示例以及詳細說明:
假設現(xiàn)在有如下樣本環(huán)境
.
|-- DIR1
|? ?|-- file_1.in
|? ?|-- file_2.in
|? ?|-- file_3.in
|? ?`-- file_4.in
`-- DIR2
? ? |-- file_a.in
? ? |-- file_b.in
? ? |-- file_c.in
? ? `-- file_d.in
測試要求:對每一個樣本進行某一操作,輸出結(jié)果為同名out文件,如: file_1.in??---> file_1.out
為了方便演示, 這里使用touch操作
操作過程:
1、首先在樣本根目錄創(chuàng)建 configure.ac文件如下:
AC_PREREQ(2.59)
AC_INIT(Make-tester, 1..0, [email]net_robber@TimeCtrl.net[/email])
AM_INIT_AUTOMAKE
AC_CHECK_FILE(??[/bin/touch],
? ?? ?? ?? ?? ? [echo "Have command touch"],
? ?? ?? ?? ?? ? [AC_MSG_ERROR(["can NOT find command touch"])])
AC_CONFIG_FILES([Makefile
? ?? ?? ?? ?? ? DIR1/Makefile
? ?? ?? ?? ?? ? DIR2/Makefile])
AC_OUTPUT
2、在樣本根目錄創(chuàng)建 Makefile.am文件
3、在DIR1 和DIR2目錄下,分別創(chuàng)建 Makefile.am文件
in = file_1.in file_2.in file_3.in file_4.in
out =$(patsubst %.in,%.out,$(in) )
all : $(out)
%.out : %.in
? ?? ???touch $@
clean:
? ?? ???rm -fr *.out
in = file_a.in file_b.in file_c.in file_d.in
out =$(patsubst %.in,%.out,$(in) )
all : $(out)
%.out : %.in
? ?? ???touch $@
clean:
? ?? ???rm -fr *.out
4、執(zhí)行
touch AUTHORS ChangeLog NEWS README
aclocal
automake -a -f
autoconf -f
5、執(zhí)行
進行測試
6、執(zhí)行
清空測試結(jié)果
總結(jié):
混多工具,如果換一種角度去考慮它的使用,也許會帶來一些額外的幫助