2011年8月1日 星期一

在 Ubuntu 上使用 CUnit + curses 執行 unit test

安裝

  1. sudo aptitude install libncurses5-dev
  2. wget -O CUnit-2.1-2-src.tar.bz2 http://downloads.sourceforge.net/project/cunit/CUnit/2.1-2/CUnit-2.1-2-src.tar.bz2?r=&ts=1312211219&use_mirror=nchc
  3. tar jxvf CUnit-2.1-2-src.tar.bz2
  4. cd CUnit-2.1-2/
  5. ./configure --enable-curses
  6. make
  7. sudo make install

這樣會裝到 /usr/local/include/CUnit 和 /usr/local/lib/libcunit.*。

編譯

  1. 貼上這裡的範例程式, 存檔為 example.c
  2. 註解掉最下方的 CU_basic_run_tests();, 改為 CU_curses_run_tests;, 並在上面加入#include "CUnit/CUCurses.h"
  3. gcc example.c -lcunit -lncurses -o example

執行

  1. ./example

失敗的話, 檢查一下 /usr/local/lib 是否有在 /etc/ld.so.conf 裡, 加進去後執行 /sbin/ldconfig –v 更新設定。細節參考: 《error while loading shared libraries的解決方法》

若不想用 curses 的話, 就用 CU_basic_run_tests。

若確定用不到 curses, 安裝時可以不裝 libncurses5-dev、configure 時可以少掉 --enable-curses。這樣的話, 編譯時也不用加 -lncurses。

不過用 curses 跑還挺炫的說, 會有綠色的 progress bar!! 之後再來看看是否實用。

沒有留言:

張貼留言

在 Fedora 下裝 id-utils

Fedora 似乎因為執行檔撞名,而沒有提供 id-utils 的套件 ,但這是使用 gj 的必要套件,只好自己編。從官網抓好 tarball ,解開來編譯 (./configure && make)就是了。 但編譯後會遇到錯誤: ./stdio.h:10...