<   2004年 04月 ( 5 )   > この月の画像一覧

VC7.1 で cppunit

Windows 版の CoveredCalc 開発環境である、VC++ 7.1(Visual Studio .NET 2003 の VC++)に cppunit を導入してみました。
別にテストファーストな開発をしようというわけでもないんですが、電卓コアエンジンに手を入れようとするたびに、思いもよらぬバグを作りそうでビクビクしてる現状を自動テストの導入で打開しようという意図があります。
#バグが作られなくなるわけではなく、ビクビクしなくてすむようになるだけ…

参考にしたのは次のページ。

http://www.sip.eee.yamaguchi-u.ac.jp/kou/200402.html
http://www.mikamama.com/CppUnitBook/draft/index.html

cppunit-1.9.12.tar.gz を落としてきて、これを使いました。

C:\cppunit に解凍し、C:\cppunit\cppunit-1.9.12\examples\examples.dsw を VC++ 7.1 で読み込んで(変換して)、HostApp をスタートアッププロジェクトに設定して(これは必要なのだろうか?)、バッチビルドですべて選択してビルド。

LINK : fatal error LNK1181: 入力ファイル 'cppunitd.lib' を開けません。

のようなエラーが大量に出たけど、cppunitd.lib のある C:\cppunit\cppunit-1.9.12\lib にパスが通ってないために出ているとそのときは思いました。
どっちにせよ、パスは通すわけだから、この段階でパスを通してしまいました。
・インクルード ファイルの最後に C:\cppunit\cppunit-1.9.12\include
・ライブラリ ファイルの最後に C:\cppunit\cppunit-1.9.12\lib
・ソース ファイルの最後に C:\cppunit\cppunit-1.9.12\src\cppunit
を追加。
それでもエラーが出るので、見てみたら、C:\cppunit\cppunit-1.9.12\lib の中に cppunitd.lib なんてないじゃないですか!
C:\cppunit\cppunit-1.9.12\src\cppunit\Debug と C:\cppunit\cppunit-1.9.12\src\cppunit\Release にそれらしいのがあったので、それぞれ cppunitd.lib, cppunit.lib を C:\cppunit\cppunit-1.9.12\lib にコピーしてから再度ビルドしたらビルドが通りました。

その後、CppUnitTestApp をスタートアッププロジェクトにして実行。MFC による GUI 版 TestRunner が動作することを確認しました。

とりあえず、インストールできた、ってとこで今回は終わり。
[PR]
by hironytic | 2004-04-25 21:57 | 情報

[CoveredCalc] カバー定義の必須タグ、必須属性チェック

a0011820_132129.gifツールチップ対応は面倒そうだったので後回しにしました。(^^;

代わりにカバー(スキン)定義ファイルのチェックを少し。
カバー定義は XML ファイルなんですが、これまでは必ず記述されていなければならないタグや、タグの属性のチェックを怠っていました。
とりあえず、動くものを作ろうとしていたからです。
そういう必要な記述がない場合に最悪アプリケーションが落ちていたのですが、今回、そういう必須タグ・属性が記述されているかどうかのチェックをちまちまと行うようにしました。
エラーの表示やエラーメッセージについてはすでに実装しているんで、チェック部分だけ。何も難しいことはないんですが、ただただ面倒。

面倒なものを後回しにしてると、後が大変ということですね。
って、それはつまり、後でツールチップ対応に苦しみそうだってことですね…。
[PR]
by hironytic | 2004-04-25 13:22 | 開発状況

[CoveredCalc] ツールチップ

ここのところ、ツールチップへの対応を実装しようとしてました。
当初、ツールチップはすべて Windows のコモンコントロールに丸投げできるというイメージがあったのですが、非矩形領域に対するツールチップを実現しようとすると、そんな簡単にはいかないことがわかりました。
それから、BeOS ではツールチップ用の便利なコントロールがないようです(?)

と言うわけで、ツールチップを表示/非表示する仕組みを作る必要がありそうです。
当面、Windows の方だけ実装します。
思ったより面倒で泣けてきます。
[PR]
by hironytic | 2004-04-20 10:25 | 開発状況

[CoveredCalc] エラーメッセージ

a0011820_233220.gif4 日の続きで、やっぱりエラーメッセージを実装してました。。
とりあえず、これで、よっぽど起こるはずがないような例外(ロジックミス)以外はメッセージを実装できたはずです。

それでも、ふつう起こらんだろ? っていうメッセージもあります。
どうやったら、このメッセージ出るんですか? と聞かれたら「出せません」と答えるしか…。
[PR]
by hironytic | 2004-04-06 23:33 | 開発状況

[CoveredCalc] エラーメッセージ

a0011820_232235.gifひたすら例外 (Exception) に対するエラーメッセージを実装しました。
まあ、そんなに作業に時間をかけられなかったんで全部はできてませんが。

実装したところで、正常に動作する限りは何も変わらないわけで、これはだるい作業。
でも実装しないとエラー時は何でもかんでも「処理中にエラーが発生しました」になってしまうわけです。
[PR]
by hironytic | 2004-04-04 23:21 | 開発状況