6

GLibを使用して記述しているいくつかのCコードに対して単純な単体テストを実行しようとしています。私は次のようなことをしようとしています:

#include <math.h>
#include <stdio.h>

#include <glib.h>

static void 
test_stuff () 
{
  g_assert (1 == 1); //Say
}

int main (int argc, char **argv)
{
  g_test_init (&argc, &argv);
  g_test_add_func ("/TestTest", test_stuff);

  return g_test_run();
}

しかし、コンパイルして(たとえば、execというバイナリに)gtesterを使用してこれを実行しようとすると(または、このバイナリを直接実行しようとすると)、次のエラーが発生します。

me@laptop:tests$ gtester exec
TEST: exec... (pid=6503)

(process:6503): GLib-CRITICAL **: g_test_init: assertion `vararg1 == NULL' failed
FAIL: exec
Terminated

足りないものはありますか?テストを実行するときに渡す必要のある変数はありますか?

4

1 に答える 1

12

g_test_init()関数への引数がありません。ドキュメントは、プロトタイプを次のように示しています。

void g_test_init(int *argc,
                 char ***argv,
                 ...);

と:

... : 将来の拡張のために予約されています。現在、NULL を渡す必要があります。

NULLしたがって、 3 番目の引数としてa を渡す必要があります。

于 2012-08-13T09:32:15.083 に答える