diff options
author | Lucas De Marchi <lucas.demarchi@profusion.mobi> | 2012-02-08 01:40:00 -0200 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@profusion.mobi> | 2012-02-08 02:04:10 -0200 |
commit | 976ea8c3ae57d5c229bdebdb48e3487fdd641d1d (patch) | |
tree | 51f807c4da1df9d7d4067237b1ad802e7f36ac3f | |
parent | 4083b0997a0c757b4d414db2a70cecbe8e81a390 (diff) | |
download | kmod-976ea8c3ae57d5c229bdebdb48e3487fdd641d1d.tar.gz kmod-976ea8c3ae57d5c229bdebdb48e3487fdd641d1d.tar.bz2 kmod-976ea8c3ae57d5c229bdebdb48e3487fdd641d1d.zip |
testsuite: add tests to modprobe --show-depends
test 1 - check whether modprobe outputs the right thing when
using --show-depends is used with already loaded modules.
test 2 - check whether modprobe outputs the right thing when
using --show-depends with modules not loaded yet
-rw-r--r-- | Makefile.am | 5 | ||||
-rw-r--r-- | TODO | 3 | ||||
-rw-r--r-- | testsuite/.gitignore | 1 | ||||
-rw-r--r-- | testsuite/rootfs.tar.xz | bin | 554196 -> 661508 bytes | |||
-rw-r--r-- | testsuite/test-modprobe.c | 77 |
5 files changed, 82 insertions, 4 deletions
diff --git a/Makefile.am b/Makefile.am index c3eb225..e847c5d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -173,7 +173,8 @@ testsuite_libtestsuite_la_DEPENDENCIES = testsuite/rootfs \ testsuite_libtestsuite_la_CPPFLAGS = $(TESTSUITE_CPPFLAGS) TESTSUITE = testsuite/test-init testsuite/test-testsuite testsuite/test-loaded \ - testsuite/test-modinfo testsuite/test-alias testsuite/test-new-module + testsuite/test-modinfo testsuite/test-alias testsuite/test-new-module \ + testsuite/test-modprobe check_PROGRAMS = $(TESTSUITE) TESTS = $(TESTSUITE) @@ -189,6 +190,8 @@ testsuite_test_alias_LDADD = $(TESTSUITE_LDADD) testsuite_test_alias_CPPFLAGS = $(TESTSUITE_CPPFLAGS) testsuite_test_new_module_LDADD = $(TESTSUITE_LDADD) testsuite_test_new_module_CPPFLAGS = $(TESTSUITE_CPPFLAGS) +testsuite_test_modprobe_LDADD = $(TESTSUITE_LDADD) +testsuite_test_modprobe_CPPFLAGS = $(TESTSUITE_CPPFLAGS) DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc @@ -38,9 +38,6 @@ Features: * Stop using system() inside the library and use fork + exec instead -* Add tests for --show-depends: we need to first trap calls to - kmod_module_get_path(), because it's printed to stdout/stderr. - Known Bugs: =========== diff --git a/testsuite/.gitignore b/testsuite/.gitignore index aed91bb..7b71048 100644 --- a/testsuite/.gitignore +++ b/testsuite/.gitignore @@ -9,3 +9,4 @@ /test-modinfo /test-new-module /test-testsuite +/test-modprobe diff --git a/testsuite/rootfs.tar.xz b/testsuite/rootfs.tar.xz Binary files differindex fa92e20..08dbfc6 100644 --- a/testsuite/rootfs.tar.xz +++ b/testsuite/rootfs.tar.xz diff --git a/testsuite/test-modprobe.c b/testsuite/test-modprobe.c new file mode 100644 index 0000000..cbcd157 --- /dev/null +++ b/testsuite/test-modprobe.c @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2012 ProFUSION embedded systems + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <stddef.h> +#include <errno.h> +#include <unistd.h> +#include <inttypes.h> +#include <string.h> + +#include "testsuite.h" + +static int modprobe_show_depends(const struct test *t) +{ + const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe"; + const char *const args[] = { + progname, + "--show-depends", "btusb", + NULL, + }; + + test_spawn_prog(progname, args); + exit(EXIT_FAILURE); +} +static DEFINE_TEST(modprobe_show_depends, + .description = "check if output for modprobe --show-depends is correct for loaded modules", + .config = { + [TC_UNAME_R] = "4.4.4", + [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/show-depends", + }, + .output = { + .stdout = TESTSUITE_ROOTFS "test-modprobe/show-depends/correct.txt", + }); + +static int modprobe_show_depends2(const struct test *t) +{ + const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe"; + const char *const args[] = { + progname, + "--show-depends", "psmouse", + NULL, + }; + + test_spawn_prog(progname, args); + exit(EXIT_FAILURE); +} +static DEFINE_TEST(modprobe_show_depends2, + .description = "check if output for modprobe --show-depends is correct", + .config = { + [TC_UNAME_R] = "4.4.4", + [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/show-depends", + }, + .output = { + .stdout = TESTSUITE_ROOTFS "test-modprobe/show-depends/correct-psmouse.txt", + }); +static const struct test *tests[] = { + &smodprobe_show_depends, + &smodprobe_show_depends2, + NULL, +}; + +TESTSUITE_MAIN(tests); |