Blame gobject/tests/meson.build

Packit ae235b
gobject_tests = [
Packit ae235b
  'qdata',
Packit ae235b
  'boxed',
Packit ae235b
  'enums',
Packit ae235b
  'param',
Packit ae235b
  'threadtests',
Packit ae235b
  'dynamictests',
Packit ae235b
  'binding',
Packit ae235b
  'properties',
Packit ae235b
  'reference',
Packit ae235b
  'value',
Packit ae235b
  'type',
Packit ae235b
  'private',
Packit ae235b
  'closure',
Packit ae235b
  'object',
Packit ae235b
  'signal-handler',
Packit ae235b
  'ifaceproperties',
Packit ae235b
]
Packit ae235b
Packit ae235b
# FIXME: use new environment() object
Packit ae235b
# FIXME: put common bits of test environment() in one location
Packit ae235b
# Not entirely random of course, but at least it changes over time
Packit ae235b
random_number = minor_version + meson.version().split('.').get(1).to_int()
Packit ae235b
Packit ae235b
test_env = [
Packit ae235b
  'G_TEST_SRCDIR=' + meson.current_source_dir(),
Packit ae235b
  'G_TEST_BUILDDIR=' + meson.current_build_dir(),
Packit ae235b
  'G_DEBUG=gc-friendly',
Packit ae235b
  'MALLOC_CHECK_=2',
Packit ae235b
  'MALLOC_PERTURB_=@0@'.format(random_number % 256),
Packit ae235b
]
Packit ae235b
Packit ae235b
foreach test_name : gobject_tests
Packit ae235b
  deps = [libm, thread_dep, libglib_dep, libgobject_dep]
Packit ae235b
  test_src = '@0@.c'.format(test_name)
Packit ae235b
  # private is an existing or reserved target it seems
Packit ae235b
  if test_name == 'private'
Packit ae235b
    test_name = 'gobject-private'
Packit ae235b
  endif
Packit ae235b
  exe = executable(test_name, test_src,
Packit ae235b
      c_args : ['-DG_LOG_DOMAIN="GLib-GObject"'],
Packit ae235b
      dependencies : deps,
Packit ae235b
  )
Packit ae235b
  test(test_name, exe, env : test_env)
Packit ae235b
endforeach
Packit ae235b
Packit ae235b
marshalers_h = custom_target('marshalers_h',
Packit ae235b
  output : 'marshalers.h',
Packit ae235b
  input : 'marshalers.list',
Packit ae235b
  command : [
Packit ae235b
    python, glib_genmarshal,
Packit ae235b
    '--prefix=test',
Packit ae235b
    '--valist-marshallers',
Packit ae235b
    '--output=@OUTPUT@',
Packit ae235b
    '--quiet',
Packit ae235b
    '--header',
Packit ae235b
    '@INPUT@',
Packit ae235b
  ],
Packit ae235b
)
Packit ae235b
marshalers_c = custom_target('marshalers_c',
Packit ae235b
  output : 'marshalers.c',
Packit ae235b
  input : 'marshalers.list',
Packit ae235b
  command : [
Packit ae235b
    python, glib_genmarshal,
Packit ae235b
    '--prefix=test',
Packit ae235b
    '--valist-marshallers',
Packit ae235b
    '--include-header=marshalers.h',
Packit ae235b
    '--output=@OUTPUT@',
Packit ae235b
    '--quiet',
Packit ae235b
    '--body',
Packit ae235b
    '@INPUT@',
Packit ae235b
  ],
Packit ae235b
)
Packit ae235b
Packit ae235b
exe = executable('signals',
Packit ae235b
    'signals.c', marshalers_h, marshalers_c,
Packit ae235b
    c_args : ['-DG_LOG_DOMAIN="GLib-GObject"'],
Packit ae235b
    dependencies : deps,
Packit ae235b
)
Packit ae235b
test('signals', exe, env : test_env)