{
g_autoptr(virCommand) cmd = NULL;
- cmd = virCommandNew(MODPROBE);
- if (opts)
- virCommandAddArg(cmd, opts);
+ cmd = virCommandNewArgList(MODPROBE, opts, NULL);
if (module)
virCommandAddArg(cmd, module);
if (outbuf)
/**
* virKModLoad:
* @module: Name of the module to load
- * @useBlacklist: True if honoring blacklist
*
* Attempts to load a kernel module
*
* by the caller
*/
char *
-virKModLoad(const char *module, bool useBlacklist)
+virKModLoad(const char *module)
{
char *errbuf = NULL;
- if (doModprobe(useBlacklist ? "-b" : NULL, module, NULL, &errbuf) < 0)
+ if (doModprobe("-b", module, NULL, &errbuf) < 0)
return errbuf;
VIR_FREE(errbuf);
# include "virkmod.h"
# include "virstring.h"
-struct testInfo {
- const char *module;
- const char *exp_cmd;
- bool useBlacklist;
-};
+# define MODNAME "vfio-pci"
# define VIR_FROM_THIS VIR_FROM_NONE
static int
-testKModLoad(const void *args)
+testKModLoad(const void *args G_GNUC_UNUSED)
{
int ret = -1;
char *errbuf = NULL;
- const struct testInfo *info = args;
- const char *module = info->module;
- bool useBlacklist = info->useBlacklist;
virBuffer buf = VIR_BUFFER_INITIALIZER;
virCommandSetDryRun(&buf, NULL, NULL);
- errbuf = virKModLoad(module, useBlacklist);
+ errbuf = virKModLoad(MODNAME);
if (errbuf) {
fprintf(stderr, "Failed to load, error: %s\n", errbuf);
goto cleanup;
}
- if (checkOutput(&buf, info->exp_cmd) < 0)
+ if (checkOutput(&buf, MODPROBE " -b " MODNAME "\n") < 0)
goto cleanup;
ret = 0;
static int
-testKModUnload(const void *args)
+testKModUnload(const void *args G_GNUC_UNUSED)
{
int ret = -1;
char *errbuf = NULL;
- const struct testInfo *info = args;
- const char *module = info->module;
virBuffer buf = VIR_BUFFER_INITIALIZER;
virCommandSetDryRun(&buf, NULL, NULL);
- errbuf = virKModUnload(module);
+ errbuf = virKModUnload(MODNAME);
if (errbuf) {
fprintf(stderr, "Failed to unload, error: %s\n", errbuf);
goto cleanup;
}
- if (checkOutput(&buf, info->exp_cmd) < 0)
+ if (checkOutput(&buf, RMMOD " " MODNAME "\n") < 0)
goto cleanup;
ret = 0;
if (virTestRun("config", testKModConfig, NULL) < 0)
ret = -1;
-
- /* Although we cannot run the command on the host, we can compare
- * the output of the created command against what we'd expect to be
- * created. So let's at least do that.
- */
-# define DO_TEST(_name, _cb, _blkflag, _exp_cmd) \
- do { \
- struct testInfo data = {.module = "vfio-pci", \
- .exp_cmd = _exp_cmd, \
- .useBlacklist = _blkflag}; \
- if (virTestRun(_name, _cb, &data) < 0) \
- ret = -1; \
- } while (0)
-
- DO_TEST("load", testKModLoad, false, MODPROBE " vfio-pci\n");
- DO_TEST("unload", testKModUnload, false, RMMOD " vfio-pci\n");
- DO_TEST("blklist", testKModLoad, true, MODPROBE " -b vfio-pci\n");
+ if (virTestRun("load", testKModLoad, NULL) < 0)
+ ret = -1;
+ if (virTestRun("unload", testKModUnload, NULL) < 0)
+ ret = -1;
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;