ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

exitの単体テスト

2012-11-23 11:12:41 | PG(C言語)

引数が間違っているから異常終了するぜ!というコーディングは、Javaだと例外を投げればいいが、C言語だとexit()を呼ぶことが多いと思う。
で、「exit()することを確認するテスト」をCutterで実施する方法を考えてみた。

C言語はマクロを使えるので、exit()をlongjmp()に置き換えてしまえ、という荒業(笑)
C言語のマクロはほんと強力だわ^^;

ただ、setjmp/longjmpは、使い方を誤ると訳の分からない状態になる。
Cutterだとテストの関数をたくさん作ることになるので、それぞれでちゃんとsetjmp()しないと、あるテストでexit(longjmp)したら“別のテスト時にsetjmpした場所”へ跳んでしまった、なんて事が起こりうる。もしそうなったらチンプンカンプンな結果になるので、テストのデバッグをしないといけなくなる。大変ですぜーorz


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Cutter用makefile | トップ | どの例外を投げるべきか »
最新の画像もっと見る

コメントを投稿

PG(C言語)」カテゴリの最新記事