在寫程式的時候會想要寫一些測試套件[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], [foo@bar.com])
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
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.46.10