From: Lucas De Marchi Date: Wed, 11 Jan 2012 23:22:21 +0000 (-0200) Subject: test: add check of module's state X-Git-Tag: v4~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=efd2cec66ef439ec1e3153bec13babdc7d250cc6;p=thirdparty%2Fkmod.git test: add check of module's state --- diff --git a/Makefile.am b/Makefile.am index 4e28ed4e..42818ea7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -133,7 +133,7 @@ check_PROGRAMS = test/test-init test/test-loaded \ test/test-lookup test/test-path-from-name \ test/test-get-dependencies test/test-mod-double-ref \ test/test-blacklist test/test-elf test/test-probe \ - test/test-invalidate-config + test/test-invalidate-config test/test-state TESTS = test/test-init test/test-loaded @@ -151,5 +151,6 @@ test_test_blacklist_LDADD = libkmod/libkmod-private.la test_test_elf_LDADD = libkmod/libkmod-private.la test_test_probe_LDADD = libkmod/libkmod-private.la test_test_invalidate_config_LDADD = libkmod/libkmod-private.la +test_test_state_LDADD = libkmod/libkmod-private.la DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc diff --git a/test/.gitignore b/test/.gitignore index a71ab5e3..61f27382 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -12,3 +12,4 @@ test-blacklist test-elf test-probe test-invalidate-config +test-state diff --git a/test/test-state.c b/test/test-state.c new file mode 100644 index 00000000..b34edfb6 --- /dev/null +++ b/test/test-state.c @@ -0,0 +1,49 @@ +#include +#include +#include +#include +#include +#include +#include +#include + + +int main(int argc, char *argv[]) +{ + const char *name; + struct kmod_ctx *ctx; + struct kmod_module *mod; + int err; + const char *state; + + if (argc < 2) { + fprintf(stderr, "Provide a module name\n"); + return EXIT_FAILURE; + } + + name = argv[1]; + + ctx = kmod_new(NULL, NULL); + if (ctx == NULL) + exit(EXIT_FAILURE); + + printf("libkmod version %s\n", VERSION); + + err = kmod_module_new_from_name(ctx, name, &mod); + if (err < 0) { + kmod_unref(ctx); + exit(EXIT_FAILURE); + } + + state = kmod_module_initstate_str(kmod_module_get_initstate(mod)); + if (state == NULL) + printf("Module '%s' not found.\n", name); + else + printf("Module '%s' is in '%s' state.\n", name, state); + + + kmod_module_unref(mod); + kmod_unref(ctx); + + return EXIT_SUCCESS; +}