]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
testsuite: remove exit from EXEC_TOOL tests
authorEmil Velikov <emil.l.velikov@gmail.com>
Fri, 13 Jun 2025 16:24:32 +0000 (17:24 +0100)
committerLucas De Marchi <lucas.de.marchi@gmail.com>
Mon, 16 Jun 2025 12:37:42 +0000 (07:37 -0500)
The EXEC_TOOL macros calls test_spawn_prog() which returns EXIT_FAILURE
in the unlikely case of a return from execv().

Thus the explicit exit() is dead code that we can remove and alongside
it the noreturn notation of the respective tests.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/371
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
testsuite/test-depmod.c
testsuite/test-modinfo.c
testsuite/test-modprobe.c
testsuite/test-weakdep.c

index 9ac20d11d46ab90b98548982f5e37bc9eabb6be9..6df598b3534807148fff1c56418c6e28e489efe0 100644 (file)
 #define MODULES_UNAME "4.4.4"
 #define MODULES_ORDER_ROOTFS TESTSUITE_ROOTFS "test-depmod/modules-order-compressed"
 #define MODULES_ORDER_LIB_MODULES MODULES_ORDER_ROOTFS MODULE_DIRECTORY "/" MODULES_UNAME
-static noreturn int depmod_modules_order_for_compressed(void)
+static int depmod_modules_order_for_compressed(void)
 {
-       EXEC_TOOL(depmod);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod);
 }
 DEFINE_TEST(depmod_modules_order_for_compressed,
        .description = "check if depmod let aliases in right order when using compressed modules",
@@ -40,10 +39,9 @@ DEFINE_TEST(depmod_modules_order_for_compressed,
        MODULES_OUTDIR_ROOTFS "/outdir" MODULE_DIRECTORY "/" MODULES_UNAME
 #define MODULES_OUTDIR_LIB_MODULES_INPUT \
        MODULES_OUTDIR_ROOTFS MODULE_DIRECTORY "/" MODULES_UNAME
-static noreturn int depmod_modules_outdir(void)
+static int depmod_modules_outdir(void)
 {
-       EXEC_TOOL(depmod, "--outdir", "/outdir/");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod, "--outdir", "/outdir/");
 }
 DEFINE_TEST(depmod_modules_outdir,
        .description = "check if depmod honours the outdir option",
@@ -64,10 +62,9 @@ DEFINE_TEST(depmod_modules_outdir,
 #define SEARCH_ORDER_SIMPLE_ROOTFS TESTSUITE_ROOTFS "test-depmod/search-order-simple"
 #define SEARCH_ORDER_SIMPLE_LIB_MODULES \
        SEARCH_ORDER_SIMPLE_ROOTFS MODULE_DIRECTORY "/" MODULES_UNAME
-static noreturn int depmod_search_order_simple(void)
+static int depmod_search_order_simple(void)
 {
-       EXEC_TOOL(depmod);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod);
 }
 DEFINE_TEST(depmod_search_order_simple,
        .description = "check if depmod honor search order in config",
@@ -86,15 +83,13 @@ DEFINE_TEST(depmod_search_order_simple,
 #define ANOTHER_MODDIR "/foobar"
 #define RELATIVE_MODDIR "foobar2"
 #define MODULES_ANOTHER_MODDIR_ROOTFS TESTSUITE_ROOTFS "test-depmod/another-moddir"
-static noreturn int depmod_another_moddir(void)
+static int depmod_another_moddir(void)
 {
-       EXEC_TOOL(depmod, "-m", ANOTHER_MODDIR);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod, "-m", ANOTHER_MODDIR);
 }
-static noreturn int depmod_another_moddir_relative(void)
+static int depmod_another_moddir_relative(void)
 {
-       EXEC_TOOL(depmod, "-m", RELATIVE_MODDIR);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod, "-m", RELATIVE_MODDIR);
 }
 DEFINE_TEST(depmod_another_moddir,
        .description = "check depmod -m flag",
@@ -127,10 +122,9 @@ DEFINE_TEST(depmod_another_moddir_relative,
        TESTSUITE_ROOTFS "test-depmod/search-order-same-prefix"
 #define SEARCH_ORDER_SAME_PREFIX_LIB_MODULES \
        SEARCH_ORDER_SAME_PREFIX_ROOTFS MODULE_DIRECTORY "/" MODULES_UNAME
-static noreturn int depmod_search_order_same_prefix(void)
+static int depmod_search_order_same_prefix(void)
 {
-       EXEC_TOOL(depmod);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod);
 }
 DEFINE_TEST(depmod_search_order_same_prefix,
        .description = "check if depmod honor search order in config with same prefix",
@@ -147,10 +141,9 @@ DEFINE_TEST(depmod_search_order_same_prefix,
        });
 
 #define DETECT_LOOP_ROOTFS TESTSUITE_ROOTFS "test-depmod/detect-loop"
-static noreturn int depmod_detect_loop(void)
+static int depmod_detect_loop(void)
 {
-       EXEC_TOOL(depmod);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod);
 }
 DEFINE_TEST(depmod_detect_loop,
        .description = "check if depmod detects module loops correctly",
@@ -167,10 +160,9 @@ DEFINE_TEST(depmod_detect_loop,
        TESTSUITE_ROOTFS "test-depmod/search-order-external-first"
 #define SEARCH_ORDER_EXTERNAL_FIRST_LIB_MODULES \
        SEARCH_ORDER_EXTERNAL_FIRST_ROOTFS MODULE_DIRECTORY "/" MODULES_UNAME
-static noreturn int depmod_search_order_external_first(void)
+static int depmod_search_order_external_first(void)
 {
-       EXEC_TOOL(depmod);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod);
 }
 DEFINE_TEST(depmod_search_order_external_first,
        .description = "check if depmod honor external keyword with higher priority",
@@ -190,10 +182,9 @@ DEFINE_TEST(depmod_search_order_external_first,
        TESTSUITE_ROOTFS "test-depmod/search-order-external-last"
 #define SEARCH_ORDER_EXTERNAL_LAST_LIB_MODULES \
        SEARCH_ORDER_EXTERNAL_LAST_ROOTFS MODULE_DIRECTORY "/" MODULES_UNAME
-static noreturn int depmod_search_order_external_last(void)
+static int depmod_search_order_external_last(void)
 {
-       EXEC_TOOL(depmod);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod);
 }
 DEFINE_TEST(depmod_search_order_external_last,
        .description = "check if depmod honor external keyword with lower priority",
@@ -212,10 +203,9 @@ DEFINE_TEST(depmod_search_order_external_last,
 #define SEARCH_ORDER_OVERRIDE_ROOTFS TESTSUITE_ROOTFS "test-depmod/search-order-override"
 #define SEARCH_ORDER_OVERRIDE_LIB_MODULES \
        SEARCH_ORDER_OVERRIDE_ROOTFS MODULE_DIRECTORY "/" MODULES_UNAME
-static noreturn int depmod_search_order_override(void)
+static int depmod_search_order_override(void)
 {
-       EXEC_TOOL(depmod);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod);
 }
 DEFINE_TEST(depmod_search_order_override,
        .description = "check if depmod honor override keyword",
@@ -233,10 +223,9 @@ DEFINE_TEST(depmod_search_order_override,
 
 #define CHECK_WEAKDEP_ROOTFS TESTSUITE_ROOTFS "test-depmod/check-weakdep"
 #define CHECK_WEAKDEP_LIB_MODULES CHECK_WEAKDEP_ROOTFS MODULE_DIRECTORY "/" MODULES_UNAME
-static noreturn int depmod_check_weakdep(void)
+static int depmod_check_weakdep(void)
 {
-       EXEC_TOOL(depmod);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(depmod);
 }
 DEFINE_TEST(depmod_check_weakdep,
        .description = "check weakdep output",
index 9bb9a485151de36bfa5e8bc4cdf329ba69bc04f6..dc6644bafdbd6eaf991243cd30569ba63937133d 100644 (file)
 
 #include "testsuite.h"
 
-#define DEFINE_MODINFO_TEST(_field, _flavor, ...)               \
-       static noreturn int test_modinfo_##_field(void)         \
-       {                                                       \
-               EXEC_TOOL(modinfo, "-F", #_field, __VA_ARGS__); \
-               exit(EXIT_FAILURE);                             \
-       }                                                       \
+#define DEFINE_MODINFO_TEST(_field, _flavor, ...)                      \
+       static int test_modinfo_##_field(void)                         \
+       {                                                              \
+               return EXEC_TOOL(modinfo, "-F", #_field, __VA_ARGS__); \
+       }                                                              \
        DEFINE_TEST(test_modinfo_##_field, \
        .description = "check " #_field " output of modinfo for different architectures", \
        .config = { \
@@ -53,10 +52,9 @@ DEFINE_MODINFO_SIGN_TEST(sig_key);
 DEFINE_MODINFO_SIGN_TEST(sig_hashalgo);
 
 #if 0
-static noreturn int test_modinfo_signature(void)
+static int test_modinfo_signature(void)
 {
-       EXEC_TOOL(modinfo);
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modinfo);
 }
 DEFINE_TEST(test_modinfo_signature,
        .description = "check signatures are correct for modinfo is correct for i686, ppc64, s390x and x86_64",
@@ -68,10 +66,9 @@ DEFINE_TEST(test_modinfo_signature,
        });
 #endif
 
-static noreturn int test_modinfo_external(void)
+static int test_modinfo_external(void)
 {
-       EXEC_TOOL(modinfo, "-F", "filename", "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modinfo, "-F", "filename", "mod-simple");
 }
 DEFINE_TEST(test_modinfo_external,
        .description = "check if modinfo finds external module",
@@ -83,10 +80,9 @@ DEFINE_TEST(test_modinfo_external,
                .out = TESTSUITE_ROOTFS "test-modinfo/correct-external.txt",
        });
 
-static noreturn int test_modinfo_builtin(void)
+static int test_modinfo_builtin(void)
 {
-       EXEC_TOOL(modinfo, "intel_uncore");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modinfo, "intel_uncore");
 }
 DEFINE_TEST(test_modinfo_builtin,
        .description = "check if modinfo finds builtin module",
index 5d7764a8ea3d7e012441fd7250cc212b1bbe75e3..92b1dc50433da728404d8f8d095ad7e0493ac958 100644 (file)
 
 #include "testsuite.h"
 
-static noreturn int modprobe_show_depends(void)
+static int modprobe_show_depends(void)
 {
-       EXEC_TOOL(modprobe, "--show-depends", "mod-loop-a");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--show-depends", "mod-loop-a");
 }
 DEFINE_TEST(modprobe_show_depends,
        .description = "check if output for modprobe --show-depends is correct for loaded modules",
@@ -28,10 +27,9 @@ DEFINE_TEST(modprobe_show_depends,
                .out = TESTSUITE_ROOTFS "test-modprobe/show-depends/correct.txt",
        });
 
-static noreturn int modprobe_show_depends2(void)
+static int modprobe_show_depends2(void)
 {
-       EXEC_TOOL(modprobe, "--show-depends", "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--show-depends", "mod-simple");
 }
 DEFINE_TEST(modprobe_show_depends2,
        .description = "check if output for modprobe --show-depends is correct",
@@ -51,10 +49,9 @@ DEFINE_TEST_WITH_FUNC(modprobe_show_depends_no_load, modprobe_show_depends2,
        .modules_loaded = "",
        );
 
-static noreturn int modprobe_show_alias_to_none(void)
+static int modprobe_show_alias_to_none(void)
 {
-       EXEC_TOOL(modprobe, "--show-depends", "--ignore-install", "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--show-depends", "--ignore-install", "mod-simple");
 }
 DEFINE_TEST(modprobe_show_alias_to_none,
        .description = "check if modprobe --show-depends doesn't explode with an alias to nothing",
@@ -68,10 +65,9 @@ DEFINE_TEST(modprobe_show_alias_to_none,
        .modules_loaded = "",
        );
 
-static noreturn int modprobe_show_exports(void)
+static int modprobe_show_exports(void)
 {
-       EXEC_TOOL(modprobe, "--show-exports", "/mod-loop-a.ko");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--show-exports", "/mod-loop-a.ko");
 }
 DEFINE_TEST(modprobe_show_exports,
        .description = "check if modprobe --show-depends doesn't explode with an alias to nothing",
@@ -83,10 +79,9 @@ DEFINE_TEST(modprobe_show_exports,
                .regex = true,
        });
 
-static noreturn int modprobe_show_exports_module(void)
+static int modprobe_show_exports_module(void)
 {
-       EXEC_TOOL(modprobe, "--show-exports", "mod-loop-b");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--show-exports", "mod-loop-b");
 }
 DEFINE_TEST(modprobe_show_exports_module,
        .description = "check if modprobe --show-depends also works with module names",
@@ -99,10 +94,9 @@ DEFINE_TEST(modprobe_show_exports_module,
                .regex = true,
        });
 
-static noreturn int modprobe_builtin(void)
+static int modprobe_builtin(void)
 {
-       EXEC_TOOL(modprobe, "unix");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "unix");
 }
 DEFINE_TEST(modprobe_builtin, .description = "check if modprobe return 0 for builtin",
            .config = {
@@ -110,10 +104,9 @@ DEFINE_TEST(modprobe_builtin, .description = "check if modprobe return 0 for bui
                    [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/builtin",
            });
 
-static noreturn int modprobe_builtin_lookup_only(void)
+static int modprobe_builtin_lookup_only(void)
 {
-       EXEC_TOOL(modprobe, "-R", "unix");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "-R", "unix");
 }
 DEFINE_TEST(modprobe_builtin_lookup_only,
        .description = "check if modprobe -R correctly returns the builtin module",
@@ -125,10 +118,9 @@ DEFINE_TEST(modprobe_builtin_lookup_only,
                .out = TESTSUITE_ROOTFS "test-modprobe/builtin/correct.txt",
        });
 
-static noreturn int modprobe_softdep_loop(void)
+static int modprobe_softdep_loop(void)
 {
-       EXEC_TOOL(modprobe, "mod-loop-b");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "mod-loop-b");
 }
 DEFINE_TEST(modprobe_softdep_loop,
        .description = "check if modprobe breaks softdep loop",
@@ -140,10 +132,9 @@ DEFINE_TEST(modprobe_softdep_loop,
        .modules_loaded = "mod-loop-a,mod-loop-b",
        );
 
-static noreturn int modprobe_weakdep_loop(void)
+static int modprobe_weakdep_loop(void)
 {
-       EXEC_TOOL(modprobe, "mod-loop-b");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "mod-loop-b");
 }
 DEFINE_TEST(modprobe_weakdep_loop,
        .description = "check if modprobe breaks weakdep loop",
@@ -156,10 +147,9 @@ DEFINE_TEST(modprobe_weakdep_loop,
        .modules_not_loaded = "mod-loop-a,mod-simple-c",
        );
 
-static noreturn int modprobe_install_cmd_loop(void)
+static int modprobe_install_cmd_loop(void)
 {
-       EXEC_TOOL(modprobe, "mod-loop-a");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "mod-loop-a");
 }
 DEFINE_TEST(modprobe_install_cmd_loop,
        .description = "check if modprobe breaks install-commands loop",
@@ -175,10 +165,9 @@ DEFINE_TEST(modprobe_install_cmd_loop,
        .modules_loaded = "mod-loop-b,mod-loop-a",
        );
 
-static noreturn int modprobe_param_kcmdline_show_deps(void)
+static int modprobe_param_kcmdline_show_deps(void)
 {
-       EXEC_TOOL(modprobe, "--show-depends", "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--show-depends", "mod-simple");
 }
 DEFINE_TEST(modprobe_param_kcmdline_show_deps,
        .description = "check if params from kcmdline are passed to (f)init_module call",
@@ -190,10 +179,9 @@ DEFINE_TEST(modprobe_param_kcmdline_show_deps,
                .out = TESTSUITE_ROOTFS "test-modprobe/module-param-kcmdline/correct.txt",
        });
 
-static noreturn int modprobe_param_kcmdline(void)
+static int modprobe_param_kcmdline(void)
 {
-       EXEC_TOOL(modprobe, "-c");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "-c");
 }
 DEFINE_TEST_WITH_FUNC(modprobe_param_kcmdline2, modprobe_param_kcmdline,
        .description = "check if params with no value are parsed correctly from kcmdline",
@@ -277,10 +265,9 @@ DEFINE_TEST_WITH_FUNC(modprobe_param_kcmdline9, modprobe_param_kcmdline,
                .out = TESTSUITE_ROOTFS "test-modprobe/module-param-kcmdline9/correct.txt",
        });
 
-static noreturn int modprobe_force(void)
+static int modprobe_force(void)
 {
-       EXEC_TOOL(modprobe, "--force", "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--force", "mod-simple");
 }
 DEFINE_TEST(modprobe_force,
        .description = "check modprobe --force",
@@ -292,10 +279,9 @@ DEFINE_TEST(modprobe_force,
        .modules_loaded = "mod-simple",
        );
 
-static noreturn int modprobe_force_modversion(void)
+static int modprobe_force_modversion(void)
 {
-       EXEC_TOOL(modprobe, "--force-modversion", "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--force-modversion", "mod-simple");
 }
 DEFINE_TEST(modprobe_force_modversion,
        .description = "check modprobe --force-modversion",
@@ -307,10 +293,9 @@ DEFINE_TEST(modprobe_force_modversion,
        .modules_loaded = "mod-simple",
        );
 
-static noreturn int modprobe_force_vermagic(void)
+static int modprobe_force_vermagic(void)
 {
-       EXEC_TOOL(modprobe, "--force-vermagic", "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--force-vermagic", "mod-simple");
 }
 DEFINE_TEST(modprobe_force_vermagic,
        .description = "check modprobe --force-vermagic",
@@ -322,10 +307,9 @@ DEFINE_TEST(modprobe_force_vermagic,
        .modules_loaded = "mod-simple",
        );
 
-static noreturn int modprobe_oldkernel(void)
+static int modprobe_oldkernel(void)
 {
-       EXEC_TOOL(modprobe, "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "mod-simple");
 }
 DEFINE_TEST(modprobe_oldkernel,
        .description = "check modprobe with kernel without finit_module()",
@@ -337,10 +321,9 @@ DEFINE_TEST(modprobe_oldkernel,
        .modules_loaded = "mod-simple",
        );
 
-static noreturn int modprobe_oldkernel_force(void)
+static int modprobe_oldkernel_force(void)
 {
-       EXEC_TOOL(modprobe, "--force", "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--force", "mod-simple");
 }
 DEFINE_TEST(modprobe_oldkernel_force,
        .description = "check modprobe --force with kernel without finit_module()",
@@ -352,10 +335,9 @@ DEFINE_TEST(modprobe_oldkernel_force,
        .modules_loaded = "mod-simple",
        );
 
-static noreturn int modprobe_oldkernel_force_modversion(void)
+static int modprobe_oldkernel_force_modversion(void)
 {
-       EXEC_TOOL(modprobe, "--force-modversion", "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--force-modversion", "mod-simple");
 }
 DEFINE_TEST(modprobe_oldkernel_force_modversion,
        .description = "check modprobe --force-modversion with kernel without finit_module()",
@@ -367,10 +349,9 @@ DEFINE_TEST(modprobe_oldkernel_force_modversion,
        .modules_loaded = "mod-simple",
        );
 
-static noreturn int modprobe_oldkernel_force_vermagic(void)
+static int modprobe_oldkernel_force_vermagic(void)
 {
-       EXEC_TOOL(modprobe, "--force-vermagic", "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "--force-vermagic", "mod-simple");
 }
 DEFINE_TEST(modprobe_oldkernel_force_vermagic,
        .description = "check modprobe --force-vermagic with kernel without finit_module()",
@@ -382,10 +363,9 @@ DEFINE_TEST(modprobe_oldkernel_force_vermagic,
        .modules_loaded = "mod-simple",
        );
 
-static noreturn int modprobe_external(void)
+static int modprobe_external(void)
 {
-       EXEC_TOOL(modprobe, "mod-simple");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "mod-simple");
 }
 DEFINE_TEST(modprobe_external,
        .description = "check modprobe able to load external module",
@@ -397,10 +377,9 @@ DEFINE_TEST(modprobe_external,
        .modules_loaded = "mod-simple",
        );
 
-static noreturn int modprobe_module_from_abspath(void)
+static int modprobe_module_from_abspath(void)
 {
-       EXEC_TOOL(modprobe, "/home/foo/mod-simple.ko");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "/home/foo/mod-simple.ko");
 }
 DEFINE_TEST(modprobe_module_from_abspath,
        .description = "check modprobe able to load module given as an absolute path",
@@ -412,15 +391,13 @@ DEFINE_TEST(modprobe_module_from_abspath,
        .modules_loaded = "mod-simple",
        );
 
-static noreturn int modprobe_module_from_relpath(void)
+static int modprobe_module_from_relpath(void)
 {
        if (chdir("/home/foo") != 0) {
                perror("failed to change into /home/foo");
-               exit(EXIT_FAILURE);
        }
 
-       EXEC_TOOL(modprobe, "./mod-simple.ko");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "./mod-simple.ko");
 }
 DEFINE_TEST(modprobe_module_from_relpath,
        .description = "check modprobe able to load module given as a relative path",
index c7c034d59576d95cb1fbbfc1b80065b2459a0ed5..26a9624b35c31ab1e31dfd4c7e42bc7f5eea7a7a 100644 (file)
@@ -79,10 +79,9 @@ DEFINE_TEST(test_weakdep,
                .out = TESTSUITE_ROOTFS "test-weakdep/correct-weakdep.txt",
        });
 
-static noreturn int modprobe_config(void)
+static int modprobe_config(void)
 {
-       EXEC_TOOL(modprobe, "-c");
-       exit(EXIT_FAILURE);
+       return EXEC_TOOL(modprobe, "-c");
 }
 DEFINE_TEST(modprobe_config,
        .description = "check modprobe config parsing with weakdep",