Index: [Article Count Order] [Thread]

Date:  Mon, 19 Mar 2001 13:53:58 +0900
From:  "Ito Yoshiichi" <yoshi@....jp>
Subject:  [XP-jp:01743] Re: CppUnit 改良 (?) 版
To:  <extremeprogramming-jp@....jp>
Message-Id:  <NEBBKMAMPMOONBNHEGBFGEEOCCAA.yoshi@....jp>
In-Reply-To:  <NEBBKMAMPMOONBNHEGBFGELMCBAA.yoshi@....jp>
X-Mail-Count: 01743

こんにちは、伊藤@オージスです。

 遅まきながら「CppUnit 改良版(?)」を修正しました。

  http://member.nifty.ne.jp/glad/cpp/test/

 修正の詳細は Readme を見ていただけるとわかりますが、みなさん
にいただいたご意見のうちいくつかに対応しました。本家 CppUnit の
方も GNU 寄りの方向で発展を続けているようですが、gcc 以外のコ
ンパイラを使用している者にはいまいちな気がします。

  http://cppunit.sourceforge.net/

From: Yuji Yamano [mailto:u90156@....jp]
> - Makefile が欲しい。

 作成しました。autoconf 等使っていないので多少手直しが必要だと
思います。Cygwin 上で動作確認しています。

  make all、make check、make install、make clean

などが利用可能です。

> - #include のファイル名にパスを加えるのはあまり感心しません。
>   Makefile があれば、-I オプションの設定が面倒という問題は解決する
>   のではないでしょうか。

 今のところ #include のパスは残したままです。ただし同一ディレ
クトリのファイルはパスをはずしました。いろいろ調べてみましたが、
一つのプロジェクトが複数ディレクトリに分割されている場合はやはり
パスを含めた方がよいように思います。

From: Kenji Hiranabe [mailto:hiranabe@....jp]
> On Fri, 16 Feb 2001 10:33:36 +0900,
> "Ito Yoshiichi" <yoshi@....jp> said:
>
>  >  邪道な手を使っていますが、Readme に書いてある方法ではダメでし
>  > ょうか? ただし、template が使えないことは想定しているので vector
>  > (もどき)は独自に実装していますが、iostream、string はないとコン
>  > パイルできません、念のため。いっそのこと stdio.h と string.h に
>  > してしまいましょうか?
>
> どうでしょうか.<stdio.h> と <string.h> は,ANSI/ISO C++ で
> の正式な名前は,<cstdio>, <cstring> ですよね.ifdef で
> stdio.h/iostream, string/string を選べるようにしてもよいです
> が,私なら,string と iostream は必須としてしまいます.

 とりあえず string と iostream は必須としました。ただし、Test
Defs.h で typedef して、あとはそれを使っているので、string がな
い環境でもここだけ書き換えれば済むと思います。

>  >  今ひとつどちらが良いか決めかねます。パッケージに分け、.h と
>  > .cpp を同じ場所に置いた場合、個人的にはパスを含めた方が良いと思
>  > うのですが... もう少しご意見いただきたいです。
>
> 参考までに,私が自分でカスタマイズしたときは,ユーザには,
>
> #include <cppunit.h>
>
> のみをインクルードしてもらい,Makefile に,-I<install_dir>と
> 書いてもらうようにしました.install_dir が
>
> (以下略)

 いくつかのヘッダをまとめた .h を作って、

  #include <test/framework.h>
  #include <test/textui.h>

という書き方ができるようにしました。

From: 渋川よしき [mailto:shibu@....jp]
> 僕はRubyのスクリプトで上に書いてあるようなことをやっています。
> なぜ故にわざわざスクリプトかというと、TestCaseをパージングして、
> suite()とmain()を自動生成させているからです。

 ちょっと時間ができたら検討してみたいと思います。

# ParmUnit の英語化のお話が出ていますが、ParmUnit、UnixCppUnit
# 等も参考にさせていただきました。m(_ _)m

----------------------------------------
Ito Yoshiichi (伊藤 喜一)
OGIS-RI Co., Ltd. Object Technology Center
E-mail: yoshi@....jp