]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
testsuite: test libkmod initialization
authorLucas De Marchi <lucas.demarchi@profusion.mobi>
Tue, 24 Jan 2012 23:53:27 +0000 (21:53 -0200)
committerLucas De Marchi <lucas.demarchi@profusion.mobi>
Thu, 26 Jan 2012 18:05:04 +0000 (16:05 -0200)
Makefile.am
testsuite/.gitignore
testsuite/test-init.c [new file with mode: 0644]

index 857774caa022f7833a2af33f5fac2c433a2c185f..257575cd5dba38e6e4ba6f11837094010fdbba7a 100644 (file)
@@ -133,6 +133,12 @@ testsuite_libtestsuite_la_SOURCES = testsuite/testsuite.c \
                                    testsuite/testsuite.h
 testsuite_libtestsuite_la_DEPENDENCIES = testsuite/uname.so
 
+TESTSUITE = testsuite/test-init
+check_PROGRAMS = $(TESTSUITE)
+TESTS = $(TESTSUITE)
+
+testsuite_test_init_LDADD = testsuite/libtestsuite.la libkmod/libkmod-private.la
+
 DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
 
 
index f4fd00f3f09bf0b7cae62dd3c268b300e3ab5a1b..4b5d6967ba1a330e52c8f893032a50aef34435c4 100644 (file)
@@ -3,3 +3,4 @@
 *.la
 *.so
 test-testsuite
+test-init
diff --git a/testsuite/test-init.c b/testsuite/test-init.c
new file mode 100644 (file)
index 0000000..38011f8
--- /dev/null
@@ -0,0 +1,61 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <string.h>
+#include <errno.h>
+#include <unistd.h>
+#include <libkmod.h>
+
+#include "testsuite.h"
+
+static int testsuite_init(const struct test *t)
+{
+       struct kmod_ctx *ctx;
+       const char *null_config = NULL;
+
+       ctx = kmod_new(NULL, &null_config);
+       if (ctx == NULL)
+               exit(EXIT_FAILURE);
+
+       kmod_unref(ctx);
+
+       exit(EXIT_SUCCESS);
+}
+static const struct test stestsuite_init = {
+       .name = "testsuite_init",
+       .description = "test if libkmod's init function work",
+       .func = testsuite_init,
+};
+
+static const struct test *tests[] = {
+       &stestsuite_init,
+       NULL,
+};
+
+int main(int argc, char *argv[])
+{
+       const struct test *t;
+       int arg;
+       size_t i;
+
+       arg = test_init(argc, argv, tests);
+       if (arg == 0)
+               return 0;
+
+       if (arg < argc) {
+               t = test_find(tests, argv[arg]);
+               if (t == NULL) {
+                       fprintf(stderr, "could not find test %s\n", argv[arg]);
+                       exit(EXIT_FAILURE);
+               }
+
+               return test_run(t);
+       }
+
+       for (i = 0; tests[i] != NULL; i++) {
+               if (test_run(tests[i]) != 0)
+                       exit(EXIT_FAILURE);
+       }
+
+       exit(EXIT_SUCCESS);
+}