Automake 的測試套件 make check-TESTS - Linux

Genevieve avatar
By Genevieve
at 2012-03-23T14:02

Table of Contents

在寫程式的時候會想要寫一些測試套件[1]來驗證程式的功能是否正常,Automake 支援了
這種需求。

一般來說寫一個給 Hello World 程式的 Makefile.am 會長得像以下這樣:
bin_PROGRAMS = hello
hello_SOURCES = hello.c

如果說希望能夠在編譯完程式後,順便執行一下來檢查,就可以加一行:
bin_PROGRAMS = hello
hello_SOURCES = hello.c
TESTS = $(bin_PROGRAMS)

這樣一來就可以執行 make check 來自動編譯並且執行測試; 只是通常不會想要把測試
程式釋出給一般人使用,所以就會改寫成:
check_PROGRAMS = hello
hello_SOURCES = hello.c
TESTS = $(check_PROGRAMS)

這樣就只會在 make check 的時候,編譯 hello 這隻程式並且自動執行它來做測試。

如果想要看到彩色的測試結果,就要修改 configure.ac 加上 color-tests
像是以下這樣:
AC_PREREQ([2.68])
AC_INIT([hello], [0.1], [[email protected]])
AC_CONFIG_SRCDIR([hello.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign color-tests])
AM_MAINTAINER_MODE([enable])

其實 GNU Build System [2] 很好用的,只是要多看 info Automake 的文件來理解
它的使用方法。:)

對以上內容不太瞭解的,可以看簡報 GNU Build System (aka Autotools)[3] 入門一下。

[1]: http://zh.wikipedia.org/wiki/%E6%B5%8B%E8%AF%95%E5%A5%97%E4%BB%B6
[2]: http://en.wikipedia.org/wiki/GNU_build_system
[3]: http://fourdollars.github.com/autotools/
--
原文 http://fourdollars.blogspot.com/2012/03/automake-make-check-tests.html

--
Tags: Linux

All Comments

Ubuntu的權限問題

Wallis avatar
By Wallis
at 2012-03-22T18:08
今天因為某些需求所以把/usr的權限改掉了 指令如下 sudo chmod 777 -r /usr/ 然後就很順利的可以對這資料夾放東西 但是剛剛想安裝東西的時候我輸入了以下的指令 sudo apt-get install 軟體名稱 結果不能安裝了 跑出以下訊息 sudo: must be s ...

perl呼叫內部程式

Todd Johnson avatar
By Todd Johnson
at 2012-03-22T01:40
※ [本文轉錄自 Perl 看板 #1FQX7Q6t ] 作者: c224456k (看看文章的說!) 看板: Perl 標題: [問題] perl呼叫內部程式 時間: Thu Mar 22 01:37:28 2012 我已經寫好一支perl程式 -andgt; ipc.pl 這支程式大概就是用本機去p ...

mkisofs 包4G已上檔案問題

Michael avatar
By Michael
at 2012-03-21T17:41
大家好! 最近需要製作可開機的CentOS安裝光碟! 透過已下指令可以順利完成 mkisofs -o test1.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ...

多人遠端登入問題

Irma avatar
By Irma
at 2012-03-21T12:47
各位大大好: 有個問題困擾我好一陣子,網路上也找過。 找了幾個關鍵字linux user limit xdmcp ... 但都沒在討論相關問題。 我是裝Debian 6.0,使用xming來遠端。 當登入的user過多時(我並沒計算,但很明顯是人多時會發生) xming便無法開啟。 xming ...

安裝openwebmail的問題

Charlotte avatar
By Charlotte
at 2012-03-20T22:37
在執行./openwebmail-tool.pl --init時出現下面的錯誤訊息 Creating UTF-8 locales... langconv ar_AE.CP1256 -andgt; ar_AE.UTF-8 /usr/bin/suidperl: symbol lookup error: /us ...