From: Emil Velikov Date: Sat, 18 Jul 2026 14:06:14 +0000 (+0100) Subject: testsuite: fold test-weakdep into test-libkmod X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=82204dbb52a07eaaeee302abec36941121851d64;p=thirdparty%2Fkmod.git testsuite: fold test-weakdep into test-libkmod Arguably improves things by providing some grouping and clarity on the origin, structure and coverage of the tests. Signed-off-by: Emil Velikov Link: https://github.com/kmod-project/kmod/pull/450 Signed-off-by: Lucas De Marchi --- diff --git a/scripts/setup-rootfs.sh b/scripts/setup-rootfs.sh index 9fff1e45..f0d232ab 100755 --- a/scripts/setup-rootfs.sh +++ b/scripts/setup-rootfs.sh @@ -117,10 +117,10 @@ map=( ["test-modinfo/mod-simple-sha256.ko"]="mod-simple.ko" ["test-modinfo/mod-simple-pkcs7.ko"]="mod-simple.ko" ["test-modinfo/external/lib/modules/external/mod-simple.ko"]="mod-simple.ko" - ["test-weakdep$MODULE_DIRECTORY/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko" - ["test-weakdep$MODULE_DIRECTORY/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko" - ["test-weakdep$MODULE_DIRECTORY/4.4.4/kernel/mod-simple.ko"]="mod-simple.ko" - ["test-weakdep$MODULE_DIRECTORY/4.4.4/kernel/mod-weakdep.ko"]="mod-weakdep.ko" + ["test-libkmod/weakdep$MODULE_DIRECTORY/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko" + ["test-libkmod/weakdep$MODULE_DIRECTORY/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko" + ["test-libkmod/weakdep$MODULE_DIRECTORY/4.4.4/kernel/mod-simple.ko"]="mod-simple.ko" + ["test-libkmod/weakdep$MODULE_DIRECTORY/4.4.4/kernel/mod-weakdep.ko"]="mod-weakdep.ko" ["test-libkmod/softdep$MODULE_DIRECTORY/4.4.4/kernel/mod-foo-a.ko"]="mod-foo-a.ko" ["test-libkmod/softdep$MODULE_DIRECTORY/4.4.4/kernel/mod-foo-b.ko"]="mod-foo-b.ko" ["test-libkmod/softdep$MODULE_DIRECTORY/4.4.4/kernel/mod-foo-c.ko"]="mod-foo-c.ko" diff --git a/testsuite/meson.build b/testsuite/meson.build index ea25e3dd..a286f0bf 100644 --- a/testsuite/meson.build +++ b/testsuite/meson.build @@ -84,7 +84,6 @@ _testsuite = [ 'test-modprobe', 'test-shared', 'test-testsuite', - 'test-weakdep', ] if get_option('b_sanitize') != 'none' diff --git a/testsuite/rootfs-pristine/test-weakdep/correct-weakdep.txt b/testsuite/rootfs-pristine/test-libkmod/weakdep/correct.txt similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/correct-weakdep.txt rename to testsuite/rootfs-pristine/test-libkmod/weakdep/correct.txt diff --git a/testsuite/rootfs-pristine/test-weakdep/etc/modprobe.d/dumb-weakdep.conf b/testsuite/rootfs-pristine/test-libkmod/weakdep/etc/modprobe.d/dumb-weakdep.conf similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/etc/modprobe.d/dumb-weakdep.conf rename to testsuite/rootfs-pristine/test-libkmod/weakdep/etc/modprobe.d/dumb-weakdep.conf diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.alias b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.alias similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.alias rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.alias diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.alias.bin b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.alias.bin similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.alias.bin rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.alias.bin diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.builtin.alias.bin b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.builtin.alias.bin similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.builtin.alias.bin rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.builtin.alias.bin diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.builtin.bin b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.builtin.bin similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.builtin.bin rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.builtin.bin diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.dep b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.dep similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.dep rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.dep diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.dep.bin b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.dep.bin similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.dep.bin rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.dep.bin diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.devname b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.devname similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.devname rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.devname diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.softdep b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.softdep similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.softdep rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.softdep diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.symbols b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.symbols similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.symbols rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.symbols diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.symbols.bin b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.symbols.bin similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.symbols.bin rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.symbols.bin diff --git a/testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.weakdep b/testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.weakdep similarity index 100% rename from testsuite/rootfs-pristine/test-weakdep/lib/modules/4.4.4/modules.weakdep rename to testsuite/rootfs-pristine/test-libkmod/weakdep/lib/modules/4.4.4/modules.weakdep diff --git a/testsuite/test-libkmod.c b/testsuite/test-libkmod.c index 62288dc8..b3c8d7d2 100644 --- a/testsuite/test-libkmod.c +++ b/testsuite/test-libkmod.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: LGPL-2.1-or-later /* + * Copyright Red Hat * Copyright (C) 2011-2013 ProFUSION embedded systems * Copyright (C) 2015 Intel Corporation. All rights reserved. * Copyright © 2025 Intel Corporation @@ -575,4 +576,60 @@ DEFINE_TEST(multi_softdep, .description = "check if multiple softdep is supporte [TC_ROOTFS] = TESTSUITE_ROOTFS "test-libkmod/softdep/", }); +static int test_weakdep(void) +{ + static const char *const mod_name[] = { + "mod-loop-b", + "mod-weakdep", + }; + struct kmod_ctx *ctx; + int err; + + ctx = kmod_new(NULL, NULL); + TS_ASSERT(ctx != NULL); + + for (size_t i = 0; i < ARRAY_SIZE(mod_name); i++) { + struct kmod_list *list = NULL; + struct kmod_module *mod = NULL; + struct kmod_list *mod_list = NULL; + struct kmod_list *itr = NULL; + + printf("%s:", mod_name[i]); + err = kmod_module_new_from_lookup(ctx, mod_name[i], &list); + TS_ASSERT(list != NULL && err == 0); + + mod = kmod_module_get_module(list); + + err = kmod_module_get_weakdeps(mod, &mod_list); + TS_ASSERT(err == 0); + + kmod_list_foreach(itr, mod_list) { + struct kmod_module *weakdep_mod = kmod_module_get_module(itr); + const char *weakdep_name = kmod_module_get_name(weakdep_mod); + + printf(" %s", weakdep_name); + kmod_module_unref(weakdep_mod); + } + printf("\n"); + + kmod_module_unref_list(mod_list); + kmod_module_unref(mod); + kmod_module_unref_list(list); + } + + kmod_unref(ctx); + + return 0; +} +DEFINE_TEST(test_weakdep, + .description = "check if libkmod breaks weakdep", + .config = { + [TC_UNAME_R] = "4.4.4", + [TC_ROOTFS] = TESTSUITE_ROOTFS "test-libkmod/weakdep", + [TC_INIT_MODULE_RETCODES] = "", + }, + .output = { + .out = TESTSUITE_ROOTFS "test-libkmod/weakdep/correct.txt", + }); + TESTSUITE_MAIN(); diff --git a/testsuite/test-weakdep.c b/testsuite/test-weakdep.c deleted file mode 100644 index 7d7d9bab..00000000 --- a/testsuite/test-weakdep.c +++ /dev/null @@ -1,73 +0,0 @@ -// SPDX-License-Identifier: LGPL-2.1-or-later -/* - * Copyright Red Hat - */ - -#include -#include -#include -#include -#include -#include - -#include - -#include "testsuite.h" - -static int test_weakdep(void) -{ - static const char *const mod_name[] = { - "mod-loop-b", - "mod-weakdep", - }; - struct kmod_ctx *ctx; - int err; - - ctx = kmod_new(NULL, NULL); - TS_ASSERT(ctx != NULL); - - for (size_t i = 0; i < ARRAY_SIZE(mod_name); i++) { - struct kmod_list *list = NULL; - struct kmod_module *mod = NULL; - struct kmod_list *mod_list = NULL; - struct kmod_list *itr = NULL; - - printf("%s:", mod_name[i]); - err = kmod_module_new_from_lookup(ctx, mod_name[i], &list); - TS_ASSERT(list != NULL && err == 0); - - mod = kmod_module_get_module(list); - - err = kmod_module_get_weakdeps(mod, &mod_list); - TS_ASSERT(err == 0); - - kmod_list_foreach(itr, mod_list) { - struct kmod_module *weakdep_mod = kmod_module_get_module(itr); - const char *weakdep_name = kmod_module_get_name(weakdep_mod); - - printf(" %s", weakdep_name); - kmod_module_unref(weakdep_mod); - } - printf("\n"); - - kmod_module_unref_list(mod_list); - kmod_module_unref(mod); - kmod_module_unref_list(list); - } - - kmod_unref(ctx); - - return 0; -} -DEFINE_TEST(test_weakdep, - .description = "check if libkmod breaks weakdep", - .config = { - [TC_UNAME_R] = "4.4.4", - [TC_ROOTFS] = TESTSUITE_ROOTFS "test-weakdep", - [TC_INIT_MODULE_RETCODES] = "", - }, - .output = { - .out = TESTSUITE_ROOTFS "test-weakdep/correct-weakdep.txt", - }); - -TESTSUITE_MAIN();