Blob Blame History Raw
incs = [
  top_inc,
  tls_inc
]

deps = [
  gio_dep,
  glib_dep,
  gnutls_dep
]

cflags = [
  '-DSRCDIR="@0@"'.format(meson.current_source_dir()),
  '-DTOP_BUILDDIR="@0@"'.format(meson.build_root())
]

envs = [
  'G_TEST_SRCDIR=' + meson.current_source_dir(),
  'G_TEST_BUILDDIR=' + meson.current_build_dir(),
  'GIO_MODULE_DIR=' + join_paths(meson.build_root(), 'tls', 'gnutls')
]

test_programs = [
  ['certificate', [], deps],
  ['file-database', [], deps],
  ['connection', ['mock-interaction.c'], deps],
  ['dtls-connection', ['mock-interaction.c'], deps],
]

if enable_pkcs11_support
  pkcs11_deps = deps + [
    libgiopkcs11_dep,
    pkcs11_dep
  ]

  test_programs += [
    ['pkcs11-util', [], pkcs11_deps],
    ['pkcs11-array', [], pkcs11_deps],
    ['pkcs11-pin', [], pkcs11_deps],
    ['pkcs11-slot', ['mock-interaction.c', 'mock-pkcs11.c'], pkcs11_deps]
  ]
endif

foreach program: test_programs
  test_conf = configuration_data()
  test_conf.set('installed_tests_dir', installed_tests_execdir)
  test_conf.set('program', program[0])

  if enable_installed_tests
    configure_file(
      input: test_template,
      output: program[0] + '.test',
      install_dir: installed_tests_metadir,
      configuration: test_conf
    )
  endif

  exe = executable(
    program[0],
    [program[0] + '.c'] + program[1],
    include_directories: incs,
    dependencies: program[2],
    c_args: cflags,
    install: enable_installed_tests,
    install_dir: installed_tests_execdir
  )

  test(
    program[0],
    exe,
    env: envs
  )
endforeach

if enable_installed_tests
  test_data = files(
    'files/ca-alternative.pem',
    'files/ca-key.pem',
    'files/ca.pem',
    'files/ca-roots-bad.pem',
    'files/ca-roots.pem',
    'files/ca-verisign-sha1.pem',
    'files/chain.pem',
    'files/chain-with-verisign-md2.pem',
    'files/client2-and-key.pem',
    'files/client2-key.pem',
    'files/client2.pem',
    'files/client-and-key.pem',
    'files/client-future.pem',
    'files/client-past.pem',
    'files/client.pem',
    'files/intermediate-ca.pem',
    'files/non-ca.pem',
    'files/server-and-key.pem',
    'files/server.der',
    'files/server-intermediate-key.pem',
    'files/server-intermediate.pem',
    'files/server-key.der',
    'files/server-key.pem',
    'files/server.pem',
    'files/server-self.pem'
  )

  install_data(
    test_data,
    install_dir: join_paths(installed_tests_execdir, 'files')
  )
endif