summaryrefslogtreecommitdiff
path: root/testsuite/dlopen-test.c
blob: 7a6384579372ebc6485c5ad026b2cfb81d94e9c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "testutils.h"
#include "version.h"

#if HAVE_DLFCN_H
#include <dlfcn.h>
#endif

int
main (int argc, char **argv)
{
#if HAVE_LIBDL
  void *handle = dlopen ("../libnettle.so", RTLD_NOW);
  int (*get_version)(void);
  if (!handle)
    {
      fprintf (stderr, "dlopen failed: %s\n", dlerror());
      FAIL ();
    }

  get_version = (int(*)(void)) dlsym (handle, "nettle_version_minor");
  if (!get_version)
    {
      fprintf (stderr, "dlsym failed: %s\n", dlerror());
      FAIL ();
    }
  if (get_version() != NETTLE_VERSION_MINOR)
    {
      fprintf (stderr, "unexpected nettle version\n");
      FAIL ();
    }
  return EXIT_SUCCESS;
#else
  SKIP();
#endif
}