]>
git.ipfire.org Git - thirdparty/kmod.git/blob - testsuite/test-modinfo.c
2 * Copyright (C) 2012-2013 ProFUSION embedded systems
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
26 #include "testsuite.h"
28 static const char *progname
= ABS_TOP_BUILDDIR
"/tools/modinfo";
30 #define DEFINE_MODINFO_TEST(_field, ...) \
31 static noreturn int test_modinfo_##_field(const struct test *t) \
33 const char *const args[] = { \
34 progname, "-F", #_field ,\
38 test_spawn_prog(progname, args); \
41 DEFINE_TEST(test_modinfo_##_field, \
42 .description = "check " #_field " output of modinfo for different architectures", \
44 [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modinfo/", \
47 .out = TESTSUITE_ROOTFS "test-modinfo/correct-" #_field ".txt", \
50 #define DEFINE_MODINFO_GENERIC_TEST(_field) \
51 DEFINE_MODINFO_TEST(_field, \
52 "/mod-simple-i386.ko", \
53 "/mod-simple-x86_64.ko", \
54 "/mod-simple-sparc64.ko")
56 #define DEFINE_MODINFO_SIGN_TEST(_field) \
57 DEFINE_MODINFO_TEST(_field, \
58 "/mod-simple-sha1.ko", \
59 "/mod-simple-sha256.ko")
61 DEFINE_MODINFO_GENERIC_TEST(filename
);
62 DEFINE_MODINFO_GENERIC_TEST(author
);
63 DEFINE_MODINFO_GENERIC_TEST(license
);
64 DEFINE_MODINFO_GENERIC_TEST(description
);
65 DEFINE_MODINFO_GENERIC_TEST(parm
);
66 DEFINE_MODINFO_GENERIC_TEST(depends
);
68 DEFINE_MODINFO_SIGN_TEST(signer
);
69 DEFINE_MODINFO_SIGN_TEST(sig_key
);
70 DEFINE_MODINFO_SIGN_TEST(sig_hashalgo
);
73 static noreturn
int test_modinfo_signature(const struct test
*t
)
75 const char *const args
[] = {
80 test_spawn_prog(progname
, args
);
83 DEFINE_TEST(test_modinfo_signature
,
84 .description
= "check signatures are correct for modinfo is correct for i686, ppc64, s390x and x86_64",
86 [TC_ROOTFS
] = TESTSUITE_ROOTFS
"test-modinfo/",
89 .out
= TESTSUITE_ROOTFS
"test-modinfo/correct.txt",