2016-09-02 10 views
1

私は、fooという名前のC構造体を宣言します。これは、barとchar *というbazというintフィールドを持っています。Cmocka:パラメータとして渡された構造体のチェック

Cmockaexpect_およびcheck_expectedのマクロを使用して、渡された構造が正しく、両方のフィールドに期待値があることを確認するにはどうすればよいですか?ドキュメントに例がある場合、私はそれを逃した。


[更新]おそらくexpect_check()を使用できますか?しかし、私は

+1

マクロの定義は、 "EXPECT_" と "check_expected" 何。 pls specifc "expected values"の意味 –

+0

私はCmockaへのリンクを追加しましたが、これはCmaokaユーザーにとっては本当に問題です(試してみてください) – Mawg

答えて

2

使用expect_memory(...)check_expected(...) :-(例を見つけることができません。

例:

私はあなたがサブ関数subfuncを呼び出し、テストfut下の機能を持っていると仮定あなたのstructルックス。このような:次のようになりますテスト駆動機能で

typedef struct foo_s { 
    int bar; 
    int baz; 
} foo; 

void test(void **state) { 
    foo myfoo = { 
    .bar = 42, 
    .baz = 13, 
    }; 
    expect_memory(subfunc, param, &myfoo, sozeof(foo)); 

    fut(); 
} 

そしてsubfucntionsは、次のようになります。

void subfunc(foo *param){ 
    check_expected(param); 
} 
関連する問題