無限ループのテストで使用するマクロの説明

付属の"Endless_Loop"プロジェクトでは、無限ループのある関数のテストを実現するため、いくつかの専用のマクロを使用しています。ここでは各マクロの説明を記載します。

CPPTEST_REGISTER_JMP(expression)

引数の式を評価する際に、ジャンプできる箇所を設定します。内部的にsetjmp または sigsetjmp関数を使用しています。そのため、それらの関数が使用できない環境では使えません。テストケース内で使用し、無限ループのあるテスト対象関数の呼び出し時に、テスト対象関数を引数にして実行します。

 

※テストケースエディタでは、呼び出し欄に記載します

CPPTEST_JMP (value)

内部のlongjmp またはsiglongjmp の呼び出しを実行し、実行ステータスをCPPTEST_REGISTER _JMPの呼び出しに戻します。通常は、無限ループ内で呼ばれている関数のスタブで使用し、また引数に整数を渡すことができます。引数に渡された整数はcpptestGetJmpReturn関数を使用して参照することができます。

int cpptestGetJmpReturn()

最後にCPPTEST_JMPでジャンプした際の引数を返します。ループ回数を参照したりする際使用します。

 

Copyright © 2022 TechMatrix Corporation. All rights reserved