読者です 読者をやめる 読者になる 読者になる

mokky14's IT diary

IT関係の仕事メモ、勉強会の感想など書いてます。

Solaris10(x64)にcutterをインストール

C言語でTDDやってみようと、cUnitインストしようとしてググってたら、cutterというソフトの方がcUnitよりもよいという記事があった。
内容を軽く見てみても、mainから実装しなければならないcUnitに対して、テストケースをsoファイルとしてリンクするcutterの方が良さげに思える。
ということで、C言語のTDDのために、cutterをインストしてみた。

インスト手順はここにあったので、これに従ってインストする。
が、インスト手順に載ってたシェル叩いたらエラー発生。

bash-3.2$ bash install-cutter.sh
pkg-get: コマンドが見つかりません

pkg-getがインストールされてない。
というわけでpkg-getをインストールしようとしたけど、2013/6/14現在、pkg-getをダウンロードできるサイト死んでるっぽい。
pkgutilでインストすることにする。

# /opt/csw/bin/pkgutil -i autoconf automake libtool intltool pkgconfig

で、インスト出来た。

pkg-getでインスト予定のパッケージを一通りインストしたので、install-cutter.shから
「pfexec pkg-get -i autoconf automake libtool intltool pkgconfig」
の行を削除。
作り忘れてたglib-gatomic-missing-gthread-h.diffファイルも作成して再度スクリプト実行。

bash-3.2$ cat glib-gatomic-missing-gthread-h.diff
# diff
--- glib-2.28.6/glib/gatomic.c.orig     Wed Apr 27 14:03:37 2011
+++ glib-2.28.6/glib/gatomic.c  Wed Apr 27 14:04:08 2011
@@ -28,6 +28,7 @@
 #endif

 #include "gatomic.h"
+#include "gthread.h"
 #include "gthreadprivate.h"

 /**
bash-3.2$ bash install-cutter.sh
・
(途中略)
--2013-06-20 15:23:23--  http://downloads.sourceforge.net/project/cutter/cutter-1.2.2.tar.gz
Resolving proxy.hoge... xx.xx.xx.xx
Connecting to proxy.hoge|xx.xx.xx.xx|:xx... connected.
Proxy request sent, awaiting response... 404 Not Found
2013-06-20 15:23:23 ERROR 404: Not Found.

404かよ...

2013/6/20現在、cutter-1.2.2.tar.gzのダウンロードURLが違ってるようなので、以下の対処した。

で、インスト再開して、インストールできた。

cutter叩いてみてhelp表示されるので、多分インストは大丈夫だろう。

bash-3.2$ /usr/local/bin/cutter
用法:
  cutter [オプション...] TEST_DIRECTORY
  cutter --mode=analyze [オプション...] LOG_DIRECTORY
  cutter --mode=play [オプション...] LOG_FILE

ヘルプのオプション:
  -h, --help                                        ヘルプのオプションを表示する
  --help-all                                        ヘルプのオプションをすべて表示する
  --help-stream                                     ストリームのオプションを表示
  --help-report                                     レポートのオプションを表示
  --help-ui                                         コンソールUIのオプションの表示
  --help-console-ui                                 コンソールUIのオプションの表示

アプリケーションのオプション:
  --version                                         バージョンを表示
  --mode=[test|analyze|play]                        実行モードを設定(既定値: test)
  -s, --source-directory=DIRECTORY                  ソースコードのディレクトリを設定
  -n, --name=TEST_NAME                              テストを指定
  -t, --test-case=TEST_CASE_NAME                    テストケースを指定
  -m, --multi-thread                                マルチスレッドでテストケースと繰り返しテストを実行
  --max-threads=MAX_THREADS                         最大MAX_THREADSスレッドを同時に動かしてテストケースと繰り返しテストを 実行します(既定値: 10; -1は制限なし)
  --disable-signal-handling                         シグナルを処理しない
  --test-case-order=[none|name|name-desc]           テストケースを並び替える。既定値は'none'(並び替えない)
  --exclude-file=FILE                               ファイルをスキップ
  --exclude-directory=DIRECTORY                     ディレクトリをスキップ
  --fatal-failures                                  失敗を致命的な問題として扱う
  --keep-opening-modules                            デバッグ時にシンボルを解決できるようにロードしたモジュールを開いたままにする
  --enable-convenience-attribute-definition         便利だが危険な'#{属性名}_#{テスト名 - 'test_'プリフィックス}'属性設定 関数を有効にする
  --stop-before-test                                テストを実行する前の行にブレークポイントを設定する。デバッガでステップイン実行すれば簡単にテスト関数に入れます。