From: Lucas De Marchi Date: Tue, 6 Dec 2011 01:17:29 +0000 (-0200) Subject: test: add test to convert name to path X-Git-Tag: v1~90 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5b5ea9c7c4722ce33d1abb8cbee0d87bc99806a;p=thirdparty%2Fkmod.git test: add test to convert name to path If we create a kmod_module from a name, the path returned is relative to the module dirname, as passed during kmod_ctx creation. Note that if kmod_ctx is created with kmod_new(NULL), the dir used is the one returned by uname. --- diff --git a/Makefile.am b/Makefile.am index 950da235..f4ed47ba 100644 --- a/Makefile.am +++ b/Makefile.am @@ -58,7 +58,7 @@ test_test_loaded_SOURCES = test/test-loaded.c test_test_loaded_LDADD = libkmod/libkmod.la noinst_PROGRAMS = test/test-insmod test/test-rmmod test/test-rmmod2 \ - test/test-lookup $(check_PROGRAMS) + test/test-lookup test/test-path-from-name $(check_PROGRAMS) test_test_rmmod_SOURCES = test/test-rmmod.c test_test_rmmod_LDADD = libkmod/libkmod.la @@ -70,3 +70,6 @@ test_test_insmod_LDADD = libkmod/libkmod.la test_test_lookup_SOURCES = test/test-lookup.c test_test_lookup_LDADD = libkmod/libkmod.la + +test_test_path_from_name_SOURCES = test/test-path-from-name.c +test_test_path_from_name_LDADD = libkmod/libkmod.la diff --git a/test/.gitignore b/test/.gitignore index d7f66819..5bb051ef 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -5,3 +5,4 @@ test-rmmod test-rmmod2 test-insmod test-lookup +test-path-from-name diff --git a/test/test-path-from-name.c b/test/test-path-from-name.c new file mode 100644 index 00000000..c5f8ccad --- /dev/null +++ b/test/test-path-from-name.c @@ -0,0 +1,48 @@ +#include +#include +#include +#include +#include +#include +#include +#include + + +int main(int argc, char *argv[]) +{ + struct kmod_ctx *ctx; + struct kmod_module *mod; + const char *path, *modname; + int err; + + if (argc < 2) { + fprintf(stderr, "ERR: Provide an alias name\n"); + return EXIT_FAILURE; + } + + modname = argv[1]; + + ctx = kmod_new(NULL); + if (ctx == NULL) + exit(EXIT_FAILURE); + + printf("libkmod version %s\n", VERSION); + + err = kmod_module_new_from_name(ctx, modname, &mod); + if (err < 0) { + fprintf(stderr, "error creating module: '%s'\n", strerror(-err)); + goto fail; + } + + path = kmod_module_get_path(mod); + + printf("modname: '%s' path: '%s'\n", modname, path); + kmod_module_unref(mod); + kmod_unref(ctx); + + return EXIT_SUCCESS; + +fail: + kmod_unref(ctx); + return EXIT_FAILURE; +}