独自の単体テスト ライブラリを作成するために使用できるマクロを作成しようとしています。私のヘッダーファイルは次のようになります。
#ifndef _TEST_H_
#define _TEST_H_
#include <stdio.h>
#include "hehe_stack.h"
static hehe_stack* tests;
typedef int (*testfunc)();
#define test_init() tests = hehe_stack_init();
#define test_register(test) hehe_stack_push(tests, test);
#define test_info() fprintf(stdout, "running %s :: %s \n", __FILE__, __func__);
#define test_run() testfunc = (int (*)()) hehe_stack_pop(tests); testfunc(); return 0;
#endif
各テスト .c ファイルで、多数の関数ポインターをテスト スタックにプッシュし、スタックから各関数ポインターをポップして呼び出します。私のスタック ポップ メソッドは void ポインターを返し、プッシュしている関数ポインターは int を返し、パラメーターを取りません。私の構文は間違っていますか?これができればいいなと思います。